X



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

■ このスレッドは過去ログ倉庫に格納されています
1root▲ ★
垢版 |
NGNG
2ch特化型サーバ・ロケーション構築作戦のスレッドです。

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

等を取り扱います。

現在、複数サーバによる連携により、
サーバ能力のさらなるスケールアップをめざすための「雪だるま作戦」が進行中です。
しかし、問題はあらゆる意味で山積の状態です。

また「2ちゃんねる証券取引所」をはじめとする「株」関連や「Be」の機能強化、
あるいは、次世代の携帯アクセス環境をめざした「べっかんこ作戦」の状況など、
気候も暖かくなり、そろそろ気になりだす季節にさしかかりつつある今日この頃、
あいかわらず2ちゃんねるは、刻一刻と確実に変化し続けています。
19root▲ ★
垢版 |
NGNG
topでみると:

52301 ch2live22 2050 4 0 339M 110M accept 1 4:31 27.25% httpd

なるほど、2050というぐらいで2048 + 2 なわけですか。
2006/04/16(日) 01:38:33ID:tLC8VCxI0
>>14 >>16 そういうことですか......ただ,

            rv = apr_thread_create(&threads[i], thread_attr,
                                   worker_thread, my_info, pchild);
            if (rv != APR_SUCCESS) {
                ap_log_error(APLOG_MARK, APLOG_ALERT, rv, ap_server_conf,
                    "apr_thread_create: unable to create worker thread");
                /* let the parent decide how bad this really is */
                clean_child_exit(APEXIT_CHILDSICK);
            }

ということなんで,正常に exit() せず SIGSEGV ってのも妙ではありますが......
21root▲ ★
垢版 |
NGNG
/etc/sysctl.conf に追加した。

# Thank you for AC, http://qb5.2ch.net/test/read.cgi/operate/1145114275/14
kern.threads.max_threads_per_proc=4096
kern.threads.max_groups_per_proc=4096
2006/04/16(日) 01:43:28ID:tLC8VCxI0
>>18
>しかし子プロセス1つだと、
>signal 10とか踏んだ時にまるごとぼーんと死んじゃう瞬間があるのかしら。

まぁそれが弱点といえば弱点ですね.ただ,これまで SIGBUS になった時は
どっちにしろ一気にどん詰まりになってるようなんで実際上あまり変わらないかもですが......

>>19 main 1 + listener 1 + worker 2048 ですね.
2006/04/16(日) 01:43:57ID:8eE42Jnd0
>>14 のように書きましたが、
個人的には、1プロセスあたりのスレッド数をあまり多くするのは反対ですけどね。
多すぎず、少なすぎずがいいと思いますが。
でも、いろいろ試してみるのも良いかもしれませんね。
24root▲ ★
垢版 |
NGNG
>>22-23
なるほど。

システムのデフォルトのリミット値を尊重して、
まずは 2 プロセス、1024 スレッドで試してみようかなと。
25root▲ ★
垢版 |
NGNG
<IfModule mpm_worker_module>
# StartServers 32
# ServerLimit 32
# ThreadLimit 64
# ThreadsPerChild 64
StartServers 2
ServerLimit 2
ThreadLimit 1024
ThreadsPerChild 1024
# StartServers 1
# ServerLimit 1
# ThreadLimit 2048
# ThreadsPerChild 2048
MaxClients 2048
MinSpareThreads 2048
MaxSpareThreads 2048
MaxRequestsPerChild 32000000
MaxMemFree 64000
</IfModule>

にした。@ live22
2006/04/16(日) 01:49:03ID:tLC8VCxI0
>>23 まぁこれは↓ということもあったんで.
http://qb5.2ch.net/test/read.cgi/operate/1140540754/985

ただ,一方でスレッド数を増やした際の挙動が心配というのも確かにありますが.
27root▲ ★
垢版 |
NGNG
>>26
ですね。

ただ、虫踏みは prefork MPM でも発生することがわかっているので、
いずれにせよ起こるリスクはあるということで、
いろいろ実験してみる価値は、あるのかなと。
2006/04/16(日) 02:07:15ID:8eE42Jnd0
>>22

前から不思議に思ってたのが

>ただ,これまで SIGBUS になった時は
>どっちにしろ一気にどん詰まりになってるようなんで実際上あまり変わらないかもですが......

の動作で、何で一度にSIGBUSになるんだろうなぁと思っていました。
仮に thread library の問題だとして、1プロセスが落ちるならわかるんですが、
どうして一度に複数落ちちゃうのかなぁと。
まあ、load average が異常にあがったら落ちちゃうとか、
MaxClients に達したら落ちちゃうとか考えられるかもですが、
少なくとも、うちじゃあ load average が1000になろうと MaxClients いっぱいになろうと
SIGBUSで落ちるのは見たことないです。。
29root▲ ★
垢版 |
NGNG
後ろでmake -j 4 を動かすと、CPU idle timeがなくなり、
動きがぐにゃぐにゃになりました。< スレッドが多いと
8/256 にしたら、落ち着いたみたい。

<IfModule mpm_worker_module>
# StartServers 32
# ServerLimit 32
# ThreadLimit 64
# ThreadsPerChild 64
StartServers 8
ServerLimit 8
ThreadLimit 256
ThreadsPerChild 256
# StartServers 2
# ServerLimit 2
# ThreadLimit 1024
# ThreadsPerChild 1024
# StartServers 1
# ServerLimit 1
# ThreadLimit 2048
# ThreadsPerChild 2048
MaxClients 2048
MinSpareThreads 2048
MaxSpareThreads 2048
MaxRequestsPerChild 32000000
MaxMemFree 64000
</IfModule>
30root▲ ★
垢版 |
NGNG
ちなみにさっきおかしかった時は、top で見ると umtx という状態の httpd が
たくさんいました。たぶんですが、スレッドが多すぎなのかなと。
31root▲ ★
垢版 |
NGNG
ということでこれは必要なさげなので、
/etc/sysctl.conf からコメントアウトした。

#kern.threads.max_threads_per_proc=4096
#kern.threads.max_groups_per_proc=4096
2006/04/16(日) 02:15:10ID:51oKQ0aA0
>>30
ちょwwwグーグル先生は休校ですか?
33root▲ ★
垢版 |
NGNG
>>28
うーむ。そうですか。

この状態の時に signal 10 で落ちるのは、よく見かけるですね。
2006/04/16(日) 02:17:07ID:8eE42Jnd0
>>30
umtxですか。
ucondならわかるんですが。

普段がacceptで、負荷の時にucondになるなら、
それは、空きworkerスレッドがないため、
listenerスレッドがworkerスレッドが空くのを待っている状態です。
つまり、ThreadsPerChildが256なら、256いっぱいいっぱいってことです。
35root▲ ★
垢版 |
NGNG
>>34
ucond はこんな感じでみかけますね(現在の状態、カーネルmake中)。

PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND
86396 root 132 0 12524K 11916K CPU2 2 0:02 62.53% cc1
86398 root 132 0 10240K 9668K CPU1 0 0:02 56.89% cc1
3633 ch2live22 97 0 2788K 1552K CPU3 3 12:45 3.52% bbsd
86388 root 129 0 732K 620K select 2 0:00 2.56% make
86229 root 96 0 5688K 4944K CPU0 3 0:00 1.38% top
77348 ch2live22 100 0 63504K 30708K select 3 1:25 0.88% httpd
77344 ch2live22 100 0 74416K 41728K select 0 1:25 0.49% httpd
77344 ch2live22 100 0 74416K 41728K select 0 1:25 0.34% httpd
77342 ch2live22 100 0 60492K 28796K select 0 1:25 0.34% httpd
77341 ch2live22 100 0 73844K 40696K select 3 1:25 0.29% httpd
77346 ch2live22 100 0 66564K 34484K select 3 1:26 0.24% httpd
77346 ch2live22 100 0 66564K 34484K ucond 3 1:26 0.24% httpd
77343 ch2live22 100 0 61928K 30148K ucond 0 1:26 0.24% httpd
77343 ch2live22 100 0 61928K 30148K select 0 1:26 0.24% httpd
77348 ch2live22 100 0 63504K 30708K select 0 1:25 0.24% httpd
77348 ch2live22 100 0 63504K 30708K ucond 0 1:25 0.24% httpd
77344 ch2live22 100 0 74416K 41728K ucond 1 1:25 0.24% httpd
77345 ch2live22 100 0 69808K 37128K select 0 1:25 0.24% httpd
77343 ch2live22 100 0 61928K 30148K select 1 1:26 0.20% httpd
77343 ch2live22 100 0 61928K 30148K ucond 0 1:26 0.20% httpd
77341 ch2live22 100 0 73844K 40696K select 0 1:25 0.20% httpd
77345 ch2live22 100 0 69808K 37128K select 0 1:25 0.20% httpd
77345 ch2live22 100 0 69808K 37128K ucond 0 1:25 0.20% httpd
77347 ch2live22 100 0 69160K 36336K select 0 1:24 0.20% httpd
77348 ch2live22 100 0 63504K 30708K select 0 1:25 0.15% httpd
77344 ch2live22 100 0 74416K 41728K ucond 0 1:25 0.15% httpd
36root▲ ★
垢版 |
NGNG
>>34
> つまり、ThreadsPerChildが256なら、256いっぱいいっぱいってことです。

ということは、ucond ばかりになる時は、何らかの対策が必要と。

Apache status (server-statusで見られるやつ)を見る限り、余裕しゃくしゃくに見えますが、
それでもいっぱいになることがあるのかしら。

>>32
ん、何かまずかったかしら。
2006/04/16(日) 02:23:29ID:8eE42Jnd0
>>35
ああ、すいません。
私が言ったのは、topでスレッドを展開せずに表示した時のことです。
経験上、スレッドを展開しなかったときは、
listnerスレッドの状態が accept とか ucond とかであらわれるようなので。
38root▲ ★
垢版 |
NGNG
>>37
なるほど、そういうことですか。
(-H状態ではない場合と)
2006/04/16(日) 02:36:34ID:8eE42Jnd0
例えば、
http://qb5.2ch.net/test/read.cgi/operate/1140540754/674
のような状態は、もう、どのプロセスもパンパンだと思うんですよ。
で、なんで、パンパンになっちゃうのかと言うと、
普通に考えれば worker の処理が完了する前にどんどん接続を受け入れちゃうからで、
つまり、workerの処理に時間がかかりすぎていると。
Apacheって、workerの処理時間ログに出せませんでしたっけ?
40root▲ ★
垢版 |
NGNG
DEVICE_POLLING ありにした。

%ifconfig -a
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=4b<RXCSUM,TXCSUM,VLAN_MTU,POLLING>
inet6 fe80::230:48ff:fe53:ec66%em0 prefixlen 64 scopeid 0x1
inet 206.223.150.54 netmask 0xffffff00 broadcast 206.223.150.255
ether 00:30:48:53:ec:66
media: Ethernet autoselect (1000baseTX <full-duplex>)
status: active
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=4b<RXCSUM,TXCSUM,VLAN_MTU,POLLING>
inet6 fe80::230:48ff:fe53:ec67%em1 prefixlen 64 scopeid 0x2
inet 192.168.100.1 netmask 0xffffff00 broadcast 192.168.100.255
ether 00:30:48:53:ec:67
media: Ethernet autoselect (1000baseTX <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet 127.0.0.1 netmask 0xff000000

心なしか、軽くなったような気も。
41root▲ ★
垢版 |
NGNG
>>39
WBCの時ですね。

あぁ、なんかちょっとだけ限界に近づいたなぁ、っていう感じを初めて受けた時でした。
work の処理時間ですか。んー、SunOS さんが詳しそうですね(私はそこまで知らないです)。
42root▲ ★
垢版 |
NGNG
man polling
...
SUPPORTED DEVICES
Device polling requires explicit modifications to the device drivers. As
of this writing, the dc(4), em(4), fwe(4), fwip(4), fxp(4), ixgb(4),
nge(4), re(4), rl(4), sf(4), sis(4), ste(4), vge(4), vr(4), and xl(4)
devices are supported, with others in the works.

がーん、cobra2247 (Cobra)の I/F って bge だから、この機能ないのね。
/usr/src/sys/dev/bge で grep POLLING しても、何も出てこないし。
43root▲ ★
垢版 |
NGNG
で、この PREEMPTION なし、DEVICE_POLLING ありは、
BG3/BG4 (携帯バックエンド)にもいずれ使えそうだから、
苦しくなったら導入を考えようと。
2006/04/16(日) 02:53:41ID:8eE42Jnd0
>>42
6.1では

SUPPORTED DEVICES
Device polling requires explicit modifications to the device drivers. As
of this writing, the bge(4), dc(4), em(4), fwe(4), fwip(4), fxp(4),
ixgb(4), nge(4), re(4), rl(4), sf(4), sis(4), ste(4), vge(4), vr(4), and
xl(4) devices are supported, with others in the works

ですね。
45root▲ ★
垢版 |
NGNG
>>44
おーっ ♥

%pushd /usr/src/sys/dev/bge
/usr/src/sys/dev/bge ~
%ls
if_bge.c if_bgereg.h
%grep POLLING *.[ch]
if_bge.c:#ifdef DEVICE_POLLING
if_bge.c:#ifdef DEVICE_POLLING
if_bge.c: ifp->if_capabilities |= IFCAP_POLLING;
if_bge.c:#ifdef DEVICE_POLLING
(以下略)
46root▲ ★
垢版 |
NGNG
もう今日は、live22 をおびやかすような負荷は来ないかな。

HDDアクセスとネットワークアクセスが重なると、
特にHDDをヘビーに触ると、苦しくなりやすい

んだとすると、PREEMPTIONなし+DEVICE_POLLINGありの設定は、
理論上は効果を期待できそうな気がします。

で、Apacheのスレッド数の変更をし、
最初から最大値で待たせ、かつプロセス数をちょっと控えめに設定変更しました。

で、cobra サーバでも 6.1R にすれば、DEVICE_POLLING が使えることもわかりました。

まだまだ先は長そうですが、今日のところはこんなかんじで。
47root▲ ★
垢版 |
NGNG
systat で見ると、数千回とかあった em0 と em1 の割り込みがなくなって、ちと感動。
(というか、あたりまえか)

DEVICE_POLLING のチューニング点は、

・HZ を変える(今1000 = 6.0Rのデフォルト)
・kern.polling.user_frac の調整
> When polling is enabled, and provided that there is some work to
> do, up to this percent of the CPU cycles is reserved to userland
> tasks, the remaining fraction being available for polling pro-
> cessing. Default is 50.

あたりですか。あとは man polling を読めと。

今日はそろそろ寝る時間で。
2006/04/16(日) 03:13:53ID:8eE42Jnd0
お疲れさまでした。

あと、httpdが落ちた時にcoreファイルが作られれば、
もっと原因解明ができると思います。
その場合、libthr, httpd, apache モジュール等、関連する全てのバイナリを
-O オプションなし & -g オプションつきでコンパイルしていれば、
どこで落ちたかはっきりするはず。
パフォーマンスは多少ダウンするし、バイナリも大きくなりますけどね。。
2006/04/16(日) 10:19:07ID:tLC8VCxI0
乙でした.

>>39 >>41 これでしょうか?

%D  The time taken to serve the request, in microseconds.
2006/04/16(日) 16:18:57ID:bf93xmwa0
live22のapacheで、workerの処理時間がかかることって
なんでしょうかね。
.dat/.txtの読み出しぐらいしかしていないと思うから、
ファイルの読み出しに時間がかかっているのですかね。
(bbsdの書き込みでブロックされているとか。)
51root▲ ★
垢版 |
NGNG
>>50
HDDとネットワークの割り込みの取り合い(race condition)かなぁと思っていたりします。
昨日の出来事でかなりの確率でそうかなと、思うようになってきました。

今日2:30の設定変更でDEVICE_POLLING(この部分に有効といわれている)を入れたのが、
どう働くかなと。
52root▲ ★
垢版 |
NGNG
ex14で、昨日live22で詰めた設定の実験を始めた。

・Apache 2.2 / 64bit + patch + worker MPM
・libthr

・DEVICE_POLLINGなし
・non-雪だるまサーバ

<IfModule mpm_worker_module>
StartServers 4
Serverlimit 4
ThreadLimit 256
ThreadsPerChild 256
MaxClients 1024
MinSpareThreads 1024
MaxSpareThreads 1024
MaxRequestsPerChild 32000000
MaxMemFree 64000
</IfModule>
2006/04/17(月) 22:45:42ID:???0
ex14、妙なシステムダウン。
pingかかるものの、ログインできず。

ブレーメンのログやapache statusのログを見ても、
負荷がかかったような様子はなし。

>>52 が原因か。ううむ。
2006/04/17(月) 22:50:22ID:???0
サーバダウンスレは流れそうなので、こっちに状況を。

www port: 詰まる
telnet port: 正しく connection refused
ftp port: 詰まる
ssh port: 繋がるものの、その先の応答なし
NGNG
で、>>52 にあたり変えたのは、

・libpthread => libthr (libmap.conf 設定)
・httpd.conf (>>52 の部分のみ)

ううむ。
2006/04/17(月) 23:25:56ID:66b4DbIa0
単なる憶測ですが,メモリか何かの資源を食い潰したとかそんな感じなんでしょうかねぇ......
NGNG
>>56
http://mumumu.mu/mrtg/mrtg-rrd.cgi/memory/ex14memory.html

最初にそれを疑ったんですが、
あんまり、それっぽくもないんですよね(上記)。

libthr とかかしら。
NGNG
いずれにせよ上がったら、
1024 thread も要らないっぽいので、 StartServers と ServerLimit を 3 にして、
768 に減らしてみるということで。

# 今日はもうだめぽ。
2006/04/17(月) 23:34:08ID:66b4DbIa0
>>57 なるほど......

カーネル内の何かのロックで引っかかってるかとかですかねぇ......
NGNG
>>59
そんな気がするですね。
TCP で接続しようとすると、ユーザランドにいかないっぽい(>>54)ので。
NGNG
リブート入ったので、

<IfModule mpm_worker_module>
StartServers 3
ServerLimit 3
ThreadLimit 256
ThreadsPerChild 256
MaxClients 768
MinSpareThreads 768
MaxSpareThreads 768
MaxRequestsPerChild 32000000
MaxMemFree 64000
</IfModule>

に変更。 < ex14
NGNG
結構、ネットワークからの割り込み入っていますね。
systat とかで見ると 2500 以上あります。< この時間

6.1R が出たら、DEVICE_POLLING にするということで。< ex14
NGNG
で、
pid 789 (httpd), uid 2003: exited on signal 10
pid 791 (httpd), uid 2003: exited on signal 10
pid 2529 (httpd), uid 2003: exited on signal 10
pid 3980 (httpd), uid 2003: exited on signal 10

やはり、signal 10 で死ぬことがある模様。
read.cgi かな。

通常サーバを 256 threads/process で動かすと、ちと危険かもですね。
やはり、もうちょっと減らそう。
2006/04/18(火) 00:00:30ID:S3WKKMdr0
>>61-62 乙です.>>51 みたいなことが ex14 でも起きたんでしょうかね......?
race condition だとするとタイミングの問題でしょうし.
NGNG
<IfModule mpm_worker_module>
# StartServers 3
# ServerLimit 3
# ThreadLimit 256
# ThreadsPerChild 256
StartServers 12
ServerLimit 12
ThreadLimit 64
ThreadsPerChild 64
MaxClients 768
MinSpareThreads 768
MaxSpareThreads 768
MaxRequestsPerChild 32000000
MaxMemFree 64000
</IfModule>

こうしてみた。
NGNG
>>64
ありえますね。

前にも数回、同じような不可解な停止(ただし高負荷時)にあったので、
そうかなと思っていたり。
2006/04/18(火) 18:11:36ID:gQZn44ICO
GFSはないか、ないな
2006/04/18(火) 21:23:34ID:???0
Apr 18 04:48:07 <0.6> tiger2522 kernel: pid 49512 (httpd), uid 2001: exited on signal 10
Apr 18 04:48:08 <0.6> tiger2522 kernel: pid 51181 (httpd), uid 2001: exited on signal 10
Apr 18 04:48:11 <0.6> tiger2522 kernel: pid 47579 (httpd), uid 2001: exited on signal 10
Apr 18 04:48:53 <0.6> tiger2522 kernel: pid 54596 (httpd), uid 2001: exited on signal 10
Apr 18 04:48:54 <0.6> tiger2522 kernel: pid 54600 (httpd), uid 2001: exited on signal 10
Apr 18 04:49:02 <0.6> tiger2522 kernel: pid 47591 (httpd), uid 2001: exited on signal 10
Apr 18 04:49:03 <0.6> tiger2522 kernel: pid 49264 (httpd), uid 2001: exited on signal 10
Apr 18 04:49:23 <0.6> tiger2522 kernel: pid 54777 (httpd), uid 2001: exited on signal 10
Apr 18 04:49:24 <0.6> tiger2522 kernel: pid 46092 (httpd), uid 2001: exited on signal 10
Apr 18 04:49:26 <0.6> tiger2522 kernel: pid 50612 (httpd), uid 2001: exited on signal 10
Apr 18 04:49:29 <0.6> tiger2522 kernel: pid 51482 (httpd), uid 2001: exited on signal 10
Apr 18 04:49:30 <0.6> tiger2522 kernel: pid 54770 (httpd), uid 2001: exited on signal 10
Apr 18 04:50:00 <0.6> tiger2522 kernel: pid 54606 (httpd), uid 2001: exited on signal 10
Apr 18 04:50:12 <0.6> tiger2522 kernel: pid 54903 (httpd), uid 2001: exited on signal 10
Apr 18 04:51:22 <0.6> tiger2522 kernel: pid 54904 (httpd), uid 2001: exited on signal 10
Apr 18 04:51:45 <0.6> tiger2522 kernel: pid 54880 (httpd), uid 2001: exited on signal 10
Apr 18 04:51:55 <0.6> tiger2522 kernel: pid 55080 (httpd), uid 2001: exited on signal 10

ううむ。
2006/04/18(火) 21:34:22ID:???0
とりあえず、

# XXX
kern.maxvnodes=200000

にしてみた。@ live22
NGNG
今は、ゆとりありだからわからないなぁ。

%sysctl vfs.numvnodes
vfs.numvnodes: 39509
%sysctl kern.maxvnodes
kern.maxvnodes: 200000

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/configtuning-kernel-limits.html
NGNG
このへんは大丈夫(だった)っぽいなぁ。

%netstat -m
544/4016/4560 mbufs in use (current/cache/total)
520/1878/2398/32768 mbuf clusters in use (current/cache/total/max)
14/562/8704 sfbufs in use (current/peak/max)
1176K/4760K/5936K bytes allocated to network (current/cache/total)
0 requests for sfbufs denied
0 requests for sfbufs delayed
355 requests for I/O initiated by sendfile
64 calls to protocol drain routines
2006/04/18(火) 22:25:21ID:S3WKKMdr0
CoreDumpDirectory が効いて core を取れればどこでコケてるか絞りやすいんでしょうけどね.
それがナゼ効かないのか......
NGNG
Apache 2.2.0 にしてから試してなかったので、
今、入れてみた。

# XXX
CoreDumpDirectory /tmp
NGNG
kern.polling.burst_max
Upper bound for kern.polling.burst. Note that when polling is
enabled, each interface can receive at most (HZ * burst_max)
packets per second unless there are spare CPU cycles available
for polling in the idle loop. This number should be tuned to
match the expected load (which can be quite high with GigE
cards). Default is 150 which is adequate for 100Mbit network and
HZ=1000.

うむむむ。
NGNG
http://lists.freebsd.org/pipermail/freebsd-net/2004-January/002719.html
NGNG
http://lists.freebsd.org/pipermail/freebsd-net/2004-January/002721.html
NGNG
# XXX
kern.polling.burst_max=400
kern.polling.each_burst=15

HZ=2000 にするのは、今日寝る前あたりにトライで。
NGNG
こんどは、HDDに負荷かけてみる。
NGNG
fsck -n /home とか find /home -ls とかやってみたけど、
苦しい状況は再現されず。
NGNG
前に make -j 4 で再現した「ぐにゃぐにゃ」も、再現されない模様。

# 負荷が低いせいかも。
2006/04/19(水) 00:19:26ID:5IxMwuZQ0
ハードウェア的な問題はないのでしょうか?
具体的にはHDDとかメモリとか。

FreeBSDではなくてLinuxの話ですが、HDDが死にかけの時は、
コマンド入力したらSIGBUSで落ちたりしてました。
今回の件とは違うので、参考にならないかもですが。
NGNG
>>81
ハードですか、、、。
一応、ないとは思いますけど、、、。 < 症状から

# そういえば某飲み会で、コマンドを入力すると全部バスエラーになるサーバの対応を
# していたような、していないような。(その時の原因はHDDのI/Oエラーだったみたいです)
2006/04/19(水) 00:23:17ID:viNfO5V/0
人為的にやるなら,ab 攻撃 + >>79 みたいなのとか.
NGNG
>>83
やはりそれですかね。
NGNG
HZ=2000 なカーネルに入れ替え。@ live22

%sysctl kern.clockrate
kern.clockrate: { hz = 2000, tick = 500, profhz = 1333, stathz = 266 }
NGNG
read.cgi再開発スレ Part2
http://qb5.2ch.net/test/read.cgi/operate/1105909861/518-521

今見ていますが、_datArea の rsync が、とっても負荷が高いですね。

どうせ不安定なんだから(おい)、ここをread onlyのNFSにしてみるとか。
やってみるか。
NGNG
@ live22

/etc/rc.conf:
# NFS for _datArea
nfs_server_enable="YES"
nfs_server_flags="-u -t -n 8"
rpcbind_enable="YES"
rpc_statd_enable="YES"
rpc_lockd_enable="YES"

@ live22x1

/etc/rc.conf:
# NFS for _datArea
nfs_client_enable="YES"

/etc/fstab:
# NFS for _datArea
192.168.100.1:/home/ch2live22/_datArea /home/ch2live22x/_datArea nfs ro,bg,mntudp,intr,nosuid 0 0
NGNG
>>87 の前に、今ある _datArea の rsync 止めて、
ディレクトリを mv した。
NGNG
@ live22
/etc/exports: 設定。
NGNG
>>87 を、live22x2 と live22x3 にも適用。
NGNG
結局、_datArea の rsync をとりあえずやめることにして、
プライベートネットワーク経由での NFS (read only) にしてみた。

フロントで動く read.cgi バイナリや offlaw.cgi バイナリは
NFS 経由で、dat を読みに行くと。

他の部分(SETTING.TXT等)は、NFS使用せず(rsyncで運ぶ)。
NGNG
ということで、以前のNFS利用と異なるのは、

・生datやSETTING.TXTはNFSしない

かな。

ようは、NFSするのは過去ログ関係だけにしたと。
で、代償に過去ログの rsync が不要になったと。

このぐらいの頻度なら、NFSの発狂やrace conditionもないといいなぁ、と。
2006/04/19(水) 04:31:06ID:4+TIZ9up0
ちなみに _datArea という名前は非公開だったり
NGNG
>>93
あ、、、そうでしたか。
ごめんなさい。


例のPIEへの大引越しの際に、_datArea という名前で
過去ログを公開していたので、公開情報だと思ってしまいました。
すみません。
NGNG
…管理人にメールしておきます。
(´・ω・`)
NGNG
>>95 done.
2006/04/19(水) 04:43:12ID:xfzH2rUP0
|´・ω・)ゝ
2006/04/19(水) 04:44:38ID:4+TIZ9up0
いくつか有る壁の一つだから
大きなことは起こらないとおもいますー

2002年でしたっけ
三台ほどデータ消されたの

たぶんそれ以降強固になっているはずですんで、
そのうち壁を一つ増築するということで、
NGNG
>>98

はい。
NGNG
http://kaba.2ch.net/test/read.cgi/accuse/1025091914/934
2006/04/19(水) 06:30:31ID:qZB3EeX60
http://qb5.2ch.net/operate/kako/1085/10852/1085244404.html
>>10とか>>14とか
2006/04/19(水) 06:42:22ID:xfzH2rUP0
|´・ω・)ゝ 緊急時だから記憶しないであげて
2006/04/19(水) 10:06:16ID:z72z+rJt0
>>96
つ ▲
NGNG
あれって非公開だったんだ、
105root▲ ★
垢版 |
NGNG
rsync の負荷がおそろしく軽くなった。

「だんだん弱くなってきた」傾向からいっても、
これまでの観測結果からしても、過去ログの再帰的な rsync をやめたのは、
相当効果が大きいと思う。

あとは、この部分が NFS でうまく動いてくれれば。
2006/04/19(水) 16:35:51ID:b6ipj1UF0
株式会社jig.jpの菊池です。
弊社サービス「jigブラウザ」から2ちゃんねる掲示板への書き込みの件ですが、
弊社テストサーバでの対応が完了致しましたので技術情報を公開致します。

IPアドレス:210.153.93.58

携帯側のIPアドレスはX-Forwarded-Forヘッダーで端末固有情報は
X-Subscriber-IDヘッダーで送信するようにしています。

テストサーバでの書き込みの確認ができましたら、全サーバのIPを公開したいと考えております。

宜しくお願い致します。
107root▲ ★
垢版 |
NGNG
>>106
了解です。
まずは、テストサーバの仮登録ということですね。

X-Forwarded-For: xxx.xxx.xxx.xxx
X-Subscriber-ID: serial_string

という形であると想定して bbs.cgi に組み入れ、
このサーバ(qb5)に入れます。

こちらの作業ができたところで、このスレで連絡します。
よろしくお願いいたします。
2006/04/19(水) 16:59:45ID:b6ipj1UF0
早速の回答ありがとうございます。
ご連絡お待ちしております。
109root▲ ★
垢版 |
NGNG
あと、X-Subscriber-ID: 情報を送信いただくにあたっての確認です。

http://br.jig.jp/session_XA2HSjsCa3SdTu3V/pc/model.html

# 対応機種が多いですね。

いい機会なので、個別の方法をまとめておきます。

1) DoCoMo

User-Agent: の serXXXXXXXXXXXXX を、加工せずそのまま送ってください。

2) au

X_UP_SUBNO の情報を、加工せずそのまま送ってください。

3) Vodafone

User-Agent: の SNxxxxxxxxxx を、加工せずそのまま送ってください。

4) Willcom

うーむ、とりあえず保留にさせてください。
仕様がわからないと、対応のしようが。

逆に仕様がわかれば、これを機会に対応できるのかな。
110root▲ ★
垢版 |
NGNG
>>109 は、ser や SN を*つけたままで*、という意味になります。
よろしくおねがいします。
111root▲ ★
垢版 |
NGNG
いい機会だから、菊池さんにひとつ質問してしまいます。

Willcom 版 jig ブラウザは、

1) 2ちゃんねるには御社ゲートウェイ経由でのアクセスになるのですか。
2) それとも、携帯電話につく IP アドレス直でアクセスされるのでしょうか。
NGNG
[FreeBSD-Announce] FreeBSD Security Advisory FreeBSD-SA-06:14.fpu
http://lists.freebsd.org/pipermail/freebsd-announce/2006-April/001061.html
113root▲ ★
垢版 |
NGNG
お、ひょっとして、

> IPアドレス:210.153.93.58

は、逆引きできない IP アドレスかしら。

だとすると、
> X-Forwarded-Forヘッダー

との兼ね合いで、ちといまいちかもです。
(全然別のProxy判定にひっかかる可能性がある)

DNS逆引きが設定されていれば問題ないので、
テストの際には逆引きを正しく指定いただくか、
あるいは他のヘッダでIPアドレス情報を渡す必要があります。
114root▲ ★
垢版 |
NGNG
…というか、こっちで対応すればいいのか。>>113

該当部分、IPアドレス 210.153.93.58 だけ一時的にスルーにします。
2006/04/19(水) 18:05:58ID:b6ipj1UF0
>>109
了解致しました。
>>111
ゲートウェイ経由でのアクセスになります。
端末情報を送っていいかWILLCOMの方に確認致しますので、こちらの対応は保留とさせていただきます。
116root▲ ★
垢版 |
NGNG
>>115
Willcom の端末情報は、
一般的な方法では素の Willcom 電話からは得られないはずです、、、。

ということで2ちゃんねるには、送っていただかなくて問題ありませんです。
というか、たぶん許可なく送っちゃいけないんだと思います。

# 端末情報とれると*すんごく*うれしいけど、たぶん非公開ですね、それ。

# Willcomの対応は、別途考えましょう。
117root▲ ★
垢版 |
NGNG
菊池様;

というわけで、qb5 サーバに対応版 bbs.cgi を入れました。

・DoCoMo/au/Vodafone いずれも対応できたはずです。
・Willcom は未対応です(携帯用ブラウザからの情報を取得できない旨のエラーになります)。
・ID の末尾の識別マークは Q になります。
・ID そのものは、携帯の標準ブラウザから書き込んだ場合と同じです。
・規制系(Samba24連投規制、BBM)は、各携帯ごとに個別で規制されます。

ということで、以下のテストを実施していただけますと助かります。

[test] 書き込みテスト 専用スレッド 61 [テスト]
http://qb5.2ch.net/test/read.cgi/operate/1144376539/

に、
1) jigブラウザ経由で書き込む
2) 携帯の標準ブラウザから書き込む

1) 2) が同じ ID となり、かつIDの末尾が Q と O になれば、実験は成功です。

以上、よろしくお願いいたします。
2006/04/19(水) 19:06:43ID:2J7hK35lP
バーボンも端末個別?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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