1核2G 服务器能抗多少并发 ,2核4G 服务器能抗多少并发, 上网一直没找到合适的答案,局限于经济问题,一直到今天忍痛花了几百大洋临时买了几台服务器才得以实践。
- 压测工具 :ab工具
注意:
1、压测环境服务器性能要足够好,且带宽 >= 被测试服务器带宽
2、带宽和返回的数据关系:服务器带宽1M实际对应 1024KB / 8=128KB/S
3、使用php输出一串字符串,整个返回结果Size=1.1KB
<?php
$temp = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
$str = '';
for ($i = 0; $i < 28; $i++) {
$str .= $temp;
}
echo json_encode(['code' => 0, 'date' => date('Y-m-d H:i:s'), 'str' => $str]);
输出结果,
{"code":0,"date":"2020-11-11 14:54:27","str":"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"}
4.测试框架:原生php、laravel5.6、thinkphp5.0
测试结果
1和2G 1M服务器
框架 | QPS | CPU使用率 |
---|---|---|
原生php | 105 | 3% |
thinkphp5.0 | 105 | 70% |
laravel5.6 | 23 | 90% |
2和4G 4M服务器 (可能这台服务器我装了很多服务,测试结果不理想)
框架 | QPS | CPU使用率 |
---|---|---|
原生php | 600 | 3% |
thinkphp5.0 | 140 | 50% |
laravel5.6 | 27 | 90% |
2和8G 5M服务器
框架 | QPS | CPU使用率 |
---|---|---|
原生php | 650 | 3% |
thinkphp5.0 | 650 | 47% |
laravel5.6未开启opcache | 73 | 90% |
laravel5.6开启opcache | 737 | 20% |
压测过程截图
- 1核2G 1M服务器
原生php并发105左右。
thinkphp5.0框架
并发量106,CPU使用率到达70%,受限于带宽,可以达到更高的并发。
并发laravel5.6框架
并发量 20左右,并且服务器CPU使用率达到90%
- 2核4G 4M 服务器
原生php
并发600左右
tinkphp5.0框架
并发140,CPU使用率50%
laravel5.6框架
并发27,CPU90%
- 2核8G 5M 服务器
thinkphp5.0框架。未开启opcache
并发650左右,CPU 47%,带宽不够,无法使CPU使用率到达90%
laravel5.6框架。未开启opcache
并发73,CPU使用达到90%,CPU不够用
laravel5.6框架。开启opcache
并发737,CPU使用率20%,5M带宽不够用
总结:服务器并发性能大部分情况受限于带宽,在带宽足够大的情况下,如果CPU使用达到50% - 80%以上,需要拓展服务器内存。
以上为花两三小时的测试结果,测试方法并不科学,且能力有限,目的是对服务器的并发性能进行简单了解。如果发现测试结果有较大出入,欢迎提出,改日买服务器再测。