[過去ログ] 2ch特化型サーバ・ロケーション構築作戦 Part20 (1001レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
953: root▲ ★ 2006/04/15(土) 01:48:45 ID:???0 BE AAS
お、show stopper がなくなったぞ、と思ったら、
desired に移動したものも多いのかな。
外部リンク[html]:www.freebsd.org

と思ってみてみると、やっぱりすね。
外部リンク[sgml]:www.freebsd.org

ということは、ぼちぼちリリースに向けた作業が始まる運びかなと。
954
(1): 動け動けウゴウゴ2ちゃんねる 2006/04/15(土) 01:51:43 ID:l3MyIRYk0(1)調 AAS
ずいぶん昔にも書いたような覚えがありますが
read.cgiのデータ処理部だけなら、全然重い処理じゃないですよ。
ディスクI/Oと圧縮が重いだけで。
.datの必要部分をHTMLにするだけなら、
毎秒500-1000件程度なら処理できると思います。

ただ、もしLAN上の別マシンを使うなら
やはりHTTP経由よりNFSの方が数段軽いでしょう。
カーネル内部で完了するというのは大きいです。
955: root▲ ★ 2006/04/15(土) 02:12:54 ID:???0 BE AAS
>>954 第一段落
私も同じ感覚を持っています。
dso 化した後は、少なくとも tiger サーバでは、
read.cgi が高負担になった記憶はないです。

ということは、read.cgi と offlaw.cgi の処理は、専用フロントにやらせると
よさげなのかな。

で、第二段落ですが、確かにそう思うわけですが、
なにぶん一度痛い目に遭っているので(5.4Rの頃ですが)、
少なくともシビアな I/O のところ(dat直読みするところとか)には、
ちと使いずらいところがありますね。

例のディレイ(書いたdatをすぐにNFS経由で読んだ時に起きたもの)が
きちんと解決できるような気がしないので、ライブなdatには、
ちと使いにくいかんじ。

過去ログのところには、うまくすれば使えるかもですが。
956: 動け動けウゴウゴ2ちゃんねる 2006/04/15(土) 03:08:55 ID:I5hjKHvK0(1)調 AAS
6.1のNFSについて、個人的に、tools/regression/fsx を使用してテストしたりしてますが、
NFSv3 + UDP + リモートマウント
であるならば、今のところ問題ないように思えます。。。
まあ、あくまでfsxでテストした結果なので、実践投入では違うかも知れませんが。

TCPを使用した場合は、理由はわかりませんが、たまにエラーが発生してました。これはKrisの意見
外部リンク[html]:lists.freebsd.org
とも一致します。

ローカルマウント(127.0.0.1に対してNFS経由でマウント)した場合は、
syncのタイミングでエラーになることがありますね。
これについては、まあ、運用でそういうことはあんまりしないかなぁと思って、
個人的には無視していますけど。
957
(1): 株価【650】◆cZfSunOs.U 2006/04/15(土) 20:58:23 ID:bxoh0yJy0(1/5)調 AAS
NFS が正常に動くという前提なら,NFS 使うのが一番簡単かつスマートですね.
以前ボロボロだった時は,ファイル更新時の rename() とタイミングがかち合うと
その際に起こる ESTALE でカーネルごとコケてしまうということだったと思いますが,
過去ログだけならそういうことは起こりにくいでしょうし.

あと,過去ログが HDD 食い潰すって問題も併せて対応するとなると,
過去ログを memories に転送してそっちのを NFS mount するとか......
958
(2): 動け動けウゴウゴ2ちゃんねる 2006/04/15(土) 21:04:02 ID:9yYW06UBO携(1)調 AAS
rootたん乙

俺は絶対rootたんの頭であぼんされているな。

それにしてもjigの人来ない。
もしかしたら2ch用のゲートウェイ作っているのかな。

// ATフィールドでイオナズン防げたらなぁ。
959: root▲ ★ 2006/04/15(土) 21:19:58 ID:???0 BE AAS
>>957
> 過去ログを memories に転送してそっちのを NFS mount するとか......

そんなことを考え始めていたりします。

で、前におかしくなったのは、ESTALE 問題もさることながら、
mount している方が一斉にデッドロックする問題ですね。

ps で見ると一斉に D の状態になって、kill -9 でももちろん死なないし、
どうしようもなくなると。

>>958
イオナズンの解析をした人かしら。
だとしたら特に、あぼーんはしてないと思うです。

bbs.cgi 的には、該当ルーチンを組み入れれば対応できるように組んであるので、
私としては技術情報が出たら、あとはたんたんと組むだけと。
960: 動け動けウゴウゴ2ちゃんねる 2006/04/15(土) 21:38:00 ID:GV1/e9bL0(1)調 AAS
>>958
ヒント:釣り
961: root▲ ★ 2006/04/15(土) 21:42:59 ID:???0 BE AAS
で、memories は 5.3R なので、そのへんが心配だったりします。
6.1R が安定なら、バージョンアップもありかなとは思っていますが、
なにぶん慎重にやらないといけないサーバなので、
できれば(いつになるか…)、現地でやりたいかなと。
962
(1): root▲ ★ 2006/04/15(土) 22:16:48 ID:???0 BE AAS
また破綻か、、、。

6.1-RC 投入するか、あるいは 6.1R が出るまで我慢するか。
963: ◆Reffiz2Zh. 2006/04/15(土) 22:20:57 ID:VW1sPzu60(1)調 AAS
>962
ここまで虫踏みまくって調子よくないようでしたら6.1-RC早期投入した方がいいと
思います。
964: 株価【650】◆cZfSunOs.U 2006/04/15(土) 22:24:06 ID:bxoh0yJy0(2/5)調 AAS
umtx って mutex か何かでしょうか......
まぁ race condition を起こりにくくするということなら mod_cache というのもありますが(>>949).
965
(1): root▲ ★ 2006/04/15(土) 22:24:56 ID:???0 BE AAS
<IfModule mpm_worker_module>
StartServers 96
Serverlimit 128
MaxClients 4096
MinSpareThreads 256
MaxSpareThreads 3072
ThreadsPerChild 32
MaxRequestsPerChild 32000000
ThreadLimit 32
MaxMemFree 64000
</IfModule>

を、

<IfModule mpm_worker_module>
StartServers 384
Serverlimit 512
MaxClients 4096
MinSpareThreads 256
MaxSpareThreads 3072
ThreadsPerChild 8
MaxRequestsPerChild 32000000
ThreadLimit 8
MaxMemFree 64000
</IfModule>

に変更。
1プロセスあたりのスレッド数を、32から8に減少。@ live22
966
(1): root▲ ★ 2006/04/15(土) 22:26:10 ID:???0 BE AAS
httpd が突如、暴走状態になりました。
CPUのidle timeがなくなったのと期を同じくしています。
というか、暴走になったからidle timeがなくなったのかなと。
967
(1): root▲ ★ 2006/04/15(土) 22:27:08 ID:???0 BE AAS
で、1プロセスあたりのスレッド数を下げたのは、なんというか、勘ってやつです。
虫を踏むリスクが、減るんじゃないかなと。
968
(1): root▲ ★ 2006/04/15(土) 22:28:04 ID:???0 BE AAS
MaxRequestsPerChild 32000000

も、1/8 にするかな。
969
(1): root▲ ★ 2006/04/15(土) 22:29:18 ID:???0 BE AAS
× 1/8
○ 1/4

# MaxRequestsPerChild 32000000
MaxRequestsPerChild 8000000

にした。次回の起動時に有効に。
970
(1): root▲ ★ 2006/04/15(土) 22:30:26 ID:???0 BE AAS
あとは、マルチスレッドなApacheがforkするのは、いくない気がするので、
最初から最大プロセスにしておくか。< live22
971
(1): 株価【650】◆cZfSunOs.U 2006/04/15(土) 22:34:23 ID:bxoh0yJy0(3/5)調 AAS
>>965-969 乙です.スレッド数減は有効かもですね.

>>970 ん〜それは......マルチスレッド MPM でも fork() するのは
シングルスレッドな親プロセスなんで......
972: root▲ ★ 2006/04/15(土) 22:35:13 ID:???0 BE AAS
>>971
なるほど、、、。

とりあえず、「常に最大プロセス数で待つ」設定にしてみた。
どうせ、それで動いても問題ないはずなので。
973
(1): root▲ ★ 2006/04/15(土) 22:36:30 ID:???0 BE AAS
なるほど、プロセスが多いとだめみたい。

再度httpd落とし中。
974: root▲ ★ 2006/04/15(土) 22:39:01 ID:???0 BE AAS
<IfModule mpm_worker_module>
StartServers 384
Serverlimit 384
MaxClients 3072
MinSpareThreads 3072
MaxSpareThreads 3072
ThreadsPerChild 8
MaxRequestsPerChild 8000000
ThreadLimit 8
MaxMemFree 64000
</IfModule>

にした。

今はちゃんと動いているっぽい。
975: root▲ ★ 2006/04/15(土) 22:50:44 ID:???0 BE AAS
破綻はしないけど、やはり挙動不審になる模様。

さらにプロセス数を減少。httpd リスタート中。
976: root▲ ★ 2006/04/15(土) 22:52:35 ID:???0 BE AAS
またですね。

LA=700 超え。

last pid: 16772; load averages: 817.21, 292.39, 154.68 up 8+10:43:39 06:52:22
2625 processes:7 starting, 1744 running, 874 sleeping
CPU states: 58.9% user, 0.0% nice, 25.5% system, 15.6% interrupt, 0.0% idle
Mem: 472M Active, 1716M Inact, 357M Wired, 16M Cache, 112M Buf, 954M Free
Swap: 4096M Total, 4096M Free

PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND
12220 root 128 0 8872K 8136K CPU0 0 0:56 3.27% top
16252 ch2live22 130 0 10448K 6876K RUN 0 0:01 0.54% httpd
3633 ch2live22 131 0 2676K 1436K RUN 1 2:44 0.54% bbsd
16223 ch2live22 130 0 9556K 6464K RUN 3 0:01 0.44% httpd
16393 ch2live22 130 0 9552K 6376K RUN 1 0:01 0.29% httpd
16384 ch2live22 130 0 9896K 6540K select 2 0:01 0.29% httpd
16328 ch2live22 130 0 9876K 6700K RUN 3 0:01 0.29% httpd
16168 ch2live22 130 0 9836K 6676K select 2 0:02 0.29% httpd
16204 ch2live22 130 0 9852K 6552K RUN 3 0:01 0.29% httpd
16386 ch2live22 131 0 9788K 6148K RUN 0 0:01 0.25% httpd
16261 ch2live22 130 0 9092K 6068K ucond 1 0:01 0.25% httpd
16767 ch2live22 128 0 2856K 2224K RUN 3 0:00 0.22% perl5.8.7
16384 ch2live22 130 0 9896K 6540K RUN 0 0:01 0.20% httpd
16379 ch2live22 130 0 10588K 7296K RUN 0 0:01 0.20% httpd
16352 ch2live22 131 0 9072K 6052K select 0 0:01 0.20% httpd
16352 ch2live22 131 0 9072K 6052K RUN 2 0:01 0.20% httpd
16358 ch2live22 128 0 9564K 6500K ucond 3 0:01 0.20% httpd
16261 ch2live22 130 0 9092K 6068K ucond 1 0:01 0.20% httpd
16264 ch2live22 130 0 9764K 6592K RUN 3 0:01 0.20% httpd
16208 ch2live22 130 0 9872K 6500K RUN 3 0:01 0.20% httpd
16180 ch2live22 130 0 10488K 7032K RUN 3 0:01 0.20% httpd
16270 ch2live22 130 0 9632K 6588K ucond 3 0:01 0.20% httpd
16426 ch2live22 130 0 8972K 5944K select 1 0:01 0.15% httpd
16397 ch2live22 129 0 9260K 6220K RUN 0 0:01 0.15% httpd
16367 ch2live22 129 0 9188K 6156K RUN 1 0:01 0.15% httpd
16284 ch2live22 131 0 9140K 6120K RUN 3 0:01 0.15% httpd
977: root▲ ★ 2006/04/15(土) 22:55:02 ID:???0 BE AAS
いったん httpd を落とし、
matd を落として入ってこないようにして、
httpd をスタートして、matd を再開。
978: root▲ ★ 2006/04/15(土) 22:56:11 ID:???0 BE AAS
<IfModule mpm_worker_module>
StartServers 256
Serverlimit 256
MaxClients 2048
MinSpareThreads 2048
MaxSpareThreads 2048
ThreadsPerChild 8
MaxRequestsPerChild 8000000
ThreadLimit 8
MaxMemFree 64000
</IfModule>

さらにプロセス数を減少。@ live22
979: root▲ ★ 2006/04/15(土) 22:59:16 ID:???0 BE AAS
スレッド数減少は、かえって負荷が高まった予感。
980
(1): root▲ ★ 2006/04/15(土) 23:00:58 ID:???0 BE AAS
<IfModule mpm_worker_module>
StartServers 64
Serverlimit 64
MaxClients 2048
MinSpareThreads 2048
MaxSpareThreads 2048
ThreadsPerChild 32
MaxRequestsPerChild 32000000
ThreadLimit 32
MaxMemFree 64000
</IfModule>

に変更。
981: root▲ ★ 2006/04/15(土) 23:01:55 ID:???0 BE AAS
>>980 の方が明らかに楽になり、CPU idle time も増えますね。
ううむ。
982: root▲ ★ 2006/04/15(土) 23:04:05 ID:???0 BE AAS
実験的に、

<IfModule mpm_worker_module>
StartServers 32
Serverlimit 32
MaxClients 2048
MinSpareThreads 2048
MaxSpareThreads 2048
ThreadsPerChild 64
MaxRequestsPerChild 32000000
ThreadLimit 64
MaxMemFree 64000
</IfModule>

にした。
983: root▲ ★ 2006/04/15(土) 23:06:17 ID:???0 BE AAS
プロセスが少なくてスレッド数が多いほうが、システムは楽みたいですね。
984: root▲ ★ 2006/04/15(土) 23:07:06 ID:???0 BE AAS
ただ、32と64では有意な差はあまりないっぽい気もします。
挙動不審なら、32に戻す方向で。
985
(1): 株価【650】◆cZfSunOs.U 2006/04/15(土) 23:18:29 ID:bxoh0yJy0(4/5)調 AA×

986: root▲ ★ 2006/04/15(土) 23:20:01 ID:???0 BE AAS
>>985
そういえば、ありましたね。

こんどいやなことがおきたら、思い切ってやってみるかも。
987: root▲ ★ 2006/04/15(土) 23:20:56 ID:???0 BE AAS
…といいながら、今実験してみるかな。

ちょっと、やってみます。
988
(1): root▲ ★ 2006/04/15(土) 23:26:54 ID:???0 BE AAS
<IfModule mpm_worker_module>
StartServers 1
Serverlimit 1
MaxClients 2048
MinSpareThreads 2048
MaxSpareThreads 2048
ThreadLimit 2048
ThreadsPerChild 2048
MaxRequestsPerChild 32000000
MaxMemFree 64000
</IfModule>

にしたら、configtest すると、

Performing sanity check on apache22 configuration:
WARNING: ThreadsPerChild of 2048 exceeds ThreadLimit value of 64
threads, lowering ThreadsPerChild to 64. To increase, please see the
ThreadLimit directive.
WARNING: MaxClients of 2048 would require 32 servers,
and would exceed the ServerLimit value of 1.
Automatically lowering MaxClients to 64. To increase,
please see the ServerLimit directive.
Syntax OK

となるようです。
989: root▲ ★ 2006/04/15(土) 23:31:37 ID:???0 BE AAS
あと、
・やはり、過去ログの rsync は少なからず負荷になっているっぽい

かな。
過去ログの rsync をするフロントは1台にするのが、よさげみたい。
990: root▲ ★ 2006/04/15(土) 23:38:18 ID:???0 BE AAS
さて、Part20も終盤に差し掛かったようです。

・2ちゃんねるラック at XOロケーションの電源問題
・アクセスがヘビーだと虫を踏んでしまう問題
・携帯フルブラウザから書き込む場合の諸条件
(これは2ちゃんねるの規制のコンセプトにもからむ)

など、今回のスレは話題抱負だったように思います。

もうちょっとしたら、次スレ立てます。
991
(1): 株価【650】◆cZfSunOs.U 2006/04/15(土) 23:46:05 ID:bxoh0yJy0(5/5)調 AAS
>>988 worker.c の処理を見ると

・ MaxClients の前に ThreadsPerChild を設定
・ ThreadsPerChild の前に ThreadLimit を設定

じゃないとダメっぽいです.
992: root▲ ★ 2006/04/16(日) 00:01:05 ID:???0 BE AAS
>>991
つまり、ThreadLimit, ThreadsPerChild, MaxClients の順でやれと。
やってみます。
993: root▲ ★ 2006/04/16(日) 00:05:39 ID:???0 BE AAS
<IfModule mpm_worker_module>
# StartServers 32
# ServerLimit 32
# ThreadLimit 64
# ThreadsPerChild 64
StartServers 2
ServerLimit 2
ThreadLimit 1024
ThreadsPerChild 1024
MaxClients 2048
MinSpareThreads 2048
MaxSpareThreads 2048
MaxRequestsPerChild 32000000
MaxMemFree 64000
</IfModule>

で、うまくいきました。

1 と 2048 だと、Apache がちゃんと増えないみたい。
994: root▲ ★ 2006/04/16(日) 00:07:44 ID:???0 BE AAS
あとは、次スレでやりますか。

準備はじめます。
995
(1): root▲ ★ 2006/04/16(日) 00:19:42 ID:???0 BE AAS
2ch特化型サーバ・ロケーション構築作戦 Part21
2chスレ:operate
996: 株価【650】◆cZfSunOs.U 2006/04/16(日) 00:23:08 ID:tLC8VCxI0(1)調 AAS
>>995 乙です.
997: 動け動けウゴウゴ2ちゃんねる 2006/04/16(日) 00:27:12 ID:xi8cthtA0(1)調 AAS
おつですー
家庭の保守はこまめにね!
998: 動け動けウゴウゴ2ちゃんねる 2006/04/16(日) 02:36:05 ID:Gf32UvAS0(1)調 AAS

999: 動け動けウゴウゴ2ちゃんねる 2006/04/16(日) 02:38:01 ID:grFxUKmp0(1)調 AAS

1000: 動け動けウゴウゴ2ちゃんねる 2006/04/16(日) 02:38:32 ID:zUKwKF8F0(1)調 AAS

1001: 1001 Over 1000 Thread AAS
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.025s