【Project peko】2ch特化型サーバ構築作戦 Part13
レス数が1000を超えています。これ以上書き込みはできません。
>>967
今明らかになっているのは、
http://qb5.2ch.net/test/read.cgi/operate/1087199303/53
にあるように、apache-2.0.xのCGI周りにメモりリークの問題がある
ということだけ。この問題は、最悪のケースで、CGIの出力4096バ
イトごとに32バイトずつのメモリがリークするというもの。
なので、apacheの設定変更で改善の兆しが見えるということは、
メモりリークの影響がシステム陥落の引き金の一つになっている
らしいことはうっすらと見えてきた。
read.cgiを有効にしていると、これまたシステム全体が落ちやすくなる。
ということは、read.cgiも引き金の一つのようだ。ただし、read.cgiを
動かしただけで落ちるわけじゃないので、read.cgiが直接システムを
落としているわけではない。古いread.cgiのソースを見る限り、
read.cgiはDATファイルをmmap()し、要求された部分をhtmlソースと
して出力するCGIプログラムで、特徴としては、実行終了までDAT
ファイルをmmap()し続けるというあたり。つまり、プロセス終了まで
の間、仮想メモリをDATファイルサイズ以上握りっぱなしになる。
なので、処理中のread.cgiプロセスが溜まると、仮想メモリの消費
量が増える。
fox.cgiもたしか仮想メモリを消費しまくるものだったように記憶している。
以上から乱暴に予想すると、FreeBSDの仮想メモリ周りにバグが
いるんじゃないかな。実メモリが不足し始めるあたりで落ちている
のかも。……とすると、mmap()版と非mmap()版のread.cgiの影響
はシステムへの負荷のかけ具合という点でやや違いがある可能
性はある。 >実メモリが不足し始めるあたりで落ちている
これは肌で感じました。 >969
>969
オフィシャル見ると今月だけもで重要な修正かなり入ってるようですね。
ttp://www.freebsd.org/cgi/query-pr-summary.cgi >>968
なるほど。この線は「本筋」である気がします。
i386(banana)は同じ5.2.1Rでも概ね安定に動いているので、
amd64版で特に顕在化する問題であるということは考えられます。
メモリ2Gや3Gのマシンが、4Gのマシンより不安定になるというのも、
> 実メモリが不足し始めるあたりで落ちている
というのを裏付けている気がします。 >>968
なるほど。
実を言うと最近はうっすらとしか状況を見ていなかったので
よくわかっていなかったんですが・・・・w
FreeBSDとapache両方でパッチあての必要がある悪寒。
というわけで>>968を某スレへ投げておきます。 短期的に取れそうな対策としては、
- メモり不足に陥らないためにapacheの設定をつめる。
- read.cgiが暴走してたりしないかチェックする。
- read.cgiを、なるべく早めにmunmap()するように書き換える。
- 敗北感が漂うけれど、シングルプロセッサ設定を試して見る。
comic4の場合、重くなっても最終的に立ち直ることが多いあたりに
何かヒントがありそう。 - TimeOutのデフォルト300秒は多分長すぎるので、思い切って短縮。
- KeepAlive Off。
あたりも効くかも。 >>976
#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 300
なるほど、これを短くするのは意味がありそうですね。
特に携帯相手とかだと。
KeepAlive Offは既に全pekoサーバで実施済みです。 >>977
さっそく、c.2ch.netでTimeoutを300 => 30にしてみた。
【漫画アニメ系】comic4が重い重い重い重い重い×6【もうダメぽ】
http://qb5.2ch.net/test/read.cgi/operate/1087641975/80-91 ということで、c/comic4のTimeoutを20に再設定。
【漫画アニメ系】comic4が重い重い重い重い重い×6【もうダメぽ】
http://qb5.2ch.net/test/read.cgi/operate/1087641975/105-110
105 名前:root ★[sage] 投稿日:04/06/19 23:13 ID:???
詰まってきたので、Timeoutを30=>20にしてみた。
これ以上短くすると、ちょっと副作用がありそうだなぁ。
110 名前:root ★[sage] 投稿日:04/06/19 23:27 ID:???
今日はこれでしばらく様子見してみようかなと。< c
このTimeoutは、
・クライアントがつながってからGET要求を受け取るまで待機する時間
・POSTまたはPUT要求時にTCPパケットを受け取るまで待機する時間
・TCPパケットに応答するACKを受け取るまで待機する時間
だから、携帯がいくら遅いといっても、10秒ぐらいにまではしてもいいかも。 あぼーん過去ログ再構成プロジェクト
http://qb5.2ch.net/test/read.cgi/operate/1080237257/177-180
ということで、memoriesの全ホストについて
残っていたライブdatを全部dat落ちさせました。(174124スレッド)
また、>>954 の設定を追加しました。 >>980
乙でーす。
240 名前: ◆BFzK/mtqM2 投稿日:04/06/12 15:32 ID:4m0m2MQA
すみません。
移転した鯖の携帯用ページが生きています。
確認できたのは、
【etc】
http://etc.2ch.net/utu/i/
【comic2】
http://comic2.2ch.net/rcomic/i/
その他の旧鯖(現在はmemories上)も同様な気がします。。。。
この辺もそのうち直してほしいな。。。 >>979 続き。
それでもピーク時間には詰まってしまい、LAが3ぐらいなのに全然つながらない状態となったため、
(newsplus/mnewsplus等のニュース系は携帯読者が多い)
思い切ってTimeoutを5秒にしてみた。
>>981
これは具体的にどうすればいいのかしら。 >>982
PCと同様に新しい鯖へのリダイレクトがよいです。
>>985
了解です。
いよいよ、あれに対応するのかな。 なんだか対策本部になるかもしれないので、次スレ立ててきます。 あれあれ、あれだよアレ!
ところで、付き合ってる奴を孕ませちゃって、
おろしたいんだけど、金が足りないんだよ。
かねかしてくんねーかなー。
今から口座番号教えるからー 乙です。
いよいよアレですか。
微力ながら協力いたします。 立てました。タイトルをちょっと変更。
【Project peko】2ch特化型サーバ・ロケーション構築作戦 Part14
http://qb5.2ch.net/test/read.cgi/operate/1087666806/ このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。 レス数が1000を超えています。これ以上書き込みはできません。