X


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

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

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

等を取り扱います。

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

<主な関連スレッド>
【しらたま】雪だるま作戦に思いを馳せながら雑談するスレッド Part11
http://aa5.2ch.net/test/read.cgi/nanmin/1121875871/

<主な関連リンク>
ブレーメンメーター: http://mumumu.mu/bremen/
MRTGによる統計情報: http://mumumu.mu/mrtg/
2ちゃんねる サーバ負荷監視所: http://ch2.ath.cx/load/
2ch 鯖監視係。: http://sv2ch.baila6.jp/
2ch CGI 軽量化: http://sunos.saita.ma/2ch-cgi-lw.html
NGNG
なるほど、まだケーブルは繋がってないのですね。
でも、おいちゃんは、『private LAN に全部つないだ』と言ってたような。
536root▲ ★
垢版 |
2005/12/05(月) 14:09:03ID:???0
>>535
えっと、今こうなっているのです。< banana403/404

fxp0 … 外部通信用
fxp1 … 内部通信用(live22x1/x2/x3と通信)

で、heartbeat通信用に、fxp0でもfxp1でもない占有の通信路を確保すべきと
heartbeatのドキュメントに書いてあるわけです。

で、今あいているvr0(マザボについているもの)を使おうかと思って、
雪だるまスレで相談したのですが、「それを使うことは想定してなかった」という返事で、
今はかわりにfxp1を使って、heartbeatの通信もしていると。
NGNG
>>536
あー、そういう事ですか。
理解しました。
538root▲ ★
垢版 |
2005/12/05(月) 16:00:05ID:???0
Ethernetのブロードキャストでのやりとりをやめて、
普通のUDPパケットでheartbeat通信をやりとりするようにしてみた。

修正後のha.cf

#bcast fxp1
ucast fxp1 192.168.100.66 (banana404ではここが192.168.100.65)
keepalive 2
warntime 10
deadtime 30
initdead 60
#udpport 694
auto_failback off
respawn hacluster /usr/local/lib/heartbeat/ipfail
#respawn hacluster /usr/local/lib/heartbeat/ccm
node banana403.maido3.com
node banana404.maido3.com
ping 206.223.150.1
539root▲ ★
垢版 |
2005/12/05(月) 16:04:45ID:???0
http://www.linux-ha.org/ha_2ecf

> The bcast directive does not work on FreeBSD because of the fragmentation issue described in
> W. Richard Stevens - Unix Network Programming - Vol 1 - 3rd Edition: The Sockets Networking API

やられたのか。
フラグメント起こすといけないから、FreeBSDではbcastは使っちゃだめぽと。

これで、安定するといいなと。
540root▲ ★
垢版 |
2005/12/05(月) 16:14:04ID:???0
これで、リブートテストをしてみる。

まずはbanana403をリブート。
banana404に切り替わったのを確認。
541root▲ ★
垢版 |
2005/12/05(月) 16:15:25ID:???0
403は無事立ち上がり、スタンバイになったのを確認。
404をリブート。403に切り替わったのを確認。
542root▲ ★
垢版 |
2005/12/05(月) 16:17:41ID:???0
404は無事立ち上がり、スタンバイになったのを確認。

切り替わりも、ややスムーズになった模様。
これで、動かしてみるじゃ。
543root▲ ★
垢版 |
2005/12/05(月) 16:18:18ID:???0
あらら、j の隣に k があったのね。>>542

いずれにせよ、これで。
544root▲ ★
垢版 |
NGNG
>>526
> ・bbs.cgi トラックバック部分を改良する。

done. by bbs.cgi 2005/12/05

> ・bbs.cgi トラックバック部分を改良する。

助けを求めてみた。
read.cgi再開発スレ Part2
http://qb5.2ch.net/test/read.cgi/operate/1105909861/415

> ・live22x[123]のどれかが落ちても、切り離されない。

if 自分が振り分けをサービスしている {
三姉妹の状況を調べて、状況に応じてつなげたり切ったりする
}

というかんじのを、banana403/404でcronか何かで動かせばいいのかなと。

> ・削除関連の各種呪文が雪だるまに対応していない。

とりあえず唯一知っているやつ(スレスト)で、試してみるか。
あとは、、、できる人に期待で。
545root▲ ★
垢版 |
NGNG
>>544
二つ目は以下の間違い。

> ・read.cgi をフロントエンドで動かす。
546root▲ ★
垢版 |
2005/12/05(月) 22:32:25ID:???0
>>538 をさらに修正。
heartbeatの通信を占有チャンネルに変更。

#bcast fxp1
#ucast fxp1 192.168.100.66
ucast vr0 10.0.0.2 (banana404ではここが10.0.0.1)
keepalive 2
warntime 10
deadtime 30
initdead 60
#udpport 694
auto_failback off
respawn hacluster /usr/local/lib/heartbeat/ipfail
#respawn hacluster /usr/local/lib/heartbeat/ccm
node banana403.maido3.com
node banana404.maido3.com
ping 206.223.150.1
547root▲ ★
垢版 |
NGNG
>>545
> ・read.cgi をフロントエンドで動かす。

は、できた。
基本はOKなので、バイナリの共通化をはかる。
神に感謝で。

・キャッシュが微妙におかしい場合があるっぽい

Apache関連か。
ひどいようならキャッシュ設定を無効に。将来的にはApache 2.2化か。

・root権限がなくても作業できるようにする

しくみは作れそうな感じ。
548root▲ ★
垢版 |
NGNG
めもめも。Apache のキャッシュ問題。

【きりたんぽ】雪だるま作戦に思いを馳せながら雑談するスレッド Part28
http://aa5.2ch.net/test/read.cgi/nanmin/1133468879/540
2005/12/08(木) 11:59:56ID:wTfWzixj0
vrかー
http://www.seichan.org/Other/nic.html

550root▲ ★
垢版 |
2005/12/08(木) 13:56:53ID:???0
>>549
vrは負荷には強くないですね。

携帯サーバでやった時も、NICがvrなやつが先に微妙になりました(メモリも少なかったが)。
トラフィックよりも、フレーム数が多い場合に微妙になるようです。

今回vrはheartbeatのやりとりにしか使っていないので、
フレームが落ちることがなければ、なんとかなるんではないかと。
(外部や他サーバとの通信は全部fxpかem)
551root▲ ★
垢版 |
2005/12/08(木) 15:32:57ID:???0
config -g なんてあるのね、しらんかった。
http://www.nendai.nagoya-u.ac.jp/~kato/FreeBSD/debug/kgdb.html
552root▲ ★
垢版 |
2005/12/09(金) 12:12:19ID:???0
メモ。
【実況】 live22x 鯖 Part2
http://qb5.2ch.net/test/read.cgi/operate/1134050051/375
553root▲ ★
垢版 |
2005/12/10(土) 19:09:06ID:???0
read.cgi再開発スレ Part2
http://qb5.2ch.net/test/read.cgi/operate/1105909861/484-485

これを受けて、worker MPMに挑戦しようと思っていたりするわけですが、
問題なのは、サーバ数のところの調整です。

今、typicalなtigerサーバでは、

<IfModule prefork.c>
StartServers 768
MinSpareServers 128
MaxSpareServers 768
ServerLimit 1024
MaxClients 1024
MaxRequestsPerChild 1000000
MaxMemFree 2000
</IfModule>

といったかんじなんですが(上記はnews19)、

これを <IfModule worker.c> のところに、どう反映させるのがいいのかなと。
2005/12/10(土) 19:28:23ID:nEGwQ7980
こんな感じ?あんまり自信ないけど


<IfModule worker.c>
StartServers 6
Serverlimit 8
ThreadLimit 128
ThreadPerChild 128

MinSpareThreads 128
MaxSpareThreads 768

MaxClients 1024
MaxRequestsPerChild 1000000
MaxMemFree 2000
</IfModule>
555root▲ ★
垢版 |
2005/12/10(土) 19:37:58ID:???0
>>554
どもです。
1プロセスに、128個のスレッドということですか。
2005/12/10(土) 20:04:50ID:ljr20zQR0
まあ、1プロセスに何スレッドにするのかは難しいですねえ
2005/12/10(土) 20:34:18ID:1jtGNzJ50
おぉ,worker MPM 行きますか.
# 2.2 なら event MPM も行ってみたいところですが.

で,可能ならプロセス数を絞って1プロセスあたりのスレッド数を多くしてみたいところですが,
bbsd もスレッド数を増やした状態だと挙動が不安定な模様だったので,ちょっと心配ですね.
どこまで行けるかは「じっけん!じっけん!」ってところですか.
で,MaxMemFree はスレッド数に応じて増やした方がいいかも知れません.

あと,AcceptMutex pthread でもちゃんと動くなら,FreeBSD でのデフォルトの
flock より効率はいいんですが...... pthread_mutexattr_setrobust_np()
がないプラットフォームだと httpd がコケた時がコワいのか......
558root▲ ★
垢版 |
2005/12/11(日) 15:33:53ID:???0
live22xの受付が落ちた時の避難口用に、
live22y.2ch.net を作ることにしました。

こちらは従来のDNSラウンドロビン方式なので、手堅いです。
ただし、フロントが1台落ちると、いまいちになります。

以下のDNSの設定変更をお願いします。

(以下の3つを新規追加)
+live22y.2ch.net:206.223.150.64
+live22y.2ch.net:206.223.150.74
+live22y.2ch.net:206.223.150.84
559root▲ ★
垢版 |
2005/12/11(日) 22:55:38ID:???0
【きりぼし】雪だるま作戦に思いを馳せながら雑談するスレッド Part29
http://aa5.2ch.net/test/read.cgi/nanmin/1133983623/750

ということで、>>558 に加えて、以下の設定変更もあわせてお願いします。

これで、live22x は live22y の別名となり、かつ設定を変えた場合は5分程度で
それが浸透するようになるはず。

(現在の設定)
+live22x.2ch.net:206.223.150.96

(上記を削除し、下記を追加)
Clive22x.2ch.net:live22y.2ch.net:300
560root▲ ★
垢版 |
NGNG
>>554 >>556-557
live22x2 で、worker MPM を試してみました。

read.cgi / bbs.cgi ともに、うまくいくみたいです。
いけるかも。
(mod_cgiのかわりにmod_cgidを使用する)

とりあえず、1プロセスに32個のスレッドにしてみたです。
561root▲ ★
垢版 |
NGNG
live22x2では、これに対して、

<IfModule prefork.c>
StartServers 1536
MinSpareServers 256
MaxSpareServers 1536
ServerLimit 2304
MaxClients 2304
MaxRequestsPerChild 1000000
MaxMemFree 2000
</IfModule>

こう設定したです。

<IfModule worker.c>
StartServers 48
Serverlimit 72
ThreadLimit 32
ThreadsPerChild 32
MinSpareThreads 256
MaxSpareThreads 1536
MaxClients 2304
MaxRequestsPerChild 1000000
MaxMemFree 64000
</IfModule>

server-status で見る限り、受付の見かけ上の人数は同じに見えます。
で、read.cgi / bbs.cgi とも、動いたっぽい。
562root▲ ★
垢版 |
NGNG
…これをlive22x[13]にも投入したいけど、
今日は、やめておこう。

楽しみは明日以降にということで。
563root▲ ★
垢版 |
NGNG
で、言うまでもないですが、
このworker MPMがちゃんと動くようになると、
一人のhttpdが多数のセッションを同時にさばけるようになるので、
メモリが空くとか、設定によってはより多くのセッションを
さばけるようになるとか、そういう話なわけです。
2005/12/12(月) 00:54:57ID:YBe5/2YX0
ThreadsPerChild 32なら、MaxRequestsPerChildを32倍したほうが良い気がする
565root▲ ★
垢版 |
NGNG
>>564
なるほど。これはプロセス単位で数えるですか。
566root▲ ★
垢版 |
NGNG
こうしてみた。

<IfModule worker.c>
StartServers 48
Serverlimit 72
ThreadLimit 32
ThreadsPerChild 32
MinSpareThreads 256
MaxSpareThreads 1536
MaxClients 2304
MaxRequestsPerChild 32000000
MaxMemFree 64000
</IfModule>
567root▲ ★
垢版 |
NGNG
普通の板でも、実験してみるかな。
明日あたり、ex11 = 狼の方々にご協力いただこうかと。
568root▲ ★
垢版 |
NGNG
>>566 を、live22 (バックエンド)に入れてみた。
read.cgi も bbs.cgi も動かないので、まずは慣らし運転ということで。
569root▲ ★
垢版 |
NGNG
>>561 >>566 をまとめると、

prefork => worker への「等価」変換

StartServers = StartServers(p) / ThreadsPerChild
MinSpareThreads = MinSpareServers(p)
MaxSpareThreads = MaxSpareServers(p)
ServerLimit = ServerLimit(p) / ThreadsPerChild
ThreadLimit = ServerLimit(p)
ThreadsPerChild = 1プロセスでいくつのスレッドを処理するか(これから試行)
MaxClients = MaxClients(p)
MaxRequestsPerChild = MaxRequestsPerChild(p) * ThreadsPerChild
MaxMemFree = MaxMemFree(p) * ThreadsPerChild
570root▲ ★
垢版 |
NGNG
>>569 修正

prefork => worker への「等価」変換

StartServers = StartServers(p) / ThreadsPerChild
MinSpareThreads = MinSpareServers(p)
MaxSpareThreads = MaxSpareServers(p)
ServerLimit = ServerLimit(p) / ThreadsPerChild
ThreadLimit = ThreadsPerChild
ThreadsPerChild = 1プロセスでいくつのスレッドを処理するか(これから試行)
MaxClients = MaxClients(p)
MaxRequestsPerChild = MaxRequestsPerChild(p) * ThreadsPerChild
MaxMemFree = MaxMemFree(p) * ThreadsPerChild
571root▲ ★
垢版 |
NGNG
>>570 さらに修正

StartServers = StartServers(p) / ThreadsPerChild
MinSpareThreads = MinSpareServers(p)
MaxSpareThreads = MaxSpareServers(p)
ServerLimit = ServerLimit(p) / ThreadsPerChild
ThreadLimit = ThreadsPerChildより多くする、当面同じで
ThreadsPerChild = 1プロセスでいくつのスレッドを処理するか(これから試行)
MaxClients = MaxClients(p)
MaxRequestsPerChild = MaxRequestsPerChild(p) * ThreadsPerChild
MaxMemFree = MaxMemFree(p) * ThreadsPerChild
572root▲ ★
垢版 |
NGNG
ex11の設定 (>>553から)

<IfModule worker.c>
StartServers 24
MinSpareThreads 128
MaxSpareThreads 768
ServerLimit 32
ThreadLimit 32
ThreadsPerChild 32
MaxClients 1024
MaxRequestsPerChild 32000000
MaxMemFree 64000
</IfModule>
573root▲ ★
垢版 |
NGNG
httpdの大きさはこのぐらいか。
これで1プロセス32セッションになるなら、相当いい感じ。

news19
16848 ch2news19 96 0 9572K 5196K select 0 0:43 0.05% 0.05% httpd

ex11
84519 ch2ex11 96 0 21712K 15304K select 1 0:17 0.00% 0.00% httpd
574root▲ ★
垢版 |
NGNG
以下のサーバのパスワード変更済み。

oyster901 902 243
cobra2244 2245 2246 2247
tiger503 504 505 506 507 508 509 510 511 512
tiger2513 2514
tiger2522 2523 2524 2525

携帯系tigerとroot権限ありbananaは、これから作業へと。
575root▲ ★
垢版 |
NGNG
済み。

tiger2507 2508 2509 2510 2511 2512
576root▲ ★
垢版 |
NGNG
済み。

banana201 227 238 273 307 402 403 404 405 406
NGNG
済み。

cherry903
NGNG
banana637 tiger2526 済み。
579root▲ ★
垢版 |
NGNG
これで、担当分は全部済みのはず。
漏れがあったら、ご指摘をば。
580root▲ ★
垢版 |
NGNG
JimさんとSeanさんに、作業完了と新パスワードを伝えた。
581root▲ ★
垢版 |
NGNG
で、news19では、worker MPM化は失敗の模様。

FreeBSD 5.3R だめ
FreeBSD 5.4R, 6.0R 大丈夫

ということみたい。
582root▲ ★
垢版 |
NGNG
若者に愛の手紙を送った。

これで、全作業完了のはず。
2005/12/12(月) 16:47:16ID:scOj/U/M0
>>558-559
done
584root▲ ★
垢版 |
NGNG
>>583
確認しました。

%dig +short -t a live22x.2ch.net
live22y.2ch.net.
206.223.150.64
206.223.150.74
206.223.150.84

これで、DNSラウンドロビンモードに徐々に移行するはず。
2005/12/12(月) 16:53:15ID:scOj/U/M0
TTL は 300 だった気するけど
所詮 わたしの記憶力
586root▲ ★
垢版 |
NGNG
正しく300になっていたです。

%dig +norec -t cname live22x.2ch.net @ns1.maido3.com
(中略)
;; ANSWER SECTION:
live22x.2ch.net. 300 IN CNAME live22y.2ch.net.

%dig +norec -t a live22y.2ch.net @ns1.maido3.com
(中略)
;; ANSWER SECTION:
live22y.2ch.net. 300 IN A 206.223.150.64
live22y.2ch.net. 300 IN A 206.223.150.74
live22y.2ch.net. 300 IN A 206.223.150.84
2005/12/12(月) 17:03:51ID:scOj/U/M0
焼かれているのか?
NGNG
>>587
そ、そんな永久規制なところをわざわざ使わんでも。
2005/12/12(月) 17:19:24ID:HLFe9TgK0
本日(12/12)速そうな番組
20:00〜 TBS「水戸黄門」
松下の一社提供番組なので、全CMが例のおわびに差し換わる模様
NGNG
>>589
どもです。

でも、こっちがいいかも。

【かぼちゃ】負荷監視所_20051123
http://live14.2ch.net/test/read.cgi/liveplus/1132747514/
2005/12/12(月) 17:46:42ID:MXlgwhaVO
>>588
ちょwwwwwwヒドスwwwwwwwww
NGNG
workerを利用して、
バックエンド(live22)の処理受付可能数を、>>566 の倍にしてみたつもり。

<IfModule worker.c>
StartServers 96
MinSpareThreads 512
MaxSpareThreads 3072
Serverlimit 144
ThreadLimit 32
ThreadsPerChild 32
MaxClients 4608
MaxRequestsPerChild 32000000
MaxMemFree 64000
</IfModule>
2005/12/12(月) 21:22:40ID:bHUmkslz0
FreeBSD5.3Rでworkerがうまく動かないのってこれじゃないんですか?

■新春特別企画「雪だるま作戦」liveサーバの飛躍なるか!? Part1
http://qb5.2ch.net/operate/kako/1105/11050/1105035540.html

188 ◆cZfSunOs.U [sage] 05/03/10 20:55:04 ID:geHPxiLU0
http://www.mail-archive.com/dev@httpd.apache.org/msg24903.html
* 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.

189 動け動けウゴウゴ2ちゃんねる [sage] 05/03/10 21:13:47 ID:KUErTDVR0
ほう。
つまり、1プロセスならば問題なさそう、という事ですね。
むしろ願ったりな状況なのかも。
594root▲ ★
垢版 |
NGNG
>>593
かもしんないすね。

で、live22x2のworker MPMは何ら問題なかったようなので、
live22x[13]も、worker MPMにしてくるです。
595root▲ ★
垢版 |
NGNG
done. >>594
596root▲ ★
垢版 |
NGNG
news19, ex14, live22系でworker MPM(with -lpthread)を動かしてみた結果:

Apacheはどれも2.0.55を使用。

news19 (FreeBSD 5.3R):
・httpd落ちまくり、最終的には外部からのアクセス不能に、あわてて戻す

ex11 (FreeBSD 5.4R):
・概ね問題なし、ただしhttpdの数が減らない設定にしているはずなのに減っていく現象が発生
・アクセスが多くなればちゃんと増える

live22系 (FreeBSD 6.0R)
・現時点まで全く問題なし

ということでread.cgiのようなプログラムもさることながら、
OSそのものやスレッドライブラリの出来の違いも、大きいみたい。

昨日管理人から「worker MPMが普通にちゃんと動いたっていうの、初めて聞きましたー」
って言われたです。確かに、そうかも。
597root▲ ★
垢版 |
NGNG
>>596
たぶん、これか。

FreeBSD/i386 5.4-RELEASE Release Notes
http://www.freebsd.org/releases/5.4R/relnotes-i386.html

> A number of bugfixes for libpthread have been merged from HEAD.
2005/12/13(火) 20:00:14ID:6UEXQNB00
>> 586
今年はもう受付嬢の実験はないようですが、
CNAMEをlive22y.peko.2ch.netにしておけば、
maido3の中のひとがいなくても、rootさんだけで
実験できるかも。
2005/12/13(火) 23:33:11ID:pxLkBcfF0
worker MPM は,とりあえず順調なようですね.

>>571
>ThreadLimit = ThreadsPerChildより多くする、当面同じで

worker MPM では1プロセスあたりのスレッド数は固定なので,
ThreadLimit > ThreadsPerChild の状態にしてもメリットはなく,
むしろスレッド管理データ領域を必要以上に確保してメモリの無駄遣いになっちゃいます......
2005/12/14(水) 02:07:57ID:LE2aS7aP0
FreeBSD 6.0R Apache2.2 + worker MPM
という人柱も海外にはチラホラ出現しているね。
601root▲ ★
垢版 |
2005/12/14(水) 02:34:09ID:???0
>>598
確かに。
でも、ゾーン外CNAMEを使うとDNSキャッシュサーバがその分仕事しなければいけないんで、
あんまり、使いたくない部分があるです。

>>599
なるほどです。

で、明日はかなり来るということなので、負荷テストを兼ねて
live22の設定を以下にしてみました。
これで、live22xNの3倍の接続を受け付けるので、
全フロントエンドがフルスロットになるまでは、いくはず。
(先日の中山のくじできびしくなったのは、たぶんここが足りなかった、というか
増やしにくかった)

>>600
今の2段階ぐらい先のフェーズで、やってみたいかなと。
602root▲ ★
垢版 |
2005/12/14(水) 02:34:38ID:???0
>>601
<IfModule worker.c>
StartServers 144
MinSpareThreads 768
MaxSpareThreads 4608
Serverlimit 216
ThreadLimit 32
ThreadsPerChild 32
MaxClients 6912
MaxRequestsPerChild 32000000
MaxMemFree 64000
</IfModule>
603root▲ ★
垢版 |
NGNG
ex14(FreeBSD 6.0R/amd64)もworker MPMに移行した。
問題ない模様。
2005/12/17(土) 22:13:14ID:8BhW9cSP0
http://live22.2ch.net/_service/bbsd-20051217.txt
で、2回ばかり、
> total worker threads = 4, idle worker threads = 1

があったので、
-n 32 => -n 48 にしてみた。@ bbsd
2005/12/18(日) 00:53:38ID:wzveF3mu0
>>604 PC 故障中乙です......

まぁ,現在の bbsd はスレッド数可変式なので足りなくなったら増えますけどね.
-n32 なら 4-32,-n48 なら 6-48 の範囲でスレッド数は変化します.
606root▲ ★
垢版 |
NGNG
>>605
なんと、そういう動きですか。

んじゃ、32のままでもいいかもですが、
実害はあまりないかなと。
607root▲ ★
垢版 |
NGNG
来年の予定。

HEADS UP: Release schedule for 2006
http://lists.freebsd.org/pipermail/freebsd-stable/2005-December/020744.html

Jan 30: Freeze RELENG_5 and RELENG_6
Mar 20: Release FreeBSD 6.1
Apr 3: Release FreeBSD 5.5
Jun 12: Freeze RELENG_6
Jul 31: Release FreeBSD 6.2
Oct 23: Freeze RELENG_6
Dec 11: Release FreeBSD 6.3

5系は5.5Rでおしまい。
6系をがんがって3回出すと言っているけど、さて、どうなることやら。
NGNG
>>607
さっそく、FreeBSB 6.0R-p1になりました。

20051219: p1 FreeBSD-EN-05:04.nfs
Correct a locking issue in nfs_lookup() where a call to vrele()
might be made while holding the vnode mutex, which resulted
in kernel panics under certain load patterns.
609root▲ ★
垢版 |
2005/12/22(木) 02:14:23ID:???0
>>608
…ですね。
今日からstiger10[0-5]をもみ始めましたが、
その時に気がついたです。

NFSの虫取りですか。
vreleっていうぐらいで、mpsafevfsまわりでもあるのかな。
NGNG
NFSちゃんと動けば、サーバのdat共用が出来てうれしいんだけど、まだ無理なんだろうな。

先週、6.0R-p0の状態で、NFS試したけど駄目だったw
611root▲ ★
垢版 |
2005/12/22(木) 02:35:40ID:???0
*BSDのNFSでまともに動くのって、経験したことがないです。
2chでも大敗だったのは、記憶に新しいところ。

NFSをまじめに使いたいなら、Solarisしかないかなと。
rpc.lockdとか、ぼろいみたい。
2005/12/22(木) 07:47:05ID:dsgDEabi0
>*BSDのNFSでまともに動くのって、経験したことがないです。
Linuxはさらにダメぽ。

つまりroot★氏のいうとおりSolarisだけか……
2005/12/22(木) 10:49:16ID:rVVGEGh20
Linux の NFS は論外として、*BSD の NFS はそこそこ
というか、かなりよくなってきてると思うけど、
どの辺がダメぽなの?
614root▲ ★
垢版 |
2005/12/22(木) 12:05:16ID:???0
>>613
確かに昔よりは、相当いいかんじですね。それは認めるです。
NFS越しにfindを繰り返すとそのまま逝ってしまうとかいうことは、
なくなってきました。

・雪だるまで使った時は、ヘビーに読むと(read only mount)
I/O待ちになったまま、カーネル内でささる状況を観測
(psで見るとDの状態のままになる)
(FreeBSD 5.4R)

あと何より、

・NFS越しのロック機構(rpc.lockd)が相当しょぼい

これに尽きるかなと。

Solarisですら、rpc.lockdのパッチは相当出ていたように記憶しているです。
615root▲ ★
垢版 |
NGNG
めもめも。

HEADS UP: MFC of local_startup changes to rc.d complete
http://lists.freebsd.org/pipermail/freebsd-stable/2005-December/020931.html
616root▲ ★
垢版 |
NGNG
べっかんこ作戦関連のDNS登録依頼をします。
既に登録があるようなので、変更依頼になるはずです。

以下の設定変更をお願いします。
ログインアカウント情報等は、別途出します。

(現在)
+u.la:206.223.151.180
+www.u.la:206.223.151.180

(変更後)
+u.la:206.223.157.7
+www.u.la:206.223.157.7
617root▲ ★
垢版 |
NGNG
続いて、第二弾のDNS登録依頼いきます。

(新規追加)
+same.u.la:206.223.157.12
+chirasi.u.la:206.223.157.17
+bbm.u.la:206.223.157.32
618ピロリ
垢版 |
2005/12/24(土) 16:51:20ID:5ceyGHA+0
>>616 done
>>617 done
NGNG
逆引きはセテーイされていないのですね。@*.u.la
620ピロリ
垢版 |
2005/12/24(土) 19:04:30ID:5ceyGHA+0
ありゃりゃ?
621ピロリ
垢版 |
2005/12/24(土) 19:05:26ID:5ceyGHA+0
誰が設定すれば良いのでしたっけ?
622root▲ ★
垢版 |
NGNG
>>621
ns[12].maido3.com で設定すればいいはずですね。

%dig -t ns 0.157.223.206.in-addr.arpa.

; <<>> DiG 9.3.1 <<>> -t ns 0.157.223.206.in-addr.arpa.
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55384
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;0.157.223.206.in-addr.arpa. IN NS

;; ANSWER SECTION:
0.157.223.206.in-addr.arpa. 769 IN NS ns2.maido3.com.
0.157.223.206.in-addr.arpa. 769 IN NS ns1.maido3.com.

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Dec 24 02:22:28 2005
;; MSG SIZE rcvd: 90
623ピロリ
垢版 |
2005/12/24(土) 20:54:08ID:5ceyGHA+0
はいー
624ピロリ
垢版 |
2005/12/24(土) 23:30:04ID:5ceyGHA+0
206.223.157.7 u.la
206.223.157.12 same.u.la
206.223.157.17 chirasi.u.la
206.223.157.32 bbm.u.la

DNS逆引き設定を登録しました。
625root▲ ★
垢版 |
NGNG
>>624
確認しました。
stigerXXX.maido3.comではなく、u.laな名前で登録したですか。
2005/12/25(日) 01:45:36ID:kC90C2xX0
bbs.cgi とかで hostname によって処理を振り分けてる部分とかなかったでしたっけ.
load avg. に応じた処理変更とか.もっとも,DNS の逆引きがどうあれ gethostname() が
stigerXXX.maido3.com を返すのなら大丈夫でしょうけど.
627ピロリ
垢版 |
2005/12/25(日) 01:53:44ID:fD9qTbEU0
修正の方向で、
628root▲ ★
垢版 |
NGNG
>>626
> もっとも,DNS の逆引きがどうあれ gethostname() が
> stigerXXX.maido3.com を返すのなら大丈夫でしょうけど.

のはずですね。
サーバごとの臨界LAを定めているところがありますが、
あそこはSys::Hostname を使っていたはず。
629root▲ ★
垢版 |
NGNG
>>627
了解です。
630root▲ ★
垢版 |
NGNG
虫を踏んだか。
類似例とか、あるのかしら。

【ブリ大根】負荷監視所_20051214
http://live14.2ch.net/test/read.cgi/liveplus/1134552855/523

523 名前: ◆MUMUMUhnYI [sage] 投稿日:2005/12/25(日) 02:51:36 ID:tGhMF0WE0 ?
クラッシュダンプを収容中。(savecore)

vm_thread_new: kstack allocation failed

スタックを、使い切ったっぽい。
2005/12/25(日) 04:31:01ID:kC90C2xX0
http://www.monkey.org/freebsd/archive/freebsd-current/200505/msg00063.html
スレッド数が猛烈に増えるとカーネルメモリを食い尽くすってことですかね.
worker MPM で接続可能クライアント数を増やしたのもありますし(>>601-602).
そのカーネルメモリ領域を増やすとかできないんですかね......
632root▲ ★
垢版 |
NGNG
>>631
in sys/vm/vm_glue.c:

/*
* Get a kernel virtual address for this thread's kstack.
*/
ks = kmem_alloc_nofault(kernel_map,
(pages + KSTACK_GUARD_PAGES) * PAGE_SIZE);
if (ks == 0)
panic("vm_thread_new: kstack allocation failed");
if (KSTACK_GUARD_PAGES != 0) {
pmap_qremove(ks, KSTACK_GUARD_PAGES);
ks += KSTACK_GUARD_PAGES * PAGE_SIZE;
}
td->td_kstack = ks;

となっているのか。
633root▲ ★
垢版 |
NGNG
で、in vm/vm_kern.c:

/*
* kmem_alloc_nofault:
*
* Allocate a virtual address range with no underlying object and
* no initial mapping to physical memory. Any mapping from this
* range to physical memory must be explicitly created prior to
* its use, typically with pmap_qenter(). Any attempt to create
* a mapping on demand through vm_fault() will result in a panic.
*/
vm_offset_t
kmem_alloc_nofault(map, size)
vm_map_t map;
vm_size_t size;
{
vm_offset_t addr;
int result;

size = round_page(size);
addr = vm_map_min(map);
result = vm_map_find(map, NULL, 0,
&addr, size, TRUE, VM_PROT_ALL, VM_PROT_ALL, MAP_NOFAULT);
if (result != KERN_SUCCESS) {
return (0);
}
return (addr);
}
634root▲ ★
垢版 |
NGNG
#ifndef KSTACK_MAX_PAGES
#define KSTACK_MAX_PAGES 32
#endif

って、なってるですね。(in vm/vm_glue.c)
635root▲ ★
垢版 |
NGNG
で、

/*
* Create the kernel stack (including pcb for i386) for a new thread.
* This routine directly affects the fork perf for a process and
* create performance for a thread.
*/
void
vm_thread_new(struct thread *td, int pages)

となっているですね。うむむ。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。