古いアパッチをなんとかチューニングする1
現状を ab で測る(prefork mpm)
C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin>ab -n 1000 -c 10
0 http://xxxxxxxxxxxxxxxxxxxxxx
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking xxxxxxxxxxxxxxxx (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: Apache/2.2.16
Server Hostname: xxxxxxxxxxxxxx
Server Port: 80
Document Path: xxxxxxxxxx
Document Length: 14169 bytes
Concurrency Level: 100
Time taken for tests: 13.099 seconds
Complete requests: 1000
Failed requests: 97
(Connect: 0, Receive: 0, Length: 97, Exceptions: 0)
Write errors: 0
Total transferred: 14427542 bytes
HTML transferred: 14138542 bytes
Requests per second: 76.34 [#/sec] (mean)
Time per request: 1309.931 [ms] (mean)
Time per request: 13.099 [ms] (mean, across all concurrent requests)
Transfer rate: 1075.58 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 2 9 134.1 3 3006
Processing: 12 1048 1694.4 28 6414
Waiting: 12 1002 1600.2 25 6414
Total: 15 1057 1702.0 31 6417
Percentage of the requests served within a certain time (ms)
50% 31
66% 1021
75% 1494
80% 2049
90% 3288
95% 5781
98% 6288
99% 6292
100% 6417 (longest request)
ここで worker mpm に修正してみる
古いなぁ
CFLAGS="-O2" \
LDFLAGS="-L/usr/local/openssl/lib64" \
CC="gcc -m64" \
./configure \
--prefix=/usr/local/httpd-2.2.16 \
--enable-so \
--enable-mods-shared=most \
--enable-mod-status=shared \
--enable-proxy=shared \
--enable-proxy-http=shared \
--enable-proxy-ajp=shared \
--enable-ssl=shared \
--disable-ipv6 \
--with-ssl=/usr/local/openssl \
--with-mpm=worker
make clean ; make ; make install
# /usr/local/apache2/bin/apachectl start
[Thu Apr 09 18:41:32 2015] [crit] Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP.
Pre-configuration failed
PHP は prefork ですよね、でも使ってないのでコメントアウト
#LoadModule php5_module modules/libphp5.so
うはおk
C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin>ab -n 1000 -c 10
0 xxxxxxxxxxxxxxxxxxx
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking xxxxxxxxxxxx (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: Apache/2.2.16
Server Hostname: xxxxxxxxxxxxx
Server Port: 80
Document Path: xxxxxxxxx
Document Length: 14169 bytes
Concurrency Level: 100
Time taken for tests: 6.586 seconds
Complete requests: 1000
Failed requests: 62
(Connect: 0, Receive: 0, Length: 62, Exceptions: 0)
Write errors: 0
Total transferred: 14427532 bytes
HTML transferred: 14149532 bytes
Requests per second: 151.85 [#/sec] (mean)
Time per request: 658.566 [ms] (mean)
Time per request: 6.586 [ms] (mean, across all concurrent requests)
Transfer rate: 2139.40 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 2 3 1.1 3 10
Processing: 11 531 878.9 36 6216
Waiting: 11 515 883.9 31 6215
Total: 14 534 879.1 40 6219
Percentage of the requests served within a certain time (ms)
50% 40
66% 250
75% 1019
80% 1024
90% 2024
95% 3018
98% 3172
99% 3217
100% 6219 (longest request)
向上してますな。こっちで行きましょう。