きっかけは佐藤秀峰氏のTwitter。
サーバの台数を増やすことで、セッションレプリケーション負荷がかかり、全体のサーバの負荷が増えるというようなことは、ありえることなのでしょうか?接続方法の問題のような気もするのですが。。
拡張子doですね。Struts? Javaはよく分かりませんが……。
セッションのレプリケーションとあるので、セッションがWebサーバ上のファイルに保存されてるように思えます。この場合に複数のWebがあって、NFSなどでファイル共有しているってことでしょうか。
セッションを保存するためのサーバを1台に決めて、RDBやKVSに保存するようにし、各Webからはそこにアクセスするように変更すればよいでしょう。
まあ、システムの詳細は分からないですし、プログラム直さなくても簡単に対応できることも書いておきます。
まず静的なリソース(CSS、Javascript、デザイン用画像)を、プログラムとは別のサーバから返しましょう。
サーバはKeep-Aliveが有効になっておりApacheがこれらの静的ファイルを配信しているように見えます。ユーザが増えるとメモリを使いまくるので、静的リソース用のサーバソフト(nginxがおすすめ)を使いましょう。
nginxをリバースプロキシにして、バックエンドのApacheにシステムの処理だけプロキシしてもいいですし、サブドメイン(img.mangaonweb.comなど)を作って、別サーバにしてもいいです。
これだけでだいぶ違います。
さらにCSSとJavascriptはgzip圧縮するようにすると、ネットワーク帯域も節約できます。
0 件のコメント:
コメントを投稿