本帖最后由 jdgdf566 于 2013-07-02 14:16:48 编辑

测试 APC PHP

测试php编译缓存APC的效果。
使用ab测试的命令是:/ab -n 1000 -c 5 http://localhost/abtest.php
开启APC:
Server Software:        Apache/2.2.21Server Hostname:        localhostServer Port:            80Document Path:          /abtest.phpDocument Length:        662 bytesConcurrency Level:      5Time taken for tests:   11.464 secondsComplete requests:      1000Failed requests:        0Write errors:           0Total transferred:      879000 bytesHTML transferred:       662000 bytesRequests per second:    87.23 [#/sec] (mean)Time per request:       57.319 [ms] (mean)Time per request:       11.464 [ms] (mean, across all concurrent requests)Transfer rate:          74.88 [Kbytes/sec] receivedConnection Times (ms)              min  mean[+/-sd] median   maxConnect:        0    0   0.4      0       4Processing:    25   57   8.5     55     130Waiting:       24   56   8.5     55     130Total:         25   57   8.5     55     130Percentage of the requests served within a certain time (ms)  50%     55  66%     57  75%     58  80%     58  90%     62  95%     68  98%     90  99%     95 100%    130 (longest request)
登录后复制

不开启APC:
Server Software:        Apache/2.2.21Server Hostname:        localhostServer Port:            80Document Path:          /abtest.phpDocument Length:        662 bytesConcurrency Level:      5Time taken for tests:   29.521 secondsComplete requests:      1000Failed requests:        0Write errors:           0Total transferred:      879000 bytesHTML transferred:       662000 bytesRequests per second:    33.87 [#/sec] (mean)Time per request:       147.607 [ms] (mean)Time per request:       29.521 [ms] (mean, across all concurrent requests)Transfer rate:          29.08 [Kbytes/sec] receivedConnection Times (ms)              min  mean[+/-sd] median   maxConnect:        0    0   0.4      0       2Processing:    35  147  10.7    146     242Waiting:       35  146  10.7    146     242Total:         36  147  10.7    146     242Percentage of the requests served within a certain time (ms)  50%    146  66%    147  75%    149  80%    151  90%    155  95%    160  98%    173  99%    180 100%    242 (longest request)
登录后复制

再开启APC:
Server Software:        Apache/2.2.21Server Hostname:        localhostServer Port:            80Document Path:          /HUODONGNewTest/abtest.phpDocument Length:        662 bytesConcurrency Level:      5Time taken for tests:   10.361 secondsComplete requests:      1000Failed requests:        0Write errors:           0Total transferred:      879000 bytesHTML transferred:       662000 bytesRequests per second:    96.51 [#/sec] (mean)Time per request:       51.807 [ms] (mean)Time per request:       10.361 [ms] (mean, across all concurrent requests)Transfer rate:          82.85 [Kbytes/sec] receivedConnection Times (ms)              min  mean[+/-sd] median   maxConnect:        0    0   0.5      0       9Processing:    26   51  12.8     49     227Waiting:       26   51  12.8     49     227Total:         26   51  12.8     50     228Percentage of the requests served within a certain time (ms)  50%     50  66%     51  75%     52  80%     53  90%     57  95%     60  98%     63  99%     68 100%    228 (longest request)
登录后复制

再关闭APC:
Server Software:        Apache/2.2.21Server Hostname:        localhostServer Port:            80Document Path:          /HUODONGNewTest/abtest.phpDocument Length:        662 bytesConcurrency Level:      5Time taken for tests:   28.444 secondsComplete requests:      1000Failed requests:        0Write errors:           0Total transferred:      879000 bytesHTML transferred:       662000 bytesRequests per second:    35.16 [#/sec] (mean)Time per request:       142.222 [ms] (mean)Time per request:       28.444 [ms] (mean, across all concurrent requests)Transfer rate:          30.18 [Kbytes/sec] receivedConnection Times (ms)              min  mean[+/-sd] median   maxConnect:        0    0   0.4      0       2Processing:    35  141   8.3    142     174Waiting:       34  141   8.3    141     173Total:         36  141   8.3    142     175Percentage of the requests served within a certain time (ms)  50%    142  66%    144  75%    145  80%    146  90%    151  95%    155  98%    158  99%    162 100%    175 (longest request)
登录后复制


回复讨论(解决方案)

命令改为:/ab -c 5 -n 10 http://localhost/abtest.php
未开启APC:

Benchmarking localhost (be patient).....doneServer Software:        Apache/2.2.21Server Hostname:        localhostServer Port:            80Document Path:          abtest.phpDocument Length:        815 bytesConcurrency Level:      5Time taken for tests:   18.188 secondsComplete requests:      10Failed requests:        0Write errors:           0Total transferred:      10320 bytesHTML transferred:       8150 bytesRequests per second:    0.55 [#/sec] (mean)Time per request:       9093.750 [ms] (mean)Time per request:       1818.750 [ms] (mean, across all concurrent requests)Transfer rate:          0.55 [Kbytes/sec] receivedConnection Times (ms)              min  mean[+/-sd] median   maxConnect:        0    0   0.5      1       1Processing:  9026 9065  48.1   9040    9155Waiting:     9026 9065  48.2   9039    9155Total:       9026 9066  48.1   9041    9156WARNING: The median and mean for the initial connection time are not within a normal deviation        These results are probably not that reliable.Percentage of the requests served within a certain time (ms)  50%   9041  66%   9077  75%   9104  80%   9129  90%   9156  95%   9156  98%   9156  99%   9156 100%   9156 (longest request)
登录后复制

开启APC:
登录后复制

用于测试的文件abtest.php含有类的引入和实例化,无数据库连接。
测试结果:
APC开启和关闭,CPU的占用率都是100%,这意味着处理能力相同。而完成的时间如下:
Time taken for tests: 11.464 seconds
Time taken for tests: 29.521 seconds
Time taken for tests: 10.361 seconds
Time taken for tests: 28.444 seconds
很明显,接近3倍。

09-05 16:09