CentOS 5の最近のブログ記事

Jan
20
2008

現在入ってるのは、PHP5.1.6
5.2系へのUpdateは、適当なSRPMを探すのが面倒なので、とりあえず見送り。

結論から言うと、eAcceleratorの導入で、応答速度は1/3近くまで短縮される模様。

本当は、Apacheも2.0から2,2にしようと思いましたが、SRPMからのrebuildだとApache Portable Runtimeのインストール時に、稼動中ソフト/ライブラリとの兼ね合いで弄りが必要となり、心が折れました。
ソースからmakeすればいいじゃん。という説もありますが、一介の金融系サラリーマンでnerdでもgeekでも無いワタクシは、PKG管理派に宗旨替えをしていますので。

前回のeAcceleratorインストール時は、未だPHP4.4.4でした。その時の手順を思い出しながら、こちらはソースからbuild。

[eAcceleratorのインストール]

$ wget http://jaist.dl.sourceforge.net/sourceforge/eaccelerator/eaccelerator-0.9.5.2.tar.bz2
$ bunzip2 -dc eaccelerator-0.9.5.2.tar.bz2 | tar xvf -
$ cd eaccelerator-0.9.5.2
$ /usr/bin/phpize
$ ./configure --enable-eaccelerator=shared --with-php-config=/usr/bin/php-config --with-eaccelerator-info
$ make
$ su
# make install
Installing shared extensions: /usr/lib/php/modules/

[設定]

$ cp control.php /var/www/VirtualHosts/kenji00/***.kenji00.com/htdocs/
$ vi /var/www/VirtualHosts/kenji00/***.kenji00.com/htdocs/control.php

$user = "*******";
$pw = "********";

$ mkdir /tmp/eaccelerator
# chown apache:apache /tmp/eaccelerator/
# cp eaccelerator.ini /etc/php.d/eaccelerator.ini
# vi /etc/php.d/eaccelerator.ini

zend_extension = "/usr/lib/php/modules/eaccelerator.so"
eaccelerator.allowed_admin_path = "/var/www/VirtualHosts/kenji00/***.kenji00.com/htdocs/control.php"

[TEST]

# /etc/init.d/httpd restart

47-test_php.png

では、テストしてみましょう。

先ずは1回目。インストール済みのcontrol.phpで、Cachingを無効にしています。

$ ab -n 100 -c 10 http://***.kenji00.com/index.php

This is ApacheBench, Version 2.0.40-dev <$Revision: 1.121.2.1 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/

Benchmarking cat.kenji00.com (be patient).....done


Server Software: Apache
Server Hostname: ***.kenji00.com
Server Port: 80

Document Path: /index.php
Document Length: 14311 bytes

Concurrency Level: 10
Time taken for tests: 87.545530 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 1472400 bytes
HTML transferred: 1431100 bytes
Requests per second: 1.14 [#/sec] (mean)
Time per request: 8754.553 [ms] (mean)
Time per request: 875.455 [ms] (mean, across all concurrent requests)
Transfer rate: 16.41 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.7 0 7
Processing: 3032 8546 7254.4 6660 43925
Waiting: 2864 7979 6574.6 6347 43761
Total: 3032 8546 7254.3 6660 43925

Percentage of the requests served within a certain time (ms)
50% 6660
66% 8256
75% 9568
80% 10456
90% 15477
95% 19389
98% 43640
99% 43925
100% 43925 (longest request)

次は、Caching有効時。テストしているURLのcacheがあることをcontrol.phpで確認して.....

$ ab -n 100 -c 10 http://***.kenji00.com/index.php

This is ApacheBench, Version 2.0.40-dev <$Revision: 1.121.2.1 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/

Benchmarking cat.kenji00.com (be patient).....done


Server Software: Apache
Server Hostname: ***.kenji00.com
Server Port: 80

Document Path: /index.php
Document Length: 14311 bytes

Concurrency Level: 10
Time taken for tests: 38.965838 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 1472400 bytes
HTML transferred: 1431100 bytes
Requests per second: 2.57 [#/sec] (mean)
Time per request: 3896.584 [ms] (mean)
Time per request: 389.658 [ms] (mean, across all concurrent requests)
Transfer rate: 36.88 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.7 0 5
Processing: 1436 3836 2701.9 3168 15025
Waiting: 1369 3589 2436.0 3039 14516
Total: 1441 3836 2701.9 3168 15025

Percentage of the requests served within a certain time (ms)
50% 3168
66% 4204
75% 5329
80% 5745
90% 7480
95% 9817
98% 13015
99% 15025
100% 15025 (longest request)

Jan
26
2008

ベンチマークに使っていたXOOPSアプリのcache機能を使っていなかったので、こちらも設定したところで、以下、備忘録。

Requests per second基準で。


  • eAccelerato0.9.5.2導入での効果は225%
  • mod_deflateの圧縮コストも計測しなきゃだわ。
  • XOOPS cache設定効果で250%

環境:CentOS release 3.9 (Final) + Apache2.0.40(※) + PHP 5.1.6

[初期]
Requests per second: 1.14 [#/sec] (mean)
Transfer rate: 16.41 [Kbytes/sec] received

[+eAccelerato0.9.5.2]
Requests per second: 2.57 [#/sec] (mean)
Transfer rate: 36.88 [Kbytes/sec] received

[+mod_deflate+mod_expires+ZendOptimizer-3.3.0a]
Requests per second: 2.12 [#/sec] (mean)
Transfer rate: 30.64 [Kbytes/sec] received

[+XOOPS cache設定]
Requests per second: 5.34 [#/sec] (mean)
Transfer rate: 76.95 [Kbytes/sec] received

結論


  • XOOPSに関しては、最初からCache機能に気付け、俺。
  • まぁ、非XOOPSなサイトに関してもパフォーマンスが出るようになったので、良しとする。
  • 仕事でサーバ触らなくなったので、自宅で作業するのが楽しい。


※:このApacheは脆弱性アリversionですな。先ほどupdateしました。:-)

Feb
04
2008

安くて安定しているVPSサーバ探しの旅をしているわけで。
現在契約しているヤツは、VirtuozzoVPSなのです。

同じプロバイダで、CentOS5が載っているものに契約変更しよう思い、とりあえず2週間の無料試用を申し込みました。で、現在SSHログイン中。

# cat /proc/cpuinfo してみたところ、新しい方はIntel(R) Xeon(R) CPU 5110 @ 1.60GHzが4つ見え、現在のはIntel(R) Xeon(TM) CPU 2.80GHzが、同じく4つ。
20世紀に組み立てPC(自作という言葉は嫌い)は卒業したので、最近の情報には疎いですが、クロック低くても前者のほうが偉いのかしら?

メモリ周り他に関して、Virtuozzoの割り当てリソースは、
# cat /proc/user_beancountersで確認できまして、こんな感じ。

Version: 2.5
uid resource held maxheld barrier limit failcnt
930: kmemsize 2938470 2960867 10485760 10485760 0
lockedpages 0 0 512 512 0
privvmpages 36457 36487 196608 196608 0
shmpages 768 768 65536 65536 0
dummy 0 0 0 0 0
numproc 35 35 150 150 0
physpages 6606 6612 0 2147483647 0
vmguarpages 0 0 61440 2147483647 0
oomguarpages 6606 6612 1228800 2147483647 0
numtcpsock 11 11 256 256 0
numflock 7 8 400 420 0
numpty 1 1 32 32 0
numsiginfo 0 0 512 512 0
tcpsndbuf 98384 98384 1920000 31457280 0
tcprcvbuf 180224 180224 1920000 31457280 0
othersockbuf 42484 42484 960000 3284582 0
dgramrcvbuf 0 0 960000 3284582 0
numothersock 28 28 512 512 0
dcachesize 313484 316429 3145628 3145728 0
numfile 1356 1365 8192 8192 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
numiptent 10 10 128 128 0

表示項目の詳細は、ココを参照していただくとして、上の数値は、現在契約しているCentOS3な環境と全く同じ。
で、そちらで同じコマンドをたたくと、1行目から

uid resource held maxheld barrier limit failcnt
206: kmemsize 5178431 5196420 10485760 10485760 12699

というイカしたfailcnt値。過去には、1度だけですがメモリ喰い尽くして無反応になり、サポートにrebootをお願いした経緯もあり。

ググッてみると、

Jetspeed Blog『Xen、OpenVZ、VMWareなど仮想化環境の印象』

メモリ周りの制限が厳しい。
実際にゲストOSに割り当てら得れたメモリがまるまる使えるというわけではないようで、レンタルサーバでは512MBのプランを契約しているが、デフォルトの設定ではApacheとMySQLを立ち上げただけで空きメモリがほとんどなくなってしまうなど、メモリ周りの処理に不安を感じる。

というような報告をされている方もあり。
どうせ遊びの鯖だし、ここは趣向を変えてXenなVPSにしてみようかと思い始めました。
パーティショニングで仮想化しているVirtozzoよりも、それぞれのGuestOSのカーネルを起動してくれるXenの方が良いような気もしますし、ちょいと魅力的なプロバイダも見つけてしまいましたので。

過去のエントリ(一覧)

最近のコメント

Powered by Movable Type 4.261
Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。