链接数还是上不去?

内核优化和ulimit都按照官方文档的设置了
 
php版本7.0和7.1都试过
event拓展也按照官方文档pecl安装和选项成功
压测链接数就是过不了2000,头好大啊
GateWay  gate 和bs  都是 设置4个进程
 
需要增大这个进程数量吗?
已邀请:

walkor

赞同来自:

并不是所有业务都支持高并发连接数,一般来说单台服务器能承受的qps是有极限的,带业务的服务单机一般很难超过10万qps,受限于网卡、带宽、cpu计算能力、业务代码质量、服务架构、客户端承受能力、业务类型等等原因。
 
就业务类型来讲:
 
假设你的业务是请求响应式的业务,服务器带业务qps极限2万。如果每个连接每秒请求100次,那么也就是最多支持200个连接;如果每个连接每10秒发出一个请求,那么你的服务器可以支撑20万连接。
 
假设你的业务是推送类的,一个人发言广播给其他人,按照服务器吞吐量6万消息/秒来算(已经需要百M带宽),每秒30人发言,最多支持2000人。但是如果每秒有6人发言,那么可以支持1万人在线。相比真实聊天室场景,后者更符合实际情况。
 
所以长连接压测时要考虑业务场景,根据实际业务场景去测试,否则压测出来的数据并没有什么实际意义。

walkor

赞同来自:

用workerman压测workerman的话,客户端服务器也需要安装event扩展,并根据workerman手册优化linux内核,否则客户端本身都无法支持发起大的并发连接。另外看下是否在业务里有广播数据的情况。

walkor

赞同来自:

压测过程中出现无法连接时,客户端 服务端都运行php start.php status 
ulimit -n
sysctl -a | grep nf_
都贴下。
另外试下直接在服务端压测,这样可以排除网络带宽瓶颈。
 

walkor

赞同来自:

还有客户端的

walkor

赞同来自:

在一台服务器上通过127.0.0.1压测本机试下

z54123321

赞同来自:

WsClient.png

我跑了几次,差不多都跑到内存耗尽,连接确实上了15000了

walkor

赞同来自:

那之前可能是遇到网络瓶颈了,比如走的外网带宽不够

要回复问题请先登录注册