UDP服务器并发测试

Concurrency test of UDP server

我需要写一个脚本来对 UDP 进行压力测试 server.It 需要模拟大约 5000 个在线用户和大约 400 个并发 users.I 在 Google 上找不到类似的功能, 所以我写了一个 UDP 客户端 myself.But 我在模拟多个 clients.The 解决方案时遇到了问题 我想出了:

每个客户端一个套接字

  1. 多线程多socket模拟客户端时如何标记在线用户和并发用户?

    我把client封装成classes,在这个class__init__变量加一的方法是用来记录在线的users.I n 这样并发操作不能成功

  2. 用线程创建5000个套接字是否可行?这是最佳做法吗?表现不错?

其他方法?

还有什么我没有想到的方法吗?我走错路了吗?

有没有成熟的测试框架可以参考?

最后,英语不是我的母语。请原谅我的错别字或grammar.Thank您的阅读并期待您的回复。

  1. Apache JMeter 个免费、开源和模块化的工具

  2. UDP Request 采样器插件,它向 JMeter 添加了对 UDP 协议的支持,请参阅

  3. “5000个在线用户和400个并发用户”的需求可以这样解释:真实用户不会敲打被测系统non-stop,他们需要一些时间来在操作之间“思考”,即阅读文本、键入响应、填写表格、接听 phone 电话等。因此您需要引入现实的 think times using JMeter Timers 以便您可以在以下情况下提出配置:

    • 5000 位用户“在线”(连接到服务器)
    • 4600 没有做任何事情,只是在“睡觉”
    • 400 个正在积极发送请求
  4. 只要您的机器能够在 CPU、RAM、网络等 运行 的情况下执行此操作 - 它应该没问题,我个人会使用一些东西喜欢 greenlet