Pages

2011年10月1日土曜日

PHP高速化のため APCを導入してみた

ブログエンジンとして非常に有名なWordPressを導入してみた。
さすがにインストールそのものは、とても簡単だったのだが、その時にサーバのメモリ不足問題が発生し、その対策として PHP-APC を導入したので、そのメモ。

php-apc

Alternative PHP Cashe
http://php.net/manual/ja/book.apc.php
phpの実行コードを高速化するためのPHPモジュールで、中間コードの最適化やキャッシュを提供する。

WordPressをインストールするまでの手順

# root になって、作業を進めました 
$ yum list installed | grep php
php.x86_64                               5.3.8-1.el5.remi              installed
php-cli.x86_64                           5.3.8-1.el5.remi              installed
php-common.x86_64                        5.3.8-1.el5.remi              installed
php-gd.x86_64                            5.3.8-1.el5.remi              installed
php-mbstring.x86_64                      5.3.8-1.el5.remi              installed
php-mysql.x86_64                         5.3.8-1.el5.remi              installed
php-pdo.x86_64                           5.3.8-1.el5.remi              installed
php-pgsql.x86_64                         5.3.8-1.el5.remi              installed

$ mysql -u root -p
Enter password: 
mysql> create database wordpress;
mysql> grant all on wordpress.* to wordpress@localhost identified  by 'xxxxxxx';

$ mkdir work
$ cd work/
$ wget http://ja.wordpress.org/wordpress-3.2.1-ja.zip
$ unzip wordpress-3.2.1-ja.zip 
$ cd /var/www/html/
$ cp -r ~/work/wordpress sample.com
$ chown -R apache:apache sample.com
$ cd sample.com
あとは、サイトにアクセスして画面の指示通りに進めるだけ。
この後、導入しているネットワーク監視システム Xymonから、メモリ不足の警告メールが。

予め、予想されていたので、本当はApacheから nginx (エンジンエックス)にWebサーバを変更することも考えていたのですが、先ずは APCを試してみることにしました。
注) 私は、PHP, mysql を remi リポジトリからインストールしているので、下の例のように apcも、remi指定のインストールです。
$ yum install php-pecl-apc --enablerepo=remi
$ /etc/init.d/httpd restart

導入効果は中々のもの。その間のメモリ状況のグラフを以下に表示します。

* 9/30 0時頃にメモリ不足
* その後、すぐにAPCを導入
* 9/30 早朝に画面を撮る



0 件のコメント:

コメントを投稿