首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
如何正确 压测 swoole_websocket_server 性能
大家好, 如果用 swoole_websocket_server 做server,开发web IM。我该如何选型服务器配置 需求场景: 比如 有10w人在线,收发消息。 如何才能正确地做性能压测,用工具(有的话求推荐)或者其他方法(如自己写程序)的吗? 测试内容包括: 1、长连接数的极限 2、并发数的极限(同时收发消息) ps: 附上自己的思考。 关于内容1:我在想是不是只要fd数够就好了。 如果说Linux单个进程可以维持的连接数(fd)理论值是通过ulimit -n设置。 那么 最多设置极限,怎么计算,和什么有关,是内存消耗吗? 关于内容2: http请求可以用 ab压测qps,ab貌似不支持ws,那么有木有工具支持ws协议的,模拟并发如何测呢 希望大家给我点建议以及意见。万分感谢!
发布于9年前 · 9 次浏览 · 来自
提问
小
小明
大家好, 如果用 swoole_websocket_server 做server,开发web IM。我该如何选型服务器配置 需求场景: 比如 有10w人在线,收发消息。 如何才能正确地做性能压测,用工具(有的话求推荐)或者其他方法(如自己写程序)的吗? 测试内容包括: 1、长连接数的极限 2、并发数的极限(同时收发消息) ps: 附上自己的思考。 关于内容1:我在想是不是只要fd数够就好了。 如果说Linux单个进程可以维持的连接数(fd)理论值是通过ulimit -n设置。 那么 最多设置极限,怎么计算,和什么有关,是内存消耗吗? 关于内容2: http请求可以用 ab压测qps,ab貌似不支持ws,那么有木有工具支持ws协议的,模拟并发如何测呢 希望大家给我点建议以及意见。万分感谢!
赞
1
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
登录
后参与评论
评论
2017-05-17
N.E.K
目前没有命令行的WebSocket客户端,你可以编写JS,在Chrome浏览器中运行JS脚本创建大量WebSocket连接,然后for循环与WebSocket服务器通信,做压力测试。
赞
0
回复
2017-05-19
q
qingyang
感谢rango回复。 但是,你说的这种方案我试过。 chrome 浏览器连接数有限制的。 我尝试过,一个tab页 最多255个fd (超过这个数会报错) 多加一个tab 最多+1fd,同时关闭一个。 就再也连不上了。 服务端打印 类似这样: {{{ server#47881: handshake success with fd#256 client 256- closed server#47881: handshake success with fd#257 client 257- clos
赞
0
回复
2017-05-20
l
liuhe9
可能是Chrome的限制,那你可以使用PHP的WebSocket进行压力测试。参见 https://github.com/swoole/swoole-src/blob/master/examples/bench/run.php
赞
0
回复
2017-05-20
g
gujiji
[@rango ](/u/1) 好的。我试了 ,当使用 参数-f long_tcp 会报错 如下: {{{ 95981#1@ is lost 95981#2@ is lost 95981#3@ is lost 95981#4@ is lost 95984#1@ is lost 95984#2@ is lost PHP Warning: swoole_client::recv(): recv() failed. Error: Connection reset by peer [54] in /Users/xujiaju
赞
0
回复