NGINX压力测试

小编 2026-07-11 阅读:1795 评论:0
 目录1    硬件配置    31.1    型号    31.2    CPU    31....

 

1    硬件配置    3

1.1    型号    3

1.2    CPU    3

1.3    内存    3

2    软件环境    3

2.1    操作系统    3

2.2    服务版本    3

2.3    测试软件    3

3    并发测试    3

3.1    1000并发    4

3.2    2000并发    5

3.3    3000并发    6

4    测试总结    8

4.1    数据汇总    8

4.2    数据分析    8

 

  1. 硬件配置

  1. 型号

    # dmidecode | grep "Product Name"

    Product Name: VMware Virtual Platform

    Product Name: 440BX Desktop Reference Platform

  2. CPU

    # cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq

    Intel(R) Xeon(R) CPU E5-2660 v4 @ 2.00GHz

  3. 内存

    # dmidecode|grep -P -A5 "Memorys+Device" | grep Size |grep -v Range | cat -n

    1        Size: 16384 MB

    2        Size: 4096 MB

    1. 软件环境

  4. 操作系统

    # cat /etc/redhat-release

    CentOS Linux release 7.2.1511 (Core)

  5. 服务版本

    # /usr/local/openresty/nginx/sbin/nginx -v

    nginx version: openresty/1.11.2.4

  6. 测试软件

    # ab -V

    This is ApacheBench, Version 2.3 <$Revision: 1430300 $>

    1. 并发测试

    说明:测试基于Linux系统。

  7. 1000并发

    测试1000并发,处理10000请求:

           # ab -c 1000 -n 10000 http://10.27.88.50/index.html

    NGINX压力测试NGINX压力测试
    Benchmarking 10.27.88.50 (be patient)Completed 1000 requestsCompleted 2000 requestsCompleted 3000 requestsCompleted 4000 requestsCompleted 5000 requestsCompleted 6000 requestsCompleted 7000 requestsCompleted 8000 requestsCompleted 9000 requestsCompleted 10000 requestsFinished 10000 requests  Server Software: openresty/1.11.2.4Server Hostname: 10.27.88.50Server Port: 80 Document Path: /index.htmlDocument Length: 612 bytes Concurrency Level: 1000Time taken for tests: 0.874 secondsComplete requests: 10000Failed requests: 0Write errors: 0Total transferred: 8510000 bytesHTML transferred: 6120000 bytesRequests per second: 11437.38 [#/sec] (mean)Time per request: 87.433 [ms] (mean)Time per request: 0.087 [ms] (mean, across all concurrent requests)Transfer rate: 9505.09 [Kbytes/sec] received Connection Times (ms)min mean[+/-sd] median maxConnect: 0 2 5.9 0 27Processing: 4 12 27.8 7 801Waiting: 0 11 27.7 7 801Total: 5 14 29.9 7 807 Percentage of the requests served within a certain time (ms)50% 766% 875% 880% 890% 3895% 5998% 6199% 62100% 807 (longest request)
    View Code
  8. 2000并发

    测试2000并发,处理50000请求:

           # ab -c 2000 -n 50000 http://10.27.88.50/index.html

    NGINX压力测试NGINX压力测试
    Benchmarking 10.27.88.50 (be patient)Completed 5000 requestsCompleted 10000 requestsCompleted 15000 requestsCompleted 20000 requestsCompleted 25000 requestsCompleted 30000 requestsCompleted 35000 requestsCompleted 40000 requestsCompleted 45000 requestsCompleted 50000 requestsFinished 50000 requests  Server Software: openresty/1.11.2.4Server Hostname: 10.27.88.50Server Port: 80 Document Path: /index.htmlDocument Length: 612 bytes Concurrency Level: 2000Time taken for tests: 2.689 secondsComplete requests: 50000Failed requests: 1(Connect: 0, Receive: 0, Length: 1, Exceptions: 0)Write errors: 0Non-2xx responses: 1Total transferred: 42549516 bytesHTML transferred: 30599587 bytesRequests per second: 18593.35 [#/sec] (mean)Time per request: 107.565 [ms] (mean)Time per request: 0.054 [ms] (mean, across all concurrent requests)Transfer rate: 15451.92 [Kbytes/sec] received Connection Times (ms)min mean[+/-sd] median maxConnect: 0 20 137.3 0 1004Processing: 1 18 121.7 4 1605Waiting: 0 18 121.7 4 1605Total: 2 38 236.7 5 2608 Percentage of the requests served within a certain time (ms)50% 566% 575% 580% 590% 895% 898% 40499% 1406100% 2608 (longest request)
    View Code
  9. 3000并发

    测试3000并发,处理100000请求:

    # ab -c 3000 -n 100000 http://10.27.88.50/index.html

    NGINX压力测试NGINX压力测试
    Benchmarking 10.27.88.50 (be patient)Completed 10000 requestsCompleted 20000 requestsCompleted 30000 requestsCompleted 40000 requestsCompleted 50000 requestsCompleted 60000 requestsCompleted 70000 requestsCompleted 80000 requestsCompleted 90000 requestsCompleted 100000 requestsFinished 100000 requests  Server Software: openresty/1.11.2.4Server Hostname: 10.27.88.50Server Port: 80 Document Path: /index.htmlDocument Length: 612 bytes Concurrency Level: 3000Time taken for tests: 5.065 secondsComplete requests: 100000Failed requests: 2(Connect: 0, Receive: 0, Length: 2, Exceptions: 0)Write errors: 0Non-2xx responses: 2Total transferred: 85099032 bytesHTML transferred: 61199174 bytesRequests per second: 19744.76 [#/sec] (mean)Time per request: 151.939 [ms] (mean)Time per request: 0.051 [ms] (mean, across all concurrent requests)Transfer rate: 16408.79 [Kbytes/sec] received Connection Times (ms)min mean[+/-sd] median maxConnect: 0 55 329.4 0 3008Processing: 2 25 185.9 4 3224Waiting: 1 25 185.9 4 3224Total: 3 81 433.0 4 4223 Percentage of the requests served within a certain time (ms)50% 466% 475% 680% 690% 2595% 11698% 120699% 3011100% 4223 (longest request)
    View Code
    1. 测试总结

  10. 数据汇总

    请求连接数

    并发数

    请求失败数

    每秒处理请求数

    一次并发数请求响应时间(ms)

    全体请求完成时间(s)

    请求成功率

    10000

    1000

    11437

    87.43

    0.874

    100.00%

    50000

    2000

    1

    18593

    107.57

    2.689

    99.998%

    100000

    3000

    2

    19744

    151.94

    5.065

    99.998%

     

  11. 数据分析    

    通过测试结果可得如下分析:

    1.Nginx的每秒请求处理能力是10000+,满足需求标准;

    2.随着并发数的增大,一次并发请求的响应时间相应增大,满足需求标准;

    3.随着请求连接数的增加,相应的总体请求完成时间也增加,当请求连接数从50k增加至100k时,总体请求时间增加至2倍,具有一定的稳定性和速度性,满足需求标准;

    4.当请求连接数和并发数依次递增时,出现偶尔的请求失败数,全部请求成功率大于99.99%,满足需求标准;

    5.单台服务器支持3000并发正常,满足需求标准。

          

     

-------------------------------------------------------------

作者:罗穆瑞
出处:http://www.cnblogs.com/kazihuo/

转载请保留此段声明,且在文章页面明显位置给出原文链接,谢谢!

------------------------------------------------------------------------------

如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

------------------------------------------------------------------------------

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
标签列表