并发量的瓶颈在哪里?

测试环境

  • helloworld.html 因为不占CPU,不读数据库,不占带宽
  • 被测试服务器:阿里云ecs 1核心CPU 4GB内存 centos 7.2
  • 测试笔记本:北京100M电信宽带+ 1核心4GB内存 centos7.4
  • 测试命令:wrk -t10 -d20s -c5000 网站URL,反复调整-c 连接数参数
  • 测试目标都是服务器.

结果是

  1. 笔记本执行命令最多3000request/秒,服务器执行命令最多19000request/秒
  2. 笔记本执行命令,提示socket connect error错误数远远大于服务器端执行命令的错误数
  3. 用top查看本地和服务器资源,cpu内存都没有占满.

请问

  1. 两者request/s有很大的差距,应该从哪些方面找出原因?
  2. socket connect error 来自于操作系统的连接数,但是我调整连接数后错误少了,连接的超时多了,总的request/s变小了.
阅读 3.6k
1 个回答

关于第一个问题:
服务器硬件配置肯定比测试笔记本的好呀,同样的1核心Cpu,服务器上用的可能是很好的cpu,你的笔记本可能是普通的cpu,网卡也类似。既然作为web服务器了,服务器linux系统肯定做了很多优化,比如网络连接等等,而你的笔记本呢?

第二个问题:
读文件io呀,你读取helloworld.html这个静态文件也需要花费时间呀。
带宽限制。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进