nginx--worker_processes压测文档

注:服务是nginx+lua,在lua层有大量的业务逻辑,使用ab压测的,在公司虚拟化机器压测的,数据只做参考

cpu信息:两个逻辑核

2个worker压测

配置:

worker_processes  2;
worker_cpu_affinity 01 10;

并发500压测数据:

Concurrency Level:      500
Time taken for tests:   11.068 seconds
Complete requests:      5000
Failed requests:        0
Total transferred:      41515000 bytes
Total body sent:        17215000
HTML transferred:       40685000 bytes
Requests per second:    451.75 [#/sec] (mean)
Time per request:       1106.817 [ms] (mean)
Time per request:       2.214 [ms] (mean, across all concurrent requests)
Transfer rate:          3662.93 [Kbytes/sec] received
                        1518.91 kb/s sent
                        5181.84 kb/s total

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        2    7  20.0      4    1263
Processing:    85 1042 189.2   1075    1939
Waiting:       85 1041 189.2   1074    1938
Total:        119 1049 186.4   1079    2357

Percentage of the requests served within a certain time (ms)
  50%   1079
  66%   1087
  75%   1093
  80%   1097
  90%   1103
  95%   1114
  98%   1474
  99%   1739
 100%   2357 (longest request)

并发1000压测数据:

Concurrency Level:      1000
Time taken for tests:   11.349 seconds
Complete requests:      5000
Failed requests:        0
Total transferred:      41515000 bytes
Total body sent:        17215000
HTML transferred:       40685000 bytes
Requests per second:    440.57 [#/sec] (mean)
Time per request:       2269.801 [ms] (mean)
Time per request:       2.270 [ms] (mean, across all concurrent requests)
Transfer rate:          3572.29 [Kbytes/sec] received
                        1481.32 kb/s sent
                        5053.62 kb/s total

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        2   33 152.9      4    1251
Processing:    28 2001 731.2   2130    4551
Waiting:       27 1998 733.0   2129    4474
Total:         36 2034 726.9   2136    4574

Percentage of the requests served within a certain time (ms)
  50%   2136
  66%   2158
  75%   2170
  80%   2186
  90%   2490
  95%   3405
  98%   4067
  99%   4290
 100%   4574 (longest request)

4个geworker压测

配置

worker_processes  4;
worker_cpu_affinity 0001 0010 0100 1000;

并发500压测数据:

Concurrency Level:      500
Time taken for tests:   11.628 seconds
Complete requests:      5000
Failed requests:        0
Total transferred:      41515000 bytes
Total body sent:        17215000
HTML transferred:       40685000 bytes
Requests per second:    429.98 [#/sec] (mean)
Time per request:       1162.847 [ms] (mean)
Time per request:       2.326 [ms] (mean, across all concurrent requests)
Transfer rate:          3486.44 [Kbytes/sec] received
                        1445.72 kb/s sent
                        4932.16 kb/s total

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        2   10  18.9      4     116
Processing:   116 1094 167.1   1127    1393
Waiting:      116 1093 168.7   1127    1393
Total:        144 1104 157.4   1132    1396

Percentage of the requests served within a certain time (ms)
  50%   1132
  66%   1143
  75%   1155
  80%   1171
  90%   1194
  95%   1203
  98%   1213
  99%   1224
 100%   1396 (longest request)

并发1000压测数据:

Concurrency Level:      1000
Time taken for tests:   11.713 seconds
Complete requests:      5000
Failed requests:        0
Total transferred:      41515000 bytes
Total body sent:        17215000
HTML transferred:       40685000 bytes
Requests per second:    426.89 [#/sec] (mean)
Time per request:       2342.522 [ms] (mean)
Time per request:       2.343 [ms] (mean, across all concurrent requests)
Transfer rate:          3461.40 [Kbytes/sec] received
                        1435.34 kb/s sent
                        4896.73 kb/s total

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        2  107 322.0      4    1605
Processing:   116 2011 465.7   2204    2448
Waiting:      116 2010 466.1   2204    2447
Total:        191 2118 523.7   2215    3790

Percentage of the requests served within a certain time (ms)
  50%   2215
  66%   2243
  75%   2322
  80%   2350
  90%   2384
  95%   2960
  98%   3290
  99%   3389
 100%   3790 (longest request)

8个worker压测数据

配置

worker_processes  8;
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;

并发500压测数据:

Concurrency Level:      500
Time taken for tests:   12.393 seconds
Complete requests:      5000
Failed requests:        0
Total transferred:      41515000 bytes
Total body sent:        17215000
HTML transferred:       40685000 bytes
Requests per second:    403.46 [#/sec] (mean)
Time per request:       1239.294 [ms] (mean)
Time per request:       2.479 [ms] (mean, across all concurrent requests)
Transfer rate:          3271.38 [Kbytes/sec] received
                        1356.54 kb/s sent
                        4627.92 kb/s total

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        2    8  19.3      4    1185
Processing:    89 1160 1070.7    997    7552
Waiting:       89 1159 1070.7    996    7552
Total:        120 1168 1074.4   1006    7566

Percentage of the requests served within a certain time (ms)
  50%   1006
  66%   1100
  75%   1128
  80%   1155
  90%   1820
  95%   2921
  98%   5768
  99%   6677
 100%   7566 (longest request)

并发1000压测数据:

Concurrency Level:      1000
Time taken for tests:   12.456 seconds
Complete requests:      5000
Failed requests:        0
Total transferred:      41515000 bytes
Total body sent:        17215000
HTML transferred:       40685000 bytes
Requests per second:    401.42 [#/sec] (mean)
Time per request:       2491.160 [ms] (mean)
Time per request:       2.491 [ms] (mean, across all concurrent requests)
Transfer rate:          3254.87 [Kbytes/sec] received
                        1349.69 kb/s sent
                        4604.56 kb/s total

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        5  184 465.6     39    3386
Processing:   269 2090 666.3   2215    7690
Waiting:      268 2059 689.5   2209    7690
Total:        322 2274 713.7   2277    8945

Percentage of the requests served within a certain time (ms)
  50%   2277
  66%   2335
  75%   2858
  80%   3038
  90%   3139
  95%   3184
  98%   3340
  99%   4088
 100%   8945 (longest request)

从压测数据来看,对双核的机器来说worker进程设置为2最合适,设置多个worker由于进程资源抢占导致性能下降。

你可能感兴趣的:(nginx)