打算把服务器弄到阿里云上面来,进行测试的时候结果和预想的差很多:
在我们的机器上随便跑个7W socket(并发的),在阿里云上使用相同的优化方案和配置。结果云上只能跑到2W,就会出现大量的心跳超时,导致client关闭。
查看服务端DEBUG信息所有的socket都是正常中断,也就是说不是程序的问题。
上配置:
CPU | 内存 | 带宽 | |
阿里ECS | 4核 | 8G | 10M |
本地主机 | 4核 | 8G | 100M |
socket数量(概数) | CPU使用(四个核,百分比) | 内存消耗 | 带宽使用(峰值) | |
阿里ECS | 14911 | 10.2、4.3、4.3、4.3 | 784M | 上行:147.48KB/s,下行:204.49KB/s |
本地主机 | 63282 | 36.1、23.0、22.4、14.8 | 2887M | 上行:635.94KB/s,下行:842.92KB/s |
iostat -x -k
vmstat
CPU | 内存 | 带宽 | |
阿里ECS (server主机) | 2核 | 4G | 内网测试 这个没意义 |
socket数量 | CPU使用(n个核,百分比) | 内存消耗 | 内网带宽使用 | |
阿里ECS,client | 64029 | 18.5、10.0、3.0、6.2 | 1044M | 上行:913.33 KB/s,下行:427.29 KB/s |
阿里ECS,server | 64029 | 48.0、37.3 | 2867M | 上行:531.32 KB/s,下行:771.35 KB/s |
-------------------------
LZ,你可以用sysbench之类的工具测试一下系统各个部分的性能,包括CPU、IO、内存、网络,不过我估计相差最大的还是网络环境,即使是阿里云的ECS主机之间的内网通信开销,也可能要比你自己本地的内网开销大,毕竟咱们是不清楚阿里云内网的拓扑结构的
-------------------------
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。