php原生与框架性能测试
index.php 与 yii1.17 控制器输出新跟那个对比
- ab -c 10 -n 100 http://ceshi.applnk.cn/test/f1
Time taken for tests: 0.065 seconds //请求完毕总耗时
Requests per second: 1535.91 [#/sec] (mean) //成功发起的每秒请求数目
Time per request: 6.511 [ms] (mean) //平局每个请求耗时
Time per request: 0.651 [ms] (mean, across all concurrent requests) //服务器平均请求等待时间
Time taken for tests: 0.204 seconds
Requests per second: 489.58 [#/sec] (mean)
Time per request: 20.426 [ms] (mean)
Time per request: 2.043 [ms] (mean, across all concurrent requests)
ceshi@iZbp1hzpato2ker3v88twtZ:~/yii_ceshi_customer$ ab -c 10 -n 100 http://ceshi.applnk.cn/test/f1
This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking ceshi.applnk.cn (be patient).....done
Server Software: nginx/1.17.10
Server Hostname: ceshi.applnk.cn
Server Port: 80
Document Path: /test/f1
Document Length: 0 bytes
Concurrency Level: 10
Time taken for tests: 0.065 seconds
Complete requests: 100
Failed requests: 0
Total transferred: 13800 bytes
HTML transferred: 0 bytes
Requests per second: 1535.91 [#/sec] (mean)
Time per request: 6.511 [ms] (mean)
Time per request: 0.651 [ms] (mean, across all concurrent requests)
Transfer rate: 206.99 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.2 0 1
Processing: 3 6 1.2 6 10
Waiting: 3 6 1.2 6 10
Total: 4 6 1.1 6 11
Percentage of the requests served within a certain time (ms)
50% 6
66% 7
75% 7
80% 7
90% 8
95% 8
98% 9
99% 11
100% 11 (longest request)
######################################################################################
yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17
######################################################################################
ceshi@iZbp1hzpato2ker3v88twtZ:~/yii_ceshi_customer$ ab -c 10 -n 100 http://ceshi.applnk.cn/test/f1
This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking ceshi.applnk.cn (be patient).....done
Server Software: nginx/1.17.10
Server Hostname: ceshi.applnk.cn
Server Port: 80
Document Path: /test/f1
Document Length: 0 bytes
Concurrency Level: 10
Time taken for tests: 0.204 seconds
Complete requests: 100
Failed requests: 0
Total transferred: 13700 bytes
HTML transferred: 0 bytes
Requests per second: 489.58 [#/sec] (mean)
Time per request: 20.426 [ms] (mean)
Time per request: 2.043 [ms] (mean, across all concurrent requests)
Transfer rate: 65.50 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 1
Processing: 9 19 3.7 20 29
Waiting: 9 19 3.7 19 29
Total: 10 20 3.6 20 29
Percentage of the requests served within a certain time (ms)
50% 20
66% 21
75% 21
80% 22
90% 24
95% 26
98% 29
99% 29
100% 29 (longest request)
ceshi@iZbp1hzpato2ker3v88twtZ:~/yii_ceshi_customer$
- ab -c 100 -n 1000 http://ceshi.applnk.cn/test/f1
Time taken for tests: 0.504 seconds
Requests per second: 1984.94 [#/sec] (mean)
Time per request: 50.379 [ms] (mean)
Time per request: 0.504 [ms] (mean, across all concurrent requests)
Time taken for tests: 1.909 seconds
Requests per second: 523.86 [#/sec] (mean)
Time per request: 190.889 [ms] (mean)
Time per request: 1.909 [ms] (mean, across all concurrent requests)
ceshi@iZbp1hzpato2ker3v88twtZ:~/yii_ceshi_customer$ ab -c 100 -n 1000 http://ceshi.applnk.cn/test/f1
This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking ceshi.applnk.cn (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: nginx/1.17.10
Server Hostname: ceshi.applnk.cn
Server Port: 80
Document Path: /test/f1
Document Length: 0 bytes
Concurrency Level: 100
Time taken for tests: 0.504 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 138000 bytes
HTML transferred: 0 bytes
Requests per second: 1984.94 [#/sec] (mean)
Time per request: 50.379 [ms] (mean)
Time per request: 0.504 [ms] (mean, across all concurrent requests)
Transfer rate: 267.50 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 2.6 0 11
Processing: 7 47 8.2 50 56
Waiting: 7 47 8.2 50 55
Total: 15 48 6.3 50 57
Percentage of the requests served within a certain time (ms)
50% 50
66% 51
75% 51
80% 52
90% 52
95% 53
98% 53
99% 54
100% 57 (longest request)
######################################################################################
yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17
######################################################################################
ceshi@iZbp1hzpato2ker3v88twtZ:~/yii_ceshi_customer$ ab -c 100 -n 1000 http://ceshi.applnk.cn/test/f1
This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking ceshi.applnk.cn (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: nginx/1.17.10
Server Hostname: ceshi.applnk.cn
Server Port: 80
Document Path: /test/f1
Document Length: 0 bytes
Concurrency Level: 100
Time taken for tests: 1.909 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 137000 bytes
HTML transferred: 0 bytes
Requests per second: 523.86 [#/sec] (mean)
Time per request: 190.889 [ms] (mean)
Time per request: 1.909 [ms] (mean, across all concurrent requests)
Transfer rate: 70.09 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 1.2 0 6
Processing: 9 182 33.3 188 219
Waiting: 9 182 33.3 188 219
Total: 12 182 32.4 188 222
Percentage of the requests served within a certain time (ms)
50% 188
66% 193
75% 196
80% 199
90% 206
95% 212
98% 216
99% 218
100% 222 (longest request)
- ab -c 100 -n 10000 http://ceshi.applnk.cn/test/f1
Time taken for tests: 4.539 seconds
Requests per second: 2203.00 [#/sec] (mean)
Time per request: 45.393 [ms] (mean)
Time per request: 0.454 [ms] (mean, across all concurrent requests)
Time taken for tests: 20.303 seconds
Requests per second: 492.53 [#/sec] (mean)
Time per request: 203.031 [ms] (mean)
Time per request: 2.030 [ms] (mean, across all concurrent requests)
ceshi@iZbp1hzpato2ker3v88twtZ:~/yii_ceshi_customer$ ab -c 100 -n 10000 http://ceshi.applnk.cn/test/f1
This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking ceshi.applnk.cn (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests
Server Software: nginx/1.17.10
Server Hostname: ceshi.applnk.cn
Server Port: 80
Document Path: /test/f1
Document Length: 0 bytes
Concurrency Level: 100
Time taken for tests: 4.539 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 1380000 bytes
HTML transferred: 0 bytes
Requests per second: 2203.00 [#/sec] (mean)
Time per request: 45.393 [ms] (mean)
Time per request: 0.454 [ms] (mean, across all concurrent requests)
Transfer rate: 296.89 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.6 0 8
Processing: 3 45 3.5 45 59
Waiting: 3 45 3.5 45 58
Total: 10 45 3.2 45 59
Percentage of the requests served within a certain time (ms)
50% 45
66% 46
75% 47
80% 47
90% 49
95% 50
98% 51
99% 52
100% 59 (longest request)
######################################################################################
yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17
######################################################################################
ceshi@iZbp1hzpato2ker3v88twtZ:~/yii_ceshi_customer$ ab -c 100 -n 10000 http://ceshi.applnk.cn/test/f1
This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking ceshi.applnk.cn (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests
Server Software: nginx/1.17.10
Server Hostname: ceshi.applnk.cn
Server Port: 80
Document Path: /test/f1
Document Length: 0 bytes
Concurrency Level: 100
Time taken for tests: 20.303 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 1370000 bytes
HTML transferred: 0 bytes
Requests per second: 492.53 [#/sec] (mean)
Time per request: 203.031 [ms] (mean)
Time per request: 2.030 [ms] (mean, across all concurrent requests)
Transfer rate: 65.90 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.4 0 6
Processing: 10 202 23.1 200 287
Waiting: 10 202 23.1 200 287
Total: 16 202 22.9 200 287
Percentage of the requests served within a certain time (ms)
50% 200
66% 208
75% 213
80% 217
90% 230
95% 242
98% 254
99% 267
100% 287 (longest request)
- ab -c 100 -n 50000 http://ceshi.applnk.cn/test/f1
Time taken for tests: 23.010 seconds
Requests per second: 2172.94 [#/sec] (mean)
Time per request: 46.021 [ms] (mean)
Time per request: 0.460 [ms] (mean, across all concurrent requests)
Time taken for tests: 99.151 seconds
Requests per second: 504.28 [#/sec] (mean)
Time per request: 198.302 [ms] (mean)
Time per request: 1.983 [ms] (mean, across all concurrent requests)
ceshi@iZbp1hzpato2ker3v88twtZ:~/yii_ceshi_customer$ ab -c 100 -n 50000 http://ceshi.applnk.cn/test/f1
This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking ceshi.applnk.cn (be patient)
Completed 5000 requests
Completed 10000 requests
Completed 15000 requests
Completed 20000 requests
Completed 25000 requests
Completed 30000 requests
Completed 35000 requests
Completed 40000 requests
Completed 45000 requests
Completed 50000 requests
Finished 50000 requests
Server Software: nginx/1.17.10
Server Hostname: ceshi.applnk.cn
Server Port: 80
Document Path: /test/f1
Document Length: 0 bytes
Concurrency Level: 100
Time taken for tests: 23.010 seconds
Complete requests: 50000
Failed requests: 0
Total transferred: 6900000 bytes
HTML transferred: 0 bytes
Requests per second: 2172.94 [#/sec] (mean)
Time per request: 46.021 [ms] (mean)
Time per request: 0.460 [ms] (mean, across all concurrent requests)
Transfer rate: 292.84 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.3 0 10
Processing: 5 46 3.9 45 68
Waiting: 5 46 3.9 45 68
Total: 12 46 3.9 45 68
Percentage of the requests served within a certain time (ms)
50% 45
66% 47
75% 48
80% 49
90% 51
95% 53
98% 56
99% 59
100% 68 (longest request)
######################################################################################
yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17
######################################################################################
ceshi@iZbp1hzpato2ker3v88twtZ:~/yii_ceshi_customer$ ab -c 100 -n 50000 http://ceshi.applnk.cn/test/f1
This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking ceshi.applnk.cn (be patient)
Completed 5000 requests
Completed 10000 requests
Completed 15000 requests
Completed 20000 requests
Completed 25000 requests
Completed 30000 requests
Completed 35000 requests
Completed 40000 requests
Completed 45000 requests
Completed 50000 requests
Finished 50000 requests
Server Software: nginx/1.17.10
Server Hostname: ceshi.applnk.cn
Server Port: 80
Document Path: /test/f1
Document Length: 0 bytes
Concurrency Level: 100
Time taken for tests: 99.151 seconds
Complete requests: 50000
Failed requests: 0
Total transferred: 6850000 bytes
HTML transferred: 0 bytes
Requests per second: 504.28 [#/sec] (mean)
Time per request: 198.302 [ms] (mean)
Time per request: 1.983 [ms] (mean, across all concurrent requests)
Transfer rate: 67.47 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.6 0 17
Processing: 18 198 16.7 196 328
Waiting: 17 198 16.7 196 328
Total: 28 198 16.6 196 328
Percentage of the requests served within a certain time (ms)
50% 196
66% 202
75% 206
80% 209
90% 218
95% 229
98% 240
99% 249
100% 328 (longest request)
- ab -c 100 -n 100000 http://ceshi.applnk.cn/test/f1
Time taken for tests: 47.653 seconds
Requests per second: 2098.50 [#/sec] (mean)
Time per request: 47.653 [ms] (mean)
Time per request: 0.477 [ms] (mean, across all concurrent requests)
Time taken for tests: 193.550 seconds
Requests per second: 516.66 [#/sec] (mean)
Time per request: 193.550 [ms] (mean)
Time per request: 1.935 [ms] (mean, across all concurrent requests)
ceshi@iZbp1hzpato2ker3v88twtZ:~/yii_ceshi_customer$ ab -c 100 -n 100000 http://ceshi.applnk.cn/test/f1
This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking ceshi.applnk.cn (be patient)
Completed 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
Completed 60000 requests
Completed 70000 requests
Completed 80000 requests
Completed 90000 requests
Completed 100000 requests
Finished 100000 requests
Server Software: nginx/1.17.10
Server Hostname: ceshi.applnk.cn
Server Port: 80
Document Path: /test/f1
Document Length: 0 bytes
Concurrency Level: 100
Time taken for tests: 47.653 seconds
Complete requests: 100000
Failed requests: 0
Total transferred: 13800000 bytes
HTML transferred: 0 bytes
Requests per second: 2098.50 [#/sec] (mean)
Time per request: 47.653 [ms] (mean)
Time per request: 0.477 [ms] (mean, across all concurrent requests)
Transfer rate: 282.81 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.3 0 11
Processing: 7 48 5.9 46 80
Waiting: 6 47 5.9 46 79
Total: 14 48 5.9 46 80
Percentage of the requests served within a certain time (ms)
50% 46
66% 49
75% 51
80% 52
90% 56
95% 60
98% 63
99% 65
100% 80 (longest request)
######################################################################################
yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17, yii1.17
######################################################################################
ceshi@iZbp1hzpato2ker3v88twtZ:~/yii_ceshi_customer$ ab -c 100 -n 100000 http://ceshi.applnk.cn/test/f1
This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking ceshi.applnk.cn (be patient)
Completed 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
Completed 60000 requests
Completed 70000 requests
Completed 80000 requests
Completed 90000 requests
Completed 100000 requests
Finished 100000 requests
Server Software: nginx/1.17.10
Server Hostname: ceshi.applnk.cn
Server Port: 80
Document Path: /test/f1
Document Length: 0 bytes
Concurrency Level: 100
Time taken for tests: 193.550 seconds
Complete requests: 100000
Failed requests: 0
Total transferred: 13700000 bytes
HTML transferred: 0 bytes
Requests per second: 516.66 [#/sec] (mean)
Time per request: 193.550 [ms] (mean)
Time per request: 1.935 [ms] (mean, across all concurrent requests)
Transfer rate: 69.12 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.2 0 9
Processing: 6 193 17.1 191 317
Waiting: 6 193 17.1 191 317
Total: 10 193 17.1 191 317
Percentage of the requests served within a certain time (ms)
50% 191
66% 197
75% 201
80% 204
90% 214
95% 224
98% 240
99% 254
100% 317 (longest request)
第一阶段结论
1.相差3.13
Time taken for tests: 0.065 seconds //请求完毕总耗时
Requests per second: 1535.91 [#/sec] (mean) //成功发起的每秒请求数目
Time per request: 6.511 [ms] (mean) //平局每个请求耗时
Time per request: 0.651 [ms] (mean, across all concurrent requests) //服务器平均请求等待时间
Time taken for tests: 0.204 seconds
Requests per second: 489.58 [#/sec] (mean)
Time per request: 20.426 [ms] (mean)
Time per request: 2.043 [ms] (mean, across all concurrent requests)
2.相差3.78
Time taken for tests: 0.504 seconds
Requests per second: 1984.94 [#/sec] (mean)
Time per request: 50.379 [ms] (mean)
Time per request: 0.504 [ms] (mean, across all concurrent requests)
Time taken for tests: 1.909 seconds
Requests per second: 523.86 [#/sec] (mean)
Time per request: 190.889 [ms] (mean)
Time per request: 1.909 [ms] (mean, across all concurrent requests)
3.相差4.473倍
Time taken for tests: 4.539 seconds
Requests per second: 2203.00 [#/sec] (mean)
Time per request: 45.393 [ms] (mean)
Time per request: 0.454 [ms] (mean, across all concurrent requests)
Time taken for tests: 20.303 seconds
Requests per second: 492.53 [#/sec] (mean)
Time per request: 203.031 [ms] (mean)
Time per request: 2.030 [ms] (mean, across all concurrent requests)
- 相差4.3倍
Time taken for tests: 23.010 seconds
Requests per second: 2172.94 [#/sec] (mean)
Time per request: 46.021 [ms] (mean)
Time per request: 0.460 [ms] (mean, across all concurrent requests)
Time taken for tests: 99.151 seconds
Requests per second: 504.28 [#/sec] (mean)
Time per request: 198.302 [ms] (mean)
Time per request: 1.983 [ms] (mean, across all concurrent requests)
- 相差5.7
Time taken for tests: 169.493 seconds
Requests per second: 518.33 [#/sec] (mean)
Time per request: 192.928 [ms] (mean)
Time per request: 1.929 [ms] (mean, across all concurrent requests)
Time taken for tests: 964.640 seconds
Requests per second: 464.96 [#/sec] (mean)
Time per request: 215.071 [ms] (mean)
Time per request: 2.151 [ms] (mean, across all concurrent requests)
以上平均值得出 3.92倍数(5.7的那个没有进入统计),且呈递增趋势~
进入解析微信一个消息解析的各阶段耗时监控
- 微信消息到达index.php
1589008279.940575
2.微信消息通过php原生解析消息成功。这一步花了:1.599 ms
1589008279.942174
3.微信消息到达yii的push控制器的第一行。这一步花了:3.895 ms
1589008279.946069
4.芝麻系统成功解析到微信的消息后。这一步花了:23.6 ms
1589008279.969669
结论
php原生解析需要耗时间:1.599, 芝麻解析耗时: 27.495, 芝麻耗时是原生的:17.195倍