MaxClientsは誰のもの?

 

ウェブアプリケーションにおけるMaxClientsとは

快適な動作が保証できる最大値を指定するものと認識しています。

かつては

これを増やせば受け入れる人数が増えるのでパフォーマンスが上がるものなんだという幻想を抱いていた時もありました。^^;

さて、「MaxClients」の値

みなさんの会社では誰がどのように決めているのでしょうか?

dmmではインフラチームが今までの経験(平均的なアプリケーションとサーバスペック)からこのくらいだろうという数字を設定しています。

ただ、最近この値の設定が怪しくなってきました。

増え続ける開発者、短サイクルなデリバリー等により

アプリケーションのパフォーマンスにばらつきがでるようになります。

そのばらつきを考慮できず値をインフラチームが設定することで、

MaxClientsまでの接続を待たずしてサーバの負荷が高くなり、

特定のアプリケーションによる遅延で全体のパフォーマンス遅延へと発展するというケースが見られるようになってきています。

また、こういった例ではいつだって後手後手の対応となってしまいます。

 

これを踏まえて「誰のものか?」という問いかけに戻ります。

ウェブアプリケーション開発者側でデリバリーされるすべてのアプリに対して

保証できる数字を提示してもらえれば、

正確に「快適な動作を保証できる値」を設定が可能であろう思っています。

これにより先手(アプリチューニング、スケールアップ/アウト)での対応が可能となり品質の均一化も同時に解決できるのではないかと。

ですので、私個人としては「ウェブアプリケーション開発者」のものなのかなあと。

あとはフェールセーフな機構として、

すべての処理を見える化し処理に2秒以上かかるものは強制的に排除できるような仕組みを実装

これにより問題の伝搬を防ぐ対応ができれば完璧じゃないかなと。

みなさんは、どのようなお考えをお持ちですかね?

雑感

Posted by Akira


PAGE TOP