apacheのworkerとprefork

以前にapache2系だとプロセス数が増えないと書きましたが、これは間違いでした。失礼しました。

Apacheコア部分のMPMをスレッド型のモデルworkerにした場合、各プロセスが複数のスレッドを持てるようになることからプロセス数があまり増えなくなるということでした。

workerではない、昔ながらの1リクエスト1プロセスというMPM モデルはpreforkというようです。

workerとpreforkのどちらを使う

少ないプロセス数をなんとかやりくりするためには、スレッドを使うか使わないかというworker、preforkの選択が重要でしたが、単純にプロセス制限をクリアしようと考えるならworkerを選択したいものの、肝心のPHPが完全にスレッド・セーフ仕様となっていないので、preforkを推奨してるってことが問題でした。

移転サーバの仕様

移転した新レンタルサーバで./httpd -lをしてみたら、やはりprefork.cとなっていました。

移転前サーバと変わらないMPM

結局、サーバーを移転してApacheは2.x系になったものの、MPMは変えられなかったということでした。

金額は変わらず、スペックが上がり、OSも新しくなったから良かったかもしれませんが、プロセス数制限の回避がある程度できるかと期待していたものの残念でした。

ネットには、非推奨workerでもphpが動かせたという報告もいくつか見られたので、そのうちやってみてしまおうかと思います。

プロセス制限の限界を超えると

引き続き、レンタルサーバのプロセス数制限を考えていかなければならないのですが、試しにプロセス数の限界超えたらどうなるかと気になり、試しにやってみました。

StartServers 500
MaxClients 200

当たり前かもしれませんが、即サーバがエラーを出し始めます。

(35)Resource temporarily unavailable: fork: Unable to fork new process......

操作不能となるサーバー

エラーが頻発してapacheが反応しなくなってしまっただけでなく、プロセスが上限に達して、肝心のsshすら反応しなくなってしまうという状況になってしまいました。

ヘルプデスクに対応依頼

apache自体は自動でリブートするようですが、立ち上がった瞬間にプロセスを食いつぶすのか、
ssh、sendmail、他も一切受け付けなくなってしまい、結局リモート接続ではどうにもできなくなってしまい、レンタルサーバのヘルプデスクにapacheを落としてもらうようお願いする始末に。

おわりに

今朝復活してたものの、昨日昼頃からのerror_logを見たら20万行以上のログが残されておりました。こんなにアクセス?スパムを受けているのも驚きですが、もう少々プロセス数に余裕をもたしてくれてもいいのにとは改めて思ってしまいました。

process_suu.png
上限75プロセス。節約しないとダメそうです。

ABOUT dtn.jp

この運営ブログをみてdtn.jpの運営サイトに興味をお持ちになった方は下記のリンク集からサイトをご参照ください。PHP・SQL・JS・HTML・CSSや様々なAPIでゼロから立ち上げたサイトを複数運営しています。

dtn.jp関連サイト

  • ディレクトリ型検索エンジンdtn大手サイトは全てサービスを終了し、中小でも運営を継続するところがほとんどなくなってしまったディレクトリ型検索エンジンを2002年から細々運営しており、未だに細かい機能改修も行っております。申請されたサイトは実際に訪問して細かく確認をしているので登録までかなりお時間いただきます。
  • 猫ネコサーチエンジン猫・ペットサイト専用のディレクトリ型検索エンジンです。登録サイトはサイトのスクリーンショット付きでカテゴリに掲載しています。
  • 画像掲示板の泉画像やYouTubeやニコニコ動画が貼り付け可能な匿名画像掲示板です。27ジャンルに分かれた掲示板に、それぞれ100スレッドまで立てることが可能です。
  • ツイータンTwitter APIを使って10分おきに収集したTwitter(ツイッター)のトレンドワードや人気ハッシュタグデータを月別に集計してランキング形式で公開しています。
  • Keyword Tool++Yahoo APIや楽天サイトのデータを日次で収集したデータを元に、EC系キーワードをラインキング形式でご紹介しています。各ワードは検索ボリュームや関連語、24か月の検索ボリュームトレンドを確認も可能です。
  • 消費者金融の泉カードローン商品を取り扱う金融業者を一覧で比較可能としたサイトです。カテゴリ別、人気度別、限度額別、金利別に比較可能なサイトにしています。
  • TrendinGファッションモールに出店するブランドをアイテムヒット率でランキングとしたサイトです。まだβ版です。

各サイトの開発方法などについて

各サイトの開発方法や運用トラブルについては、当ブログで不定期にご紹介しています。Twitterで新着記事のお知らせもしています。宜しければフォロー下さい。