2014年2月10日月曜日

MPMのことのつづき

さてさて。

いずれのMPMであっても、同時に処理できるリクエスト数は、リクエスト処理を行うワーカスレッド数(prefork MPMの場合はプロセス数)で制限される。
同じ数の同時リクエスト処理能力を用意する場合、一般にはプロセス型MPMの方がスレッド型MPMよりもリソースの消費量は多くなるはず。
プロセス自体がスレッドより多量のリソースを消費し、実行されるプロセス数は、同じ同時リクエスト処理能力の場合、プロセス型の方がスレッド型より多いのであるから、仕方がない。
また、処理で必要なメモリについても、スレッド型であれば、同じプロセス空間内でワーカスレッド数分が共有できるメモリも、プロセス型では共有できないことから、やはり消費量が増える傾向にあるだろう。

他方、プロセス型が優位な点は何かと言うと、これは一般的な評価ではないかもしれないが、Apacheが、たとえば脆弱性などへの攻撃によってクラッシュさせられた場合、スレッド型の場合は、同じプロセスで同時に処理されていた別のリクエストも巻き添え被害を受けて異常終了してしまうが、プロセス型の場合はその攻撃を行ったリクエストが終了するだけで他のリクエストには被害が及ばないという点を上げてもよいだろうと思う。

処理構成については、図版を用意したいが、今のところ用意できていない。

とりあえず、この先少しこれらMPMの処理に関わる設定を見ていこうと思っている。

0 件のコメント:

コメントを投稿