以前、プロセス数があんまり増えないapache2…なんて書きましたが、
これは全くの間違いでした<(_ _ )>スミマセン…
本当は、Apacheコア部分のMPMを、スレッド型のモデルworkerにした場合に、
各プロセスが複数のスレッドを持てるようになることから、
プロセス数があまり増えなくなるということでした。
ちなみに。
このworkerではない、昔ながらの1 リクエスト1プロセスという
MPM モデルはpreforkというようですね。
さて。ここで問題になるのは、スレッドを使うか使わないかという、
worker、preforkの選択なのですが、、、
単純にプロセス制限をクリアしようと考えるなら、
もちろんworkerを選択したいところなのですが、
肝心のPHPが完全にスレッド・セーフな仕様となっていないので、
preforkを推奨してるってことです( ̄- ̄;)
で。移転したサーバーで ./httpd -l してみたら、やっぱりprefork.cでした。。。
結局、サーバー移転してもあんまり変わってなかったってことでしたね。。。
まぁ、金額は変わらずで、スペックが上がって、OSが新しくなったから良かったのかな?
ネットを見ると、非推奨のworkerでphp動かせたってのもチラホラ見るので、
そのうちやってみてしまおうかとも考えてます(^△^;)
process_suu.png
という訳で。。。
引き続きプロセス数の制限を考えていかなければならないのですが、、、
ちょっと試しに、プロセス数限界をホントに超えたらどうなるんだ?
って気になってしまい、、、やってしまいました(^◇^;)
StartServers 50とか、MaxClients 200とか、、、
すると。当たり前ですが、
(35)Resource temporarily unavailable: fork: Unable to fork new process
のエラーとかがバシバシ現れて、あっさりapacheが反応しなくなってしまいました。
が、
それだけなく!!
サーバーがプロセス上限に達してきっており、
肝心のsshすら反応しなくなってしまうという状況になり、、、(@_@;)
自動?でapacheは再起動してるようですが、即プロセス食いつぶすのか、
ssh、sendmail、他も一切受け付けず、、、
結局、自分ではどうにも出来ず、サーバー屋のお姉さんに頼んで、
再起動→即apache停止をやってもらうことに。。。
今朝復活して、昨日昼頃からのerror_logを見たら、20万行以上。。。
誠に申し訳ございませんでした。
それにしても。
もうちょっとプロセス数に余裕もたしてくれればいいのになぁ。。。( ̄- ̄;)

スポンサーリンク