nginxのパフォーマンスと互角になる?Apacheをworkerでチューニングする
標準のapacheのpreforkはプロセスで動作するのに対して、nginxと同じスレッドで動作するworkerでは
結局同じ程度のパフォーマンスになるのかな?
実際に自分の目で確かめるために、Apacheをworkerで動作するように挑戦してみました。
phpをmod_phpなどで動作させている場合は、メモリーリークなど動作が不安定になると
いろいろなページで紹介されています。
Apacheをpreforkからworkerに変更するのは、CentOSの場合コメントを外すだけの簡単設定です。
vi /etc/sysconfig/httpd
※コメントを外す
HTTPD=/usr/sbin/httpd.worker
※apacheの再起動
service httpd restart
※動作確認
apachectl -V | grep 'Server MPM'
workerのメリットとしてのメモリー使用量が減った?
後は、mod_phpの動作が不安定になるのを抑える対策として
mod_fastcgiを導入すれば良いと思います。
Apacheのバージョンが2.4系(2.3以上?)の場合は、proxy設定でphp-fpmとの連携ができそうですね。
mod_fastcgiのインストール
yum install mod_fastcgi --enablerepo=rpmforge
mod_fastcgiの設定
mkdir /path/htdocs/fcgi-bin
cp /usr/bin/php-cgi /path/htdocs/fcgi-bin
chown -R apache: /path/htdocs/fcgi-bin
chmod -R 755 /path/htdocs/fcgi-bin
この利用方法はあまり好きでは無いんですよね。PHPのバージョンアップ時の保守性が低下するので。
面倒な設定を省略したい場合は、mod_fastcgiを導入しなくても
workerに設定した時点で、対応されていますが(libphp5-zts.so)・・・
LoadModule php5_module modules/libphp5.so
LoadModule php5_module modules/libphp5-zts.so
関連記事
Nginx fastcgi_cacheのキャッシュを利用時に空のページが表示されるエラー
NginxでfastcgiをキャッシュしWordpressやその他のシステムを高速化していました。 サーバー負荷も抑えられ、ページも高速に表示され満足していたのですが 時々ページが空(真っ白)で表示されることがありました […]
バラバラに構築したWordPressをマルチサイトに移行し各サイトを1つにする
長年Wordpressを使って、サイトを作っているとふと思うことがあった。 Wordpressのバージョンアップ、その他プラグイン・テーマの更新を 各サイト毎に行うのは面倒だ! 最近はセキュリティーホールを突いた攻撃(主 […]
nginx worker_processesとworker_cpu_affinityの設定値・方法
数年前からnginxの話題でWEBシステム開発が盛り上がっていました。 そして、社内でもnginxを利用した開発をしているスタッフが多い中 未だにapacheでのWEBサーバー構築しか経験が無い自分としては このタイミン […]
簡単にapacheからnginxへ移行するツール htaccess to nginx converter
最近、個人的にWEBサーバーのnginxに挑戦中です。 3、4年前あたりから軽量なWEBサーバーnginxが話題になっていて、ついに先日やっとnginxへ挑戦した次第です。 周りの話題についていけないので・・・やっぱり自 […]
今流行のnginx proxy_cache apacheにサイトを移行してみました
今年も残すところあと数日になってきました。 私の中ではもう何日も前からカウントダウンが始まっています。。。 来年に向けて何か整理(頭の中を掃除)していこうと思い 今回、当ブログを今流行のnginx(スタッフが作ったマニュ […]
サーバーリソースを浪費するbotアクセスを遮断すればサイト表示が早くなる
ブログやCSMなどサイト運営を長くしていると、ページ数が増えサイトのボリュームがアップします。 そして、検索エンジンから各ページへのアクセスが徐々に増え、アクセス数の推移を見るのが楽しくなりますよね。 が、アクセスが増え […]