1月 13 2009

アプリケーションサーバの構成を変えた

Published by HoLY at 9:33:38 under tech

うちの自宅サーバは2本構成で、三国志大戦3Master だけリバースプロキシで別マシンに振っているんだけど、これがうまく動いていなかった。ので、構成を変えてみた。

後日談(というかオチ)を追加しました

[Internet]
    |
[Web Server]
    |
[App Server]

単純にこんな構成で、普通はWeb Server が応答を返すけど、三国志大戦3Masterの非静的ファイルのみ、App Serverに飛ばされる。

OS は両方とも FreeBSD。Web Server は Apache 2.2 で、App Server は mongrel_cluster + PostgreSQL。

問題

どうがんばっても App Server の mongrel が刺さるのが解決できない。 orz

いや単純に知識不足なのかもしれんけど。

netstat すると App Server 側では CLOSE_WAIT なソケットが大量に残ってる。( Web Server 側では FIN_WAIT_2 。)

TCP Timeout 時間の問題かと思って該当の

  • net.inet.tcp.keepidle
  • net.inet.tcp.keepintvl
  • net.inet.tcp.keepinit

あたりをいじってみるも効果なし。

DB待ちみたいに見えてるので、PostgreSQL 側の

  • アクセス数の設定変えたり(詳細省略)
  • 使用バッファのサイズを変えてみたり(詳細省略)
  • pgpool2 を使ってみたり

してもやはりダメ。

というところで、今 mongrel から lighttpd に変えて様子を見ているところ。 とりあえず1日経ったが異常なし。再現しなきゃ FreeBSD + mongrel + PostgreSQL の組み合わせがダメってことかも。

FreeBSD で mongrel だと不都合があるとかそういう話あるのかしらん。

No responses yet

Trackback URI | Comments RSS

Leave a Reply