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 続きを読む »

MySQL 5.5.10 ~パフォーマンスチューニング

WordPressのパフォーマンス向上の目的で、パフォーマンスチューニングを始めました。

httpd層では、別記事に記載したように、mod_chche、mod_disk_cacheを使用して、最低レベルの対策を実施しています。もちろん、まだ上のレベルがありますが、ここでは、DB層のパフォーマンスチューニングを実施します。

WordPressですので、DB層はMySQLです。現時点で最新のバージョン5.5.10を使用しています。

さて、まずは、現状を知ることから。

そこで、MySQLTuner を使用してみます。MySQLTuner は稼働中のMySQLの設定情報やログ情報からセキュリティ、パフォーマンスに関する診断結果と推奨情報を提供してくれるperlスクリプトです。

実際の利用には、まずは MySQLTuner をダウンロードします。

[root ~]# wget mysqltuner.pl –2011-03-30 12:51:21– http://mysqltuner.pl/ mysqltuner.pl をDNSに問いあわせています… 50.56.84.181 mysqltuner.pl|50.56.84.181|:80 に接続しています… 接続しました。 HTTP による接続要求を送信しました、応答を待っています… 302 Found 場所: http://mysqltuner.pl/mysqltuner.pl [続く] –2011-03-30 12:51:22– http://mysqltuner.pl/mysqltuner.pl mysqltuner.pl|50.56.84.181|:80 に接続しています… 接続しました。 HTTP による接続要求を送信しました、応答を待っています… 200 OK 長さ: 41393 (40K) [text/plain] `mysqltuner.pl’ に保存中 100%[======================================>] 41,393 76.2K/s 時間 0.5s 2011-03-30 12:51:23 (76.2 KB/s) 続きを読む »

プロキシー経由でyumリポジトリを参照するための設定

インターネット接続にプロキシを経由している環境で、yumリポジトリを参照してパッケージ操作を行う場合には、プロキシに関する情報を設定する必要があります。 設定先のファイルは、/etc/yum.conf です。 設定内容は次の通りですが、パスワードが裸ですので、パーミッションの変更などの保護強化策を施すことも検討してください。

[root ~]# vim /etc/yum.conf [main] cachedir=/var/cache/yum keepcache=0 debuglevel=2 logfile=/var/log/yum.log distroverpkg=redhat-release tolerant=1 exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 # Note: yum-RHN-plugin doesn’t honor this. metadata_expire=1h # Default. # installonly_limit = 3 # PUT YOUR REPOS HERE OR IN separate files named file.repo # in /etc/yum.repos.d proxy=http://プロキシサーバ:ポート ←追加 proxy_username=プロキシユーザ ←追加 proxy_password=プロキシユーザ・パスワード ←追加 続きを読む »

rpmコマンドオプション

yumと並んでよく使うrpmコマンド。いくつかの便利なrpmコマンドオプションを簡単にまとめておきます。

パッケージの情報の表示

[root ~]# rpm -qpi パッケージファイル名

パッケージに含まれるファイルの表示

[root ~]# rpm -qpl パッケージファイル名

パッケージに含まれる設定ファイルの表示

[root ~]# rpm -qpc パッケージファイル名

パッケージの依存関係の表示

[root ~]# rpm -qpR パッケージファイル名

パッケージの更新内容の表示

[root ~]# rpm -qp –changelog パッケージファイル名