browser icon
You are using an insecure version of your web browser. Please update your browser!
Using an outdated browser makes your computer unsafe. For a safer, faster, more enjoyable user experience, please update your browser today or try a newer browser.

Apache MPMモードの変更

Posted by on 2011年5月25日
このエントリーを Google ブックマーク に追加
[`buzzurl` not found]
[`yahoo` not found]
LinkedIn にシェア
GREE にシェア
LINEで送る

これまで、Apache を従来の Prefork モードから、Worker モードに変更することにしました。

Prefork というのは、同時リクエスト分の子プロセスを立てて対応し、
そのプロセス分の専用メモリエリアを確保することになります。
同時リクエストを大きくすると、その分プロセスが増えるため、
必要な物理メモリ量が大きくなります。

それに対して Worker というのは、子プロセスが同時リクエスト分のスレッドを立てて対応し、
子プロセスが確保したメモリをスレッドが共有して使うため、
効率的にメモリを使用することが出来る、ということです。

物理的にメモリが潤沢に載せられるなら問題ないのですが、
マザーボードの関係から物理メインメモリ 512MB までしか載らないという、
今ではレトロでチープなスペックのマシンで、おうちサーバーしています。

かつての様に HTML をゴリゴリ書いて、という時代ならば使用メモリ量も少なくて、
大量アクセスもなんのその、でした。
最近は CMS (コンテンツマネージメントシステム)でWebサイトを構成しますから、
アクセスのたびにサーバーでHTMLを構成するため、使用メモリ量が増えます。

ですから、メモリ量が限られていますので、同時アクセス量を減らすか、
メモリ使用量の効率化しかありません。

ということで、もっとも技術の枯れてて安心な Prefork モードから Worker モードへ
変更することにしました。
変更するにはコンパイルが必要なので、Apache と apr のバージョンアップを兼ねました。

 

で、apr -> Apache -> PHP と更新をし、Apache を再起動させました。
ちゃんとWorkerモードで動いているのを確認しました。

ところが、ホームページにアクセスすると、
『お使いのサーバーの PHP では MySQL 拡張利用できないようです。』
なんておっしゃる。

php5-mysqli が入っていないのかと思って、再インストールしてみるも同じ表示。
もしやと思って、/usr/local/lib/php 以下を見ると、20090626-ztsなんて
ディレクトリが新しく作られていました。

早速、php.iniを修正して動作を確認することができました。
PHPライブラリの場所が変わったとき、未だにドキッとします。

で、古いほうのディレクトリを見ますと、fileinfo と pdf のライブラリが残っていました。
関連するライブラリもバージョンアップして完了です。

このエントリーを Google ブックマーク に追加
[`buzzurl` not found]
[`yahoo` not found]
LinkedIn にシェア
GREE にシェア
LINEで送る

Comments are closed.