X

2ch特化型サーバ・ロケーション構築作戦 Part20

レス数が1000を超えています。これ以上書き込みはできません。
1root▲ ★
垢版 |
NGNG
2ch特化型サーバ・ロケーション構築作戦のスレッドです。

・2ちゃんねるのサーバロケーション、PIEに関する関連作業・調整事項
・DNS登録・変更まわりの関連作業・調整事項
・2ちゃんねるのサーバで採用しているOS、FreeBSDに関する情報・調整事項
・各種作戦・プロジェクトとの連携、プロジェクト間の連携

等を取り扱います。

現在、複数サーバによる連携により、
サーバ能力のさらなるスケールアップをめざすための「雪だるま作戦」が進行中です。

また、次世代の携帯アクセス環境をめざした「べっかんこ作戦」も稼動しはじめました。
「2ちゃんねる証券取引所」や、「Be」の機能強化等、
2ちゃんねるは今日も変化し続けています。

前スレ:
2ch特化型サーバ・ロケーション構築作戦 Part19
http://qb5.2ch.net/test/read.cgi/operate/1121886018/
968root▲ ★
垢版 |
NGNG
MaxRequestsPerChild 32000000

も、1/8 にするかな。
969root▲ ★
垢版 |
NGNG
× 1/8
○ 1/4

# MaxRequestsPerChild 32000000
MaxRequestsPerChild 8000000

にした。次回の起動時に有効に。
970root▲ ★
垢版 |
NGNG
あとは、マルチスレッドなApacheがforkするのは、いくない気がするので、
最初から最大プロセスにしておくか。< live22
2006/04/15(土) 22:34:23ID:bxoh0yJy0
>>965-969 乙です.スレッド数減は有効かもですね.

>>970 ん〜それは......マルチスレッド MPM でも fork() するのは
シングルスレッドな親プロセスなんで......
972root▲ ★
垢版 |
NGNG
>>971
なるほど、、、。

とりあえず、「常に最大プロセス数で待つ」設定にしてみた。
どうせ、それで動いても問題ないはずなので。
973root▲ ★
垢版 |
NGNG
なるほど、プロセスが多いとだめみたい。

再度httpd落とし中。
974root▲ ★
垢版 |
NGNG
<IfModule mpm_worker_module>
StartServers 384
Serverlimit 384
MaxClients 3072
MinSpareThreads 3072
MaxSpareThreads 3072
ThreadsPerChild 8
MaxRequestsPerChild 8000000
ThreadLimit 8
MaxMemFree 64000
</IfModule>

にした。

今はちゃんと動いているっぽい。
975root▲ ★
垢版 |
NGNG
破綻はしないけど、やはり挙動不審になる模様。

さらにプロセス数を減少。httpd リスタート中。
976root▲ ★
垢版 |
NGNG
またですね。

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
977root▲ ★
垢版 |
NGNG
いったん httpd を落とし、
matd を落として入ってこないようにして、
httpd をスタートして、matd を再開。
978root▲ ★
垢版 |
NGNG
<IfModule mpm_worker_module>
StartServers 256
Serverlimit 256
MaxClients 2048
MinSpareThreads 2048
MaxSpareThreads 2048
ThreadsPerChild 8
MaxRequestsPerChild 8000000
ThreadLimit 8
MaxMemFree 64000
</IfModule>

さらにプロセス数を減少。@ live22
979root▲ ★
垢版 |
NGNG
スレッド数減少は、かえって負荷が高まった予感。
980root▲ ★
垢版 |
NGNG
<IfModule mpm_worker_module>
StartServers 64
Serverlimit 64
MaxClients 2048
MinSpareThreads 2048
MaxSpareThreads 2048
ThreadsPerChild 32
MaxRequestsPerChild 32000000
ThreadLimit 32
MaxMemFree 64000
</IfModule>

に変更。
981root▲ ★
垢版 |
NGNG
>>980 の方が明らかに楽になり、CPU idle time も増えますね。
ううむ。
982root▲ ★
垢版 |
NGNG
実験的に、

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

にした。
983root▲ ★
垢版 |
NGNG
プロセスが少なくてスレッド数が多いほうが、システムは楽みたいですね。
984root▲ ★
垢版 |
NGNG
ただ、32と64では有意な差はあまりないっぽい気もします。
挙動不審なら、32に戻す方向で。
2006/04/15(土) 23:18:29ID:bxoh0yJy0
そういえばこんな話もあったような.むしろ1プロセスだけにしてしまった方がいい!?

  * FreeBSD, threads, and worker MPM. All seems to work fine
   if you only have one worker process with many threads. Add
   a second worker process and the accept lock seems to be
   lost. This might be an APR issue with how it deals with
   the child_init hook (i.e. the fcntl lock needs to be resynced).
   More examination and analysis is required.
    Status: Works with FreeBSD 5.3. Does not work in previous versions.
        This has also been reported on Cygwin.
986root▲ ★
垢版 |
NGNG
>>985
そういえば、ありましたね。

こんどいやなことがおきたら、思い切ってやってみるかも。
987root▲ ★
垢版 |
NGNG
…といいながら、今実験してみるかな。

ちょっと、やってみます。
988root▲ ★
垢版 |
NGNG
<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

となるようです。
989root▲ ★
垢版 |
NGNG
あと、
・やはり、過去ログの rsync は少なからず負荷になっているっぽい

かな。
過去ログの rsync をするフロントは1台にするのが、よさげみたい。
990root▲ ★
垢版 |
NGNG
さて、Part20も終盤に差し掛かったようです。

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

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

もうちょっとしたら、次スレ立てます。
2006/04/15(土) 23:46:05ID:bxoh0yJy0
>>988 worker.c の処理を見ると

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

じゃないとダメっぽいです.
992root▲ ★
垢版 |
NGNG
>>991
つまり、ThreadLimit, ThreadsPerChild, MaxClients の順でやれと。
やってみます。
993root▲ ★
垢版 |
NGNG
<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 がちゃんと増えないみたい。
994root▲ ★
垢版 |
NGNG
あとは、次スレでやりますか。

準備はじめます。
995root▲ ★
垢版 |
NGNG
2ch特化型サーバ・ロケーション構築作戦 Part21
http://qb5.2ch.net/test/read.cgi/operate/1145114275/
2006/04/16(日) 00:23:08ID:tLC8VCxI0
>>995 乙です.
2006/04/16(日) 00:27:12ID:xi8cthtA0
おつですー
家庭の保守はこまめにね!
2006/04/16(日) 02:36:05ID:Gf32UvAS0
2006/04/16(日) 02:38:01ID:grFxUKmp0
2006/04/16(日) 02:38:32ID:zUKwKF8F0
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況