公司项目采用php编写,而在websocket这一块一直使用的是workman,

由于产品升级,考虑到c端的用户将增多,所以对websocket服务的压力测试迫在眉睫,

闲话不表,在这里记录影响websocket并发数的几个问题:

1、服务器cpu和内存

测试服务器的配置:阿里云ecs 2核心4GB,的配置,根据网上说的一个连接大概20k换算,应该能在几十万,但是实际测试的时候发现cpu和内存最多没有超过30%,

2、电信网关

在这里非常重要的提出这个,因为在公司测试的时候发现连接数一直没超过8k,不管是换几台机器,只要是公司的局域网,总数加起来大致就是7-8k的样子。在用python脚本测试的时候,socket报错是10054和10060,这里需要注意的是,这里的10054或者10060并不一定是你的服务器,因为在这个链路上还有电信这个门神,他也是可以阻止你和你的服务器建立连接的。所以后来就让同事回家,各自用各自家里的网络,还有公司的网络来进行测试

在这里记录下,当采用workmand的时候大致会是在18k-23k的连接数,也就是说,这个时候基本还是跟客户端的网络又关系,

我们还是没有测出workman的极限,因为cpu和内存没有爆表

3、服务器的带宽

由于之前是测试服务器的带宽只有1M,后来升级到了10M,经过测试,连接数到了2w左右的时候,带宽是3.8M