注:服务是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 totalConnection 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 2357Percentage 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 totalConnection 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 4574Percentage 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 totalConnection 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 1396Percentage 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 totalConnection 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 3790Percentage 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 totalConnection 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 7566Percentage 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 totalConnection 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 8945Percentage 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由于进程资源抢占导致性能下降。