php-eaccelerator のキャッシュをtmpfsにする

php-eaccelerator (eAccelerator) のキャッシュをtmpfsというファイルシステムに変更してみました。 tmpfsとは、メモリ上に作成するファイルシステムで、アクセススピードの向上が期待できそうだと思ったからです。

php-eaccelerator のキャッシュが、/var/cache/php-eaccelerator に作られている場合は、tmpfs を作成して、この /var/cache/php-eaccelerator にそのtmpfsファイルシステムをマウントします。手順は次の通りです。

キャッシュディレクトリの場所は、php-eaccelerator の設定ファイル /etc/php.d/eaccelerator.ini に次のように記述されています。 eaccelerator.cache_dir = “/var/cache/php-eaccelerator”

1.キャッシュを一旦削除する [root ~]# cd /var/cache/php-eaccelerator [root ~]# rm -fr * 2.tmpfsを作成してマウントする

サイズは、現在のキャッシュサイズを30MBに設定していますので、64MBとします。

[root ~]# mount -t tmpfs -o size=64m /dev/shm /var/cache/php-eaccelerator

これだけです。 ちなみに作業の間は、httpdを落としておいた方がいいでしょう。

PHP~パフォーマンス向上策(続報2)

『PHP~パフォーマンス向上策(続報)』に記載した eaccelerator.shm_size の設定を、デフォルトの「OSに任せる」設定戻しました。

eaccelerator.shm_size = “30” ↓ eaccelerator.shm_size = “0”

これで、現状は 32MB が割り当てられています。 この値については、冒頭の記事掲載当初は 32MB の指定はできなかったように記憶していますので、恐らく ServersMan@VPS がバッファキャッシュを使えるようになったことが背景にあるのだと考えています。

PHP~パフォーマンス向上策(続報)

前日に、PHPのパフォーマンス向上策として、php-eaccelerator (eAccelerator)を導入しましたが、その後の状況をお伝えします。

php-accelerator の設定(/etc/php.d/eaccelerator.ini の設定)を2カ所変更しました。そのうちの eaccelerator.shm_size については、カーネルの許容範囲ぎりぎりの

eaccelerator.shm_size = “30”

という設定をしました。

ほぼ一日稼働させた後、キャッシュメモリの使用率がどうなっているか確認したところ、80% でした。わざといろいろな(WordPressのダッシュボードも含めてほぼすべての)ページパターンを実行してみましたので、必要とされるほぼすべてのPHPコードを使用したと考えています。

その状態でキャッシュメモリ使用率が80%ですので、”30″(30MB)でほぼ足りると判断しています。

ちなみに当サーバのWordPress関連環境は次の通りです。

WordPress 3.1.8 (テーマ:Atahualpa 3.6.4) MySQL 5.5.10 PHP 5.3.6

PHP~パフォーマンス向上策

MySQLのパフォーマンスチューニングに続き、WordPressの記述言語であるPHPのパフォーマンス向上策を施します。 PHPのバージョンは 5.3.6 です。

検討結果からお話しすると、最も手軽で、それなりの効果実績と、開発プロジェクトがしっかり動いているという観点から、eAccelerator を導入することにしました。

1.パッケージの検索

さて、eAccelerator のホームページ http://www.eaccelerator.net/ ではソースからのインストールになっています。 rpmもしくはyumでインストールできないかと思い、早速remiに探しに行ったところ、あるじゃないですか。

yumコマンドでパッケージ情報を確認してみると、次の通りeAccelerator のパッケージで間違いないことが分かります。

[root ~]# yum info –enablerepo=remi php-eaccelerator Loaded plugins: fastestmirror, priorities Loading mirror speeds from cached hostfile * addons: www.ftp.ne.jp * base: www.ftp.ne.jp * epel: ftp.iij.ad.jp * extras: www.ftp.ne.jp * remi: remi-mirror.dedipower.com * rpmforge: ftp-stud.fht-esslingen.de * updates: www.ftp.ne.jp remi | 2.6 kB 続きを読む »