Skip to content

Latest commit

 

History

History
89 lines (42 loc) · 1.94 KB

性能测试分析.md

File metadata and controls

89 lines (42 loc) · 1.94 KB

性能测试分析

测试机环境

  • OS: Unbuntu 18.04 (虚拟机,宿主机为Win10)

  • 宿主机硬件:

    1. CPU: i5-6500T
    2. 内存: 8GB
  • 虚拟机分配资源

    1. CPU资源: 4核
    2. 内存: 4GB

测试工具

测试用例

case-01

  • 关闭系统所有调试信息以及输出,4 个工作线程并以守护进程运行(./webserver -d -t 4 -p 8080)

  • 页面大小: 575 bytes/page

  • wenbench设置: 1000客户端、连接60s、短连接

  • 空闲时线程CPU占用情况:

测试结果:

QPS: 37665 传输速度: 24.5 MB/S

  • 测试结果:

4thread_1000client_60s

  • 测试时线程CPU占用:

case-02

  • 关闭系统所有调试信息以及输出,8 个工作线程并以守护进程运行(./webserver -d -t 8 -p 8080)

  • 页面大小: 575 bytes/page

  • wenbench设置: 1000客户端、连接60s、短连接

  • 空闲时8线程CPU占用情况:

测试结果:

QPS: 34263 传输速度: 22.5 MB/S

  • 测试结果:

8thread_1000client_60s

  • 测试时线程CPU占用:

分析

  • 我的给虚拟机配置的是四个核心,所以其实从结果可以看出开8个线程的反而比开四个线程的QPS略低,应该是线程之间切换开销增大造成的, 而四个线程正好匹配核心,性能达到最高。并且可以看到8线程CPU占用截图,其实同一时刻只有一半的线程处于运行状态(R),其它处于S(sleep), 所以线程个数的选择应该是与CPU核心相关的。