硬件配置

型号

# dmidecode | grep "Product Name"

Product Name: VMware Virtual Platform
Product Name: 440BX Desktop Reference Platform

CPU

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

 Intel(R) Xeon(R) CPU E5- v4 @ .00GHz

内存

# dmidecode|grep -P -A5 "Memory\s+Device" | grep Size |grep -v Range | cat -n

           Size:  MB
Size: MB

软件环境

操作系统

# cat /etc/redhat-release

CentOS Linux release 7.2. (Core)

服务版本

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

nginx version: openresty/1.11.2.4

测试软件

# ab -V

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

并发测试

说明:测试基于Linux系统。

1000并发

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

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

Benchmarking 10.27.88.50 (be patient)
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Finished requests Server Software: openresty/1.11.2.4
Server Hostname: 10.27.88.50
Server Port: Document Path: /index.html
Document Length: bytes
Concurrency Level:
Time taken for tests: 0.874 seconds
Complete requests:
Failed requests:
Write errors:
Total transferred: bytes
HTML transferred: bytes
Requests 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 max
Connect: 5.9
Processing: 27.8
Waiting: 27.7
Total: 29.9 Percentage of the requests served within a certain time (ms)
%
%
%
%
%
%
%
%
% (longest request)

2000并发

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

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

Benchmarking 10.27.88.50 (be patient)
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Finished requests Server Software: openresty/1.11.2.4
Server Hostname: 10.27.88.50
Server Port: Document Path: /index.html
Document Length: bytes Concurrency Level:
Time taken for tests: 2.689 seconds
Complete requests: Failed requests:
(Connect: , Receive: , Length: , Exceptions: ) Write errors:
Non-2xx responses:
Total transferred: bytes
HTML transferred: bytes
Requests 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 max Connect: 137.3
Processing: 121.7
Waiting: 121.7
Total: 236.7 Percentage of the requests served within a certain time (ms) %
%
%
%
%
%
%
%
% (longest request)

3000并发

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

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

Benchmarking 10.27.88.50 (be patient)

Completed  requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Completed requests
Finished requests Server Software: openresty/1.11.2.4
Server Hostname: 10.27.88.50
Server Port: Document Path: /index.html
Document Length: bytes Concurrency Level:
Time taken for tests: 5.065 seconds
Complete requests:
Failed requests: (Connect: , Receive: , Length: , Exceptions: ) Write errors:
Non-2xx responses:
Total transferred: bytes
HTML transferred: bytes
Requests 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 max Connect: 329.4
Processing: 185.9
Waiting: 185.9
Total: 433.0 Percentage of the requests served within a certain time (ms) %
%
%
%
%
%
%
%
% (longest request)

测试总结

数据汇总

请求连接数

并发数

请求失败数

每秒处理请求数

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

全体请求完成时间(s)

请求成功率

10000

1000

0

11437

87.43

0.874

100.00%

50000

2000

1

18593

107.57

2.689

99.998%

10000

3000

2

19744

151.94

5.065

99.998%

数据分析

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

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

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

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

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

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

NGINX压力测试的更多相关文章

  1. Nginx压力测试工具之WebBench

    Nginx压力测试工具之WebBench   在Apache中有自带的ab命令可以测试服务的压力,而nginx没有自带的命令,必须要采用第三方软件来测试,今天就简单介绍一下webbench对nginx ...

  2. nginx压力测试和并发预估

    一.Nginx并发预估 预估算法:{(?G)*1024-system}/请求大小 (?G):表示内存大小1024:表示内存容量标准进制system:表示系统和服务占用的额外内存和需要预留的内存请求大小 ...

  3. CentOS 6.7平台nginx压力测试(ab/webbench)

    压力测试工具一:webbench 1.安装 wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz tar zxvf w ...

  4. nginx压力测试webbench

    下载压力测试工具webbench wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz 安装依赖包 yum -y in ...

  5. nginx压力测试和优化配置

    115 yum -y install gcc automake autoconf libtool make 116 yum install ctags 117 mkdir -m 644 -p /usr ...

  6. Nginx压力测试问题

    [root@aa~]# This is ApacheBench, Version 2.3 <Revision:655654Revision:655654> Copyright 1996 A ...

  7. 自己开发的网站压力测试(阿里云1M带宽)

    背景 项目采用微服务架构设计,独立商城系统,博客系统,搜索系统,sso单点系统部署在docker环境下 商城系统(django) 博客系统(flask) 搜索系统(es+flask+restful) ...

  8. 记录一次自己对nginx+fastcgi(fpm)+mysql压力测试结果

    nginx + fastcgi(fpm) 压力测试: CentOS release 5.9 16核12G内存 静态页面: 并发1000,压测200秒,测试结果: 系统最大负载5.47 成功响应: 25 ...

  9. Nginx配置性能优化与压力测试webbench【转】

    这一篇我们来说Nginx配置性能优化与压力测试webbench. 基本的 (优化过的)配置 我们将修改的唯一文件是nginx.conf,其中包含Nginx不同模块的所有设置.你应该能够在服务器的/et ...

随机推荐

  1. CodeForces-731B

    如果当天有m支队伍,昨天选择了k个B方案,那么今天还需要买m-k个披萨,如果m-k是奇数,那就先买一种B,剩下的全部买A,如果是偶数,全部买A.如果中途出现只有0支队伍,然而昨天却买了一次B,那么直接 ...

  2. JavaScript的this和作用域

    本文主要讨论一下JS的作用域和this关键字.作用域,就是你的方法或者变量可访问的区域,是他们执行的上下文.如果你见过这样的代码: function someFunc() { var _this = ...

  3. 【BZOJ1834】 网络扩容

    Time Limit: 1000 ms   Memory Limit: 128 MB Description 给定一张有向图,每条边都有一个容量C和一个扩容费用W.这里扩容费用是指将容量扩大1所需的费 ...

  4. 一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](十)

    前言 朋友们, 大家好,我还是Rector,写ASP.NET MVC 5系列文章[一步一步创建ASP.NET MVC5程序Repository+Autofac+Automapper+SqlSugar] ...

  5. Storm+HBase实时实践

    1.HBase Increment计数器 hbase counter的原理: read+count+write,正好完成,就是讲key的value读出,若存在,则完成累加,再写入,若不存在,则按&qu ...

  6. 提升R代码运算效率的11个实用方法——并行、效率

    转载于36大数据,原文作者:Selva Prabhakaran  译者:fibears 众所周知,当我们利用R语言处理大型数据集时,for循环语句的运算效率非常低.有许多种方法可以提升你的代码运算效率 ...

  7. jquery获取选中的文本和值

    jquery获取选中的文本和值 1.说明 (1)获取select下拉框选中的索引       $("#selection").get(0).selectedIndex; (2)获取 ...

  8. Reactor-反应器模式

    Reactor模式:反应器模式,是高性能网络服务器中最为常用的一种模式,libevent,muduo,libuv等网络库都是以 Reactor模式构建.Reactor模式由同步事件多路分解器和具体事件 ...

  9. boost asio allocation

    allocation演示了自定义异步操作的内存分配策略,因为asio在执行异步IO操作时会使用系统函数来动态分配内存,使用完后便立即释放掉:在IO操作密集的应用中,这种内存动态分配策略会较大地影响程序 ...

  10. java访问权限修饰符

    作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × ja ...