勉強会でも記述したとおり、ニコニコ動画のWebサーバはapacheのpreforkで動いてます。そのためapacheプロセスで複数立ち上げてリクエストをこなしているため、主にTCPコネクションとメモリのリソースが消費されてしまいます。そもそもpreforkの理由はphpをNon-ZTS(Zend Thread Safe)でbuildしてるからmpm(worker)ではないのですが、如何せんアプリケーションやほかのモジュールとの相性を検証した上でZTSは投入したいというのもあるため、全部投入というのは頭を悩ませます。 今回は、その悩みから「小さいインフラ」を実現するにむけてのぼんやりした思考の変化をここに書き記しておきます。 メモリ節約 まず消費するリソースで、TCPコネクションについてはOS上でオープンできるポートの論理限界値(Linuxでは20,000ぐらい?)があるので、ホストを増やす