UDP服务器并发测试
Concurrency test of UDP server
我需要写一个脚本来对 UDP 进行压力测试 server.It 需要模拟大约 5000 个在线用户和大约 400 个并发 users.I 在 Google 上找不到类似的功能, 所以我写了一个 UDP 客户端 myself.But 我在模拟多个 clients.The 解决方案时遇到了问题 我想出了:
每个客户端一个套接字
多线程多socket模拟客户端时如何标记在线用户和并发用户?
我把client封装成classes,在这个class__init__变量加一的方法是用来记录在线的users.I n 这样并发操作不能成功
用线程创建5000个套接字是否可行?这是最佳做法吗?表现不错?
其他方法?
还有什么我没有想到的方法吗?我走错路了吗?
有没有成熟的测试框架可以参考?
最后,英语不是我的母语。请原谅我的错别字或grammar.Thank您的阅读并期待您的回复。
有 Apache JMeter 个免费、开源和模块化的工具
有 UDP Request 采样器插件,它向 JMeter 添加了对 UDP 协议的支持,请参阅
“5000个在线用户和400个并发用户”的需求可以这样解释:真实用户不会敲打被测系统non-stop,他们需要一些时间来在操作之间“思考”,即阅读文本、键入响应、填写表格、接听 phone 电话等。因此您需要引入现实的 think times using JMeter Timers 以便您可以在以下情况下提出配置:
- 5000 位用户“在线”(连接到服务器)
- 4600 没有做任何事情,只是在“睡觉”
- 400 个正在积极发送请求
只要您的机器能够在 CPU、RAM、网络等 运行 的情况下执行此操作 - 它应该没问题,我个人会使用一些东西喜欢 greenlet
我需要写一个脚本来对 UDP 进行压力测试 server.It 需要模拟大约 5000 个在线用户和大约 400 个并发 users.I 在 Google 上找不到类似的功能, 所以我写了一个 UDP 客户端 myself.But 我在模拟多个 clients.The 解决方案时遇到了问题 我想出了:
每个客户端一个套接字
多线程多socket模拟客户端时如何标记在线用户和并发用户?
我把client封装成classes,在这个class__init__变量加一的方法是用来记录在线的users.I n 这样并发操作不能成功
用线程创建5000个套接字是否可行?这是最佳做法吗?表现不错?
其他方法?
还有什么我没有想到的方法吗?我走错路了吗?
有没有成熟的测试框架可以参考?
最后,英语不是我的母语。请原谅我的错别字或grammar.Thank您的阅读并期待您的回复。
有 Apache JMeter 个免费、开源和模块化的工具
有 UDP Request 采样器插件,它向 JMeter 添加了对 UDP 协议的支持,请参阅
“5000个在线用户和400个并发用户”的需求可以这样解释:真实用户不会敲打被测系统non-stop,他们需要一些时间来在操作之间“思考”,即阅读文本、键入响应、填写表格、接听 phone 电话等。因此您需要引入现实的 think times using JMeter Timers 以便您可以在以下情况下提出配置:
- 5000 位用户“在线”(连接到服务器)
- 4600 没有做任何事情,只是在“睡觉”
- 400 个正在积极发送请求
只要您的机器能够在 CPU、RAM、网络等 运行 的情况下执行此操作 - 它应该没问题,我个人会使用一些东西喜欢 greenlet