X

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

レス数が900を超えています。1000を超えると表示できなくなるよ。
NGNG
2ch特化型サーバ・ロケーション構築作戦のスレッドです。

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

等を取り扱います。

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

特に、成熟度を高めたリリースであるはずの FreeBSD 6.1R において、
amd64 アーキテクチャでの突然のハングアップの不具合が、深刻な問題となっています。

前スレ
http://qb5.2ch.net/test/read.cgi/operate/1150052911/
2006/12/08(金) 21:55:20ID:cR0PtF7n0
>>815-818 乙です.

>403 にはならなくなりましたが、一覧は、
> (ry
>となってしまうみたいです。

う?む...... autoindex の場合は <Directory> で許可しないとダメなのかなぁ......

<LocationMatch "^/(?:\w+/(?:|subject\.txt|(?:subback|index)\.html)|test/pastdat\.so)$">
<Directory "/home/ch2*/public_html/*/dat">

の二つに分けて,それぞれで Allow にすればいいのかな......?
まぁつまり >>818 ですが,二つに分けるなら <LocationMatch> からは
dat の部分を外して,<Directory> では regex を使わない方が
regex match の処理は若干軽くなるかも......

>mod_mime をはずすと、AddHandler が使えないみたいです。
>で、これがちと、、、。
>↓
>AddHandler dso-script so

<Files *.so>
    SetHandler dso-script
</Files>

でいかがでしょう.

>test/ の下は pastdat.so (とanydat.so) しかアクセスしない

pastdat.so / anydat.so はどちらか片方だけ使えば Ok です.
pastdat.so は dat が存在しない場合に ErrorDocument で振られるようにして使い,
anydat.so は dat に対する全アクセスを RewriteRule とかで振られるようにして使う,と.
read.html も使うなら anydat.so の方がいいですけど.

life7 では昨晩から dat へのアクセスが全部 anydat.so 経由になってますが,
負荷はほとんど変わってないようですね.
http://mumumu.mu/mrtg/mrtg-rrd.cgi/load/life7load.html
ライブな dat の場合デフォルトハンドラと似たような処理をしてるだけなので,
まぁそんなところでしょうけど.
820root▲ ★
垢版 |
2006/12/08(金) 22:26:17ID:???0?PLT(20002)
>>819
> う?む...... autoindex の場合は <Directory> で許可しないとダメなのかなぁ......
> <LocationMatch "^/(?:\w+/(?:|subject\.txt|(?:subback|index)\.html)|test/pastdat\.so)$">
> <Directory "/home/ch2*/public_html/*/dat">
> の二つに分けて,それぞれで Allow にすればいいのかな......?
> まぁつまり >>818 ですが,二つに分けるなら <LocationMatch> からは
> dat の部分を外して,<Directory> では regex を使わない方が
> regex match の処理は若干軽くなるかも......

確かに、Directory にはワイルドカードが使えるのでした。
このようがよさそうですね。
ということで、こうしてみました。

# dat directories/files
<Directory "^/home/xxxxxxxx/public_html/*/dat">
Order allow,deny
Allow from all
</Directory>

# subject.txt / subback.html / index.html / pastdat.so
<LocationMatch "^/(?:\w+/(?:|subject\.txt|(?:subback|index)\.html)|test/pastdat\.so)$">
Order allow,deny
Allow from all
</LocationMatch>
821root▲ ★
垢版 |
2006/12/08(金) 22:27:49ID:???0?PLT(20002)
> >mod_mime をはずすと、AddHandler が使えないみたいです。
> >で、これがちと、、、。
> >↓
> >AddHandler dso-script so
> <Files *.so>
> SetHandler dso-script
> </Files>
> でいかがでしょう.

なるほど。
同じようにすれば、html も処理できると。

DefaultType text/plain
で、
# for mod_cgidso
<Files *.so>
SetHandler dso-script
</Files>
# for *.html (without mod_mime)
<Files *.html>
ForceType text/html
</Files>

にしてみた。
822root▲ ★
垢版 |
2006/12/08(金) 22:31:01ID:???0?PLT(20002)
> >test/ の下は pastdat.so (とanydat.so) しかアクセスしない
> pastdat.so / anydat.so はどちらか片方だけ使えば Ok です.
> pastdat.so は dat が存在しない場合に ErrorDocument で振られるようにして使い,
> anydat.so は dat に対する全アクセスを RewriteRule とかで振られるようにして使う,と.
> read.html も使うなら anydat.so の方がいいですけど.

/test/pastdat.so を live23b に入れてみたです。

> life7 では昨晩から dat へのアクセスが全部 anydat.so 経由になってますが,
> 負荷はほとんど変わってないようですね.
> http://mumumu.mu/mrtg/mrtg-rrd.cgi/load/life7load.html
> ライブな dat の場合デフォルトハンドラと似たような処理をしてるだけなので,
> まぁそんなところでしょうけど.

ふむふむ。

で、今夜寝る前あたりに軽量版 httpd を稼動させてみて、
問題なければ、次に read.cgi の入れ替え(*1)をしようかなと。

(*1)
read.cgi再開発スレ Part2
http://qb5.2ch.net/test/read.cgi/operate/1105909861/584-587
823root▲ ★
垢版 |
2006/12/08(金) 22:37:45ID:???0?PLT(20002)
で、フロントの振るところは、こんなかんじですか。

# フロント内部では live23 は内部のプライベートを指している

ProxyPass /eqplus/SETTING.TXT !
ProxyPass /eqplus/dat/ http://live23.2ch.net:xxxx/eqplus/dat/
ProxyPassReverse /eqplus/dat/ http://live23.2ch.net:xxxx/eqplus/dat/
(これが板毎に並ぶ)
824root▲ ★
垢版 |
2006/12/08(金) 22:40:46ID:???0?PLT(20002)
eqplus で試してみましたが、index.css も許可しないとだめなのかな。
825root▲ ★
垢版 |
2006/12/08(金) 22:47:43ID:???0?PLT(20002)
>>823-824
あと、/kako/ とかもあるから、
アクセスが頻繁なやつだけ個別に振ることにするほうがいいのかな。

そうすると、>>823 みたいに単純に全部振るのではなくて、
index.html / subject.txt / subback.html / dat/ だけを指定したほうがいいのか。
2006/12/08(金) 22:52:22ID:cR0PtF7n0
>>823 dat の部分はそんな感じですかね.
<LocationMatch> に対応する部分は RewriteRule でのリバースプロクシ設定で.

RewriteRule ^/(\w+/(?:|subject\.txt|(?:subback|index)\.html|index\.css))$ http://live23.2ch.net:xxxx/$1 [P]

>>824 あ......そうでした.

<LocationMatch "^/(?:\w+/(?:|subject\.txt|(?:subback|index)\.html|index\.css)|test/pastdat\.so)$">

>>826 ですね.で,軽量版 httpd に振るの以外は汎用 httpd に振るってことで.
827root▲ ★
垢版 |
2006/12/08(金) 23:02:25ID:???0?PLT(20002)
>>826
# for *.css (index.css) (without mod_mime)
<Files *.css>
ForceType text/css
</Files>

# subject.txt / subback.html / index.html / test/pastdat.so / index.css
<LocationMatch "^/(?:\w+/(?:|subject\.txt|(?:subback|index)\.html|index\.css)|test/pastdat\.so)$">
Order allow,deny
Allow from all
</LocationMatch>

にしたです。
828root▲ ★
垢版 |
2006/12/08(金) 23:09:33ID:???0?PLT(20002)
>>826
この、
> RewriteRule ^/(\w+/(?:|subject\.txt|(?:subback|index)\.html|index\.css))$ http://live23.2ch.net:xxxx/$1 [P]

は、ブラウザ側に出る URI に、:xxxx が出ないようにするための策なんでしたっけ。
2006/12/08(金) 23:09:49ID:cR0PtF7n0
というか,Apache 2.2 なら dat の部分も RewriteRule でやっていいんですね.
(2.0 だとサブリクエストでのリバースプロクシ設定が無効になっちゃうんで,
 ProxyPass でやらなければならなかった)
ということで,こんな感じかな......

RewriteRule ^/(\w+/(?:|subject\.txt|(?:subback|index)\.html|index\.css|dat/(?:\d+\.dat)?))$ http://live23.2ch.net:xxxx/$1 [P]
RewriteRule ^/(\w+/kako/.*)$ http://live23.2ch.net/$1 [P]
830root▲ ★
垢版 |
2006/12/08(金) 23:10:45ID:???0?PLT(20002)
いや、ちがうすね。>>828
書き換えた上で、、、どうするのかな。
831root▲ ★
垢版 |
2006/12/08(金) 23:11:24ID:???0?PLT(20002)
>>829
あ、そういう技があるのですか。なんと。
832root▲ ★
垢版 |
2006/12/08(金) 23:12:19ID:???0?PLT(20002)
>>829
kako/ 以外にもあるかもしれないので、2行目はちょっと微妙かも。
1行目だけでいけるのかしら。
833root▲ ★
垢版 |
2006/12/08(金) 23:13:56ID:???0?PLT(20002)
kako/ 以外には、html/ とか i/ とか、、、。
(将来増えるかもしれないし)
834root▲ ★
垢版 |
2006/12/08(金) 23:18:36ID:???0?PLT(20002)
で、今は板ごとにこれがあるです。

ProxyPass /eqplus/SETTING.TXT !
ProxyPass /eqplus/ http://live23.2ch.net/eqplus/
ProxyPassReverse /eqplus/ http://live23.2ch.net/eqplus/

ここは変えないで、これの前に、

RewriteRule ^/(\w+/(?:|subject\.txt|(?:subback|index)\.html|index\.css|dat/(?:\d+\.dat)?))$ http://live23.2ch.net:xxxx/$1 [P]

を足せばいいのかしら。
2006/12/08(金) 23:24:35ID:cR0PtF7n0

RewriteCond %{REQUEST_URI} !^/\w+/(?:SETTING\.TXT|foo|baa)$
RewriteRule ^/(\w+/.*)$ http://live23.2ch.net/$1 [P]

みたいに......と書こうとしましたが

>>834 あ,それでもいいのかも......
2006/12/08(金) 23:27:15ID:6LE3EDuF0
>>820
> # dat directories/files
> <Directory "^/home/xxxxxxxx/public_html/*/dat">
これの先頭一致って外さなくていいのですか?
<Directory "/home/xxxxxxxx/public_html/*/dat">
837root▲ ★
垢版 |
2006/12/08(金) 23:30:17ID:???0?PLT(20002)
>>836
うまくいかなくて、さっき既にはずしました。
お恥ずかしい。
838root▲ ★
垢版 |
2006/12/08(金) 23:35:02ID:???0?PLT(20002)
RewriteEngine On
#RewriteRule ^/(\w+/(?:|subject\.txt|(?:subback|index)\.html|index\.css|dat/(?:\
d+\.dat)?))$ http://live23.2ch.net:4126/$1 [P]
RewriteRule ^/(eqplus/(?:|subject\.txt|(?:subback|index)\.html|index\.css|dat/(?
:\d+\.dat)?))$ http://live23.2ch.net:4126/$1 [P]

いきなりはこわいので、live23f1 で eqplus だけで試してみました。
うまくいっているっぽい。

で、# のところを入れ替えると、全部に効くと。

########################################################################
RewriteEngine On
#RewriteRule ^/(\w+/(?:|subject\.txt|(?:subback|index)\.html|index\.css|dat/(?:\d+\.dat)?))$ http://live23.2ch.net:4126/$1 [P]
RewriteRule ^/(eqplus/(?:|subject\.txt|(?:subback|index)\.html|index\.css|dat/(?:\d+\.dat)?))$ http://live23.2ch.net:4126/$1 [P]
########################################################################
ProxyPass /eqplus/SETTING.TXT !
ProxyPass /eqplus/ http://live23.2ch.net/eqplus/
ProxyPassReverse /eqplus/ http://live23.2ch.net/eqplus/
839root▲ ★
垢版 |
2006/12/08(金) 23:35:44ID:???0?PLT(20002)
お、ポート番号が。

本番では変えようかと(というか、今はどうせ外には bind() してないけど)。
2006/12/08(金) 23:43:23ID:cR0PtF7n0
>>839 まぁ,仮に外部から直接叩かれてもいいように <LocationMatch> の指定以外の
URL を Deny するようにしてるんで......
841root▲ ★
垢版 |
2006/12/08(金) 23:45:49ID:???0?PLT(20002)
>>840
そういうことですね。

<Directory />
AllowOverride None
Order deny,allow
Deny from all
</Directory>
2006/12/08(金) 23:53:16ID:cR0PtF7n0
あと,Options の MultiViews は外した方がいいですね.
これのインパクトはバカにできないんで......
2006/12/08(金) 23:58:02ID:cR0PtF7n0
>>839-840 逆に言うと,プライベートアドレスしか bind() しないのなら,
フロント側のリバースプロクシ設定を注意深く行って dat や subject.txt 等への
アクセスしか逝かないようにすれば,細かいアクセス制御も不要ですね
(そういうディレクティブを入れない方が軽いには軽い).
844root▲ ★
垢版 |
2006/12/08(金) 23:59:13ID:???0?PLT(20002)
>>807 に加えて、
LoadModule authz_user_module libexec/apache22/mod_authz_user.so

も必要みたい。
845root▲ ★
垢版 |
2006/12/09(土) 00:01:27ID:???0?PLT(20002)
>>842
MultiViews をはずしました。

>>843
設定を間違えるとちとこわいんで、二重にセーフティガードしようかと。
2006/12/09(土) 00:37:10ID:qN68LS7d0
>>844-845 乙です.

で,pastdat.so を機能させるには

<Files *.dat>
    ErrorDocument 404 /test/pastdat.so
</Files>

が必要です.あと,もし落ちてリブートしても立ち上がるように
ロックファイルは /md 上に作るといいかも,とか.
847root▲ ★
垢版 |
2006/12/09(土) 00:39:19ID:???0?PLT(20002)
>>846
了解です。< pastdat.so

ロックファイル(accept.lock)ですね。
/md の mount を httpd よりも先にやるようにする必要があると。

# つまり、FreeBSD の rcorder(8) を勉強しないといかんと、、、。
848root▲ ★
垢版 |
2006/12/09(土) 00:53:04ID:???0?PLT(20002)
/etc/rc.conf @ live23b は、こんなかんじで。

# for apache22
apache22_enable="YES"
#apache22ssl_enable="YES"
#apache22limits_enable="YES"
apache22_http_accept_enable="YES"
apache22_profiles="normal private"
apache22_normal_enable="YES"
apache22_normal_configfile="/usr/local/etc/apache22/httpd.conf"
apache22_normal_http_accept_enable="YES"
apache22_private_enable="YES"
apache22_private_configfile="/usr/local/etc/apache22/httpd-private.conf"
apache22_private_http_accept_enable="YES"
849root▲ ★
垢版 |
2006/12/09(土) 00:56:29ID:???0?PLT(20002)
で、こうやると /var/run/httpd.{normal,private}.pid が作られるようになるので
(httpd.conf の PidFile の内容にかかわらず)、
httpd.conf (両方とも)、PidFile のところを(念のため)変えておくと。
850root▲ ★
垢版 |
2006/12/09(土) 01:14:12ID:???0?PLT(20002)
live23b の dat/index.html/index.css/subject.txt/subback.html 供給用の httpd を、
軽量化版に換えました。

かなり、軽くなっている予感。
851root▲ ★
垢版 |
2006/12/09(土) 01:14:57ID:???0?PLT(20002)
live23b の LA が 0.00 になりました。
2006/12/09(土) 01:17:25ID:qN68LS7d0
>>850-851 乙です.

>LA が 0.00

これも何かスゴいですねw まぁ時間的にピークは過ぎてるってことはあるでしょうけど.
853root▲ ★
垢版 |
2006/12/09(土) 01:18:14ID:???0?PLT(20002)
で、httpd の数を以下に設定。

軽量化版
(従来のと同じ数、メモリが少なくなったのでもっと増やせるかも、様子見ながら)

<IfModule mpm_worker_module>
StartServers 192
ServerLimit 192
ThreadLimit 16
ThreadsPerChild 16
MaxSpareThreads 3072
MinSpareThreads 3072
MaxSpareThreads 3072
MaxRequestsPerChild 32000000
MaxMemFree 64000
</IfModule>

通常版
(384 に減少、こっちも様子を見ながら)

<IfModule mpm_worker_module>
StartServers 24
ServerLimit 24
ThreadLimit 16
ThreadsPerChild 16
MaxSpareThreads 384
MinSpareThreads 384
MaxSpareThreads 384
MaxRequestsPerChild 32000000
MaxMemFree 64000
</IfModule>
854root▲ ★
垢版 |
2006/12/09(土) 01:19:44ID:???0?PLT(20002)
今ちょっと上がって(私が作業しているからかな)、0.18 かな。< LA
top で様子見ていると、下がっていくかんじで。

明日以降、read.cgi とかそのへんを。

で、日曜あたりから news20b で 6.2-RC1/amd64 のテストをば。
2006/12/09(土) 01:25:14ID:qN68LS7d0
乙ですた.
856root▲ ★
垢版 |
2006/12/09(土) 01:32:09ID:???0?PLT(20002)
誤爆ということで。
しかし、なかなか。

596 名前:root▲ ★[] 投稿日:2006/12/09(土) 01:31:32 ID:???0 ?PLT(20002)
httpd のメモリ使用量が、1/4 になった模様。

軽量化前: 99MBytes〜100MBytes
軽量化後: 24656KBytes

PHP がでかいわけだけど、それにしてもおどろきで。
857root▲ ★
垢版 |
2006/12/09(土) 01:53:08ID:???0?PLT(20002)
ブレーメンメーターでアクセス量をとりはじめた。

live23b.2ch.net 従来版
live23bl.2ch.net 軽量化版
858root▲ ★
垢版 |
2006/12/09(土) 01:53:23ID:???0?PLT(20002)
>>857
http://mumumu.mu/bremen/
859root▲ ★
垢版 |
2006/12/09(土) 02:05:33ID:???0?PLT(20002)
>>856
子供の httpd は、だいたい 27K ぐらいみたい。
いずれにせよ、相当で。

そんでは、おやすみなさい。
860root▲ ★
垢版 |
2006/12/09(土) 02:08:23ID:???0?PLT(20002)
>>859
あうあう、27M です。
2006/12/09(土) 05:29:02ID:6Ft7hdip0?BRZ(5799)
おぉ、Apache軽量化の効果が楽しみですね。

#PC98時代にconfig.sys等をいじり倒して、
#メモリの確保に必死だった、あの事を思い出した。。
2006/12/09(土) 10:07:36ID:QcPY0zQ90?PLT(14001)
HIGH=UMB
863root▲ ★
垢版 |
2006/12/09(土) 16:04:19ID:???0?PLT(20002)
read.cgi の更新をする(pastdat.so 対応)には、どうすればいいのかしら。

1) /test/pastdat.so を入れる (バックエンド)
2) *.dat の際の ErrorDocument の処理(>>846)を入れる (バックエンドの httpd.conf)
3) read.cgi を更新する (フロントエンド)

これでOK?
864root▲ ★
垢版 |
2006/12/09(土) 16:17:04ID:???0?PLT(20002)
サーバーダウン(鯖落ち)情報 part125
http://qb5.2ch.net/test/read.cgi/operate/1163508641/599

ということで、6.2-RC1/amd64 バージョンアップ作業へと。
865root▲ ★
垢版 |
2006/12/09(土) 16:18:59ID:???0?PLT(20002)
で、バックエンド httpd の軽量化は効果が高いようなので、
live22x / news20 にも、順次たんたんと適用で。
2006/12/09(土) 21:17:47ID:qN68LS7d0
>>863 それでいいと思います.なお,pastdat.c, anydat.c を微妙に修正したので,
live23b に入れたのは更新しておいて下さい.



ところで,anydat.so は配布版 .htaccess では RewriteRule で dat へのリクエストを
internal redirect させてますが,Apache 2.2 で mod_actions を有効にしてるなら

<Files *.dat>
    Action text/plain /test/anydat.so virtual
</Files>

の方が RewriteRule よりスマートかも.mod_rewrite より mod_actions の方が
遙かにコンパクトですし.
2006/12/09(土) 21:51:55ID:YCoYhamC0
http://qb5.2ch.net/test/read.cgi/operate/1159268878/546

問題発生かも、かもかも。
868root▲ ★
垢版 |
2006/12/09(土) 21:55:07ID:???0?PLT(20002)
>>867
ううむ、外の I/F 的には何も変わっていないはずなんですが、、、。
869root▲ ★
垢版 |
2006/12/09(土) 21:59:02ID:???0?PLT(20002)
というか、今の livenhk が破綻していないわけで、、、。

どのタイミングで起きるかが知りたいところかも。
2006/12/09(土) 22:17:47ID:qN68LS7d0
削除跡なら呪文が bbsd 未対応ゆえの(現状では)仕様ですね.
それ以外だと......鯖が逼迫してる時なら,dat 落ち処理で
purge コマンドが bbsd まで届かない(普通のカキコで WriteSnow エラーが
出るのと同じ)ということはありえますが,今はそれほど逼迫してないんですよね......


ただ,F15 のスクリプト見てみると,purge するのにループさせて
逐次 bbsd を呼び出してる箇所があるんですが,purge では
複数のスレ指定が可能なんで,join して一回だけ呼ぶようにしてみたら
どうだろう,とか思ったり......
871root▲ ★
垢版 |
2006/12/09(土) 22:20:49ID:???0?PLT(20002)
>>870
どうも、削除関係らしいとか。

★板のスレ一覧復帰&修正依頼28★
http://qb5.2ch.net/test/read.cgi/operate/1159268878/547
872root▲ ★
垢版 |
2006/12/09(土) 22:54:28ID:???0?PLT(20002)
>>863 を実行。@ live23 系

これとかを read.cgi で読んで、ちゃんと出るようになったかな。

http://live23.2ch.net/test/read.cgi/livenhk/1165294961/
873root▲ ★
垢版 |
2006/12/09(土) 22:55:37ID:???0?PLT(20002)
>>872
うまくいっているみたいですね。

これで、「dat が存在しません」にはならないで済むと。
874root▲ ★
垢版 |
2006/12/09(土) 22:56:51ID:???0?PLT(20002)
これが問題なければ、
live22x / news20 の httpd 軽量化をやる時に、
あわせて実施するということで。
875root▲ ★
垢版 |
2006/12/09(土) 22:59:02ID:???0?PLT(20002)
>>866
両方を更新し、pastdat.so バイナリもあわせて更新しました。@ live23b
876root▲ ★
垢版 |
2006/12/09(土) 23:02:27ID:???0?PLT(20002)
で、SunOS さんにひとつ質問なのですが、
pastdat.so がない状態で read.cgi を更新しても
(つまり一般サーバの read.cgi を現状で更新しても)、特に問題ないのかしら。
877 株価【1310】 ▲▲▲▲ ◆cZfSunOs.U
垢版 |
2006/12/09(土) 23:02:43ID:qN68LS7d0
>>872-875 乙です.ちなみに専ブラ (Monazilla) 以外で dat を直接見るとこんな感じで.
http://live23.2ch.net/livenhk/dat/1165294961.dat
2006/12/09(土) 23:04:45ID:qN68LS7d0
>>876 特に問題ないはずです.
879root▲ ★
垢版 |
2006/12/09(土) 23:04:59ID:???0?PLT(20002)
>>877
なんですよね。

アイディアの勝利というか、さすがで。
880root▲ ★
垢版 |
2006/12/09(土) 23:05:23ID:???0?PLT(20002)
>>878
了解です。
2006/12/09(土) 23:10:57ID:44Sle8pX0
IEからだとレス表示がおかしくなってますが、これの影響でしょうか?
882root▲ ★
垢版 |
2006/12/09(土) 23:13:26ID:???0?PLT(20002)
>>881
具体的にどれでしょう。
883root▲ ★
垢版 |
2006/12/09(土) 23:14:59ID:???0?PLT(20002)
把握しました。
対応します。
884root▲ ★
垢版 |
2006/12/09(土) 23:16:58ID:???0?PLT(20002)
【実況】 live22+live23 Part22
http://qb5.2ch.net/test/read.cgi/operate/1155560057/392-394
885root▲ ★
垢版 |
2006/12/10(日) 00:07:25ID:???0?PLT(20002)
軽量版 httpd のセットアップ手順 まとめ

1) /usr/local/etc/apache22/httpd-private.conf 設定
2) /usr/local/etc/apache22/Includes-private/*.conf 設定
3) 1) 2) について、各サーバに固有なところを修正

4) /usr/local/etc/apache22/httpd.conf を修正(PidFile、httpd 起動数)
5) /etc/newsyslog.conf 修正(ログローテーション)
6) /etc/rc.conf 修正(Apache 2つ起動)

7) フロントからの振るホスト修正(proxy関連)

8) バックエンド httpd 再起動
9) フロントエンド httpd 再起動
886root▲ ★
垢版 |
2006/12/10(日) 00:17:49ID:???0?PLT(20002)
>>885
10) ブレーメンメーター(統計情報) とるように修正
887root▲ ★
垢版 |
2006/12/10(日) 01:27:06ID:???0?PLT(20002)
live22x, news20 にも軽量化版 httpd と、
pastdat.so による過去ログ倉庫の表示機能を導入済み。

これで雪だるまサーバでも「datが見つかりません」にはならないようになったと。

サーバーダウン(鯖落ち)情報 part125
http://qb5.2ch.net/test/read.cgi/operate/1163508641/616-645

過去ログ&●(2chビューア)情報スレ 03
http://qb5.2ch.net/test/read.cgi/operate/1153729411/396
2006/12/10(日) 01:44:12ID:uXE1Wu2M0
>>885-887 乙です.

で,これにさらに SMP 有効化とか mod_cache 利用とかやると
もっと余裕綽々になりそうな気もしますが......でも,そのうちに
それを埋め合わせるぐらいにアクセスが増えたりするのかなぁ......
2006/12/10(日) 06:42:03ID:6J0TpGS20?BRZ(5799)
>>888
まぁ、今までそれを繰り返して来てますからね。
器を大きく頑丈にすれば、その分人も増えるっす。
2006/12/10(日) 10:53:59ID:pO8lWOKF0?BRZ(6677)
こっちの方が適当かな?
blackgoat4.2ch.net(tiger512)のhttpdがzutto死んだままですよね?
いやあの多分支障はないと思うけれども、/_service/が見られないよなぁとかとか(苦笑)
891root▲ ★
垢版 |
2006/12/10(日) 14:55:34ID:???0?PLT(20002)
>>890
httpd をあげました。
892root▲ ★
垢版 |
2006/12/10(日) 16:29:07ID:???0?PLT(20072)
サーバーダウン(鯖落ち)情報 part125
http://qb5.2ch.net/test/read.cgi/operate/1163508641/932-966

6.2-RC1/amd64 でも、症状は全く同じでした。

・シングルCPU(options SMPをはずした状態)では、何の問題もない
・デュアルCPUでは、make buildworld が通らなかった
- コンパイル中に完全にハングアップ、ping も通らない
・device acpi をはずすと、デュアルCPUとして認識されない

現在、6.2-RC1/amd64 シングルCPU 状態。
893root▲ ★
垢版 |
2006/12/10(日) 16:46:26ID:???0?PLT(20072)
■ ex11 負荷対策

雪だるまのフロントサーバに準じたセッティングに変更。
ただし、httpd の数は雪だるまフロントよりやや少なめで。

<IfModule mpm_worker_module>
StartServers 72
ServerLimit 72
ThreadLimit 16
ThreadsPerChild 16
MaxClients 1152
MinSpareThreads 1152
MaxSpareThreads 1152
MaxRequestsPerChild 16000000
MaxMemFree 64000
</IfModule>
894root▲ ★
垢版 |
2006/12/10(日) 16:48:40ID:???0?PLT(20072)
>>893 変更点
・最初から待たせる httpd の数の変更
(最初から最大数、worker MPM ではそのほうが成績がよさそう)
・1プロセスあたりのスレッド数を 32 → 16 に変更
(雪だるまフロントで実績のある値に)

あとこれとは別に read.cgi を、
SunOS さんによるマルチスレッド安定化版に更新。
895root▲ ★
垢版 |
2006/12/10(日) 16:52:05ID:???0?PLT(20072)
これで、突発負荷には以前より強くなったはず。

# worker MPM は、チューニング的にはいろいろ微妙かも。
# でも、だから面白いという話もあるのかも。
896root▲ ★
垢版 |
2006/12/10(日) 16:53:34ID:???0?PLT(20072)
さて、>>892 ということで、次の一手はどうしようかなと。

# やはり、まずはレポートしないといけないですね。きっと。
2006/12/10(日) 17:15:16ID:eXGykgG40
うちはデュアルCPUじゃなくてデュアルコアだけど、buildworld中に落ちるとかはないですね。
まあ、さすがにどんな環境でも起きるような問題ならば、修正されてるでしょうから、
特定の環境で起きることなんでしょうね。

buildworld中に落ちるというと、自分の経験ではファンが壊れて止まってしまった時に
そういうことがありましたが、それも既に確認済みでしょうね。。
898root▲ ★
垢版 |
2006/12/10(日) 17:23:37ID:???0?PLT(20072)
>>897
・2台ある 6.1R/amd64 で全く同じ症状が出た
・いずれの個体も 5.4R では何の問題もなかった
・6.0R では(高負荷にしなければ)とりあえず動く

ので、何らかのソフトウェア的な原因だと考えているです。
899root▲ ★
垢版 |
2006/12/10(日) 17:43:55ID:???0?PLT(20123)
>>898
ちなみに >>898 の2台は、同じハードウェアですね。

なので、原因はソフトウェアかもしれないけど、
特定のハードウェア環境においてのみ出現するもの、なのかも。

ちなみにマザーボードは HDAMA で、BIOS は最新よりはちょっと古いですね。
マザボのリビジョンは大きく分けて2つあるみたいですが、古いほうのはず。

SCSI は mpt (LSI Logic 1030: PCI-X カード)で、
ネットワークは bge (onboard)です。

そんなに変な構成でもないような気がしますが、、、。
900root▲ ★
垢版 |
2006/12/10(日) 18:00:09ID:???0?PLT(20123)
あとは、mpsafenet とか、そのへんですかね。
あるいは acpi の一部機能を debug.acpi.disable で止めてみるとか。
2006/12/10(日) 18:02:21ID:eXGykgG40
自分だったら、、、
DDBとデバッグ系のオプションをつけて、カーネル再コンパイル、リブート。
ハングしたら、シリアルコンソールからデバッガに入って、
コマンドいろいろ実行して、結果をレポートってやりますが、
運用中だといろいろ難しいかもしれませんね。。。
902root▲ ★
垢版 |
2006/12/10(日) 18:05:43ID:???0?PLT(20123)
>>901
そのためには、何らかのリモートコンソールを持たないといけないですね。

XO への移転作業と相前後して、
remote KVM を使えない状態になったような気がするので、
まずはそのへんから、というかんじですか。

ハングアップさせることは比較的簡単に再現できる模様(泣)なので、
remote KVM を持てるかどうか、別途動いてみるかんじで。
903root▲ ★
垢版 |
2006/12/10(日) 18:07:51ID:???0?PLT(20123)
で、

5.4R → 6.0R
6.0R → 6.1R

で、それぞれ何が変わったのか、というところが、
気になるところなのかなと。

あとは、やや後ろ向きの方法として、
5.5R にバージョンダウンしてみるという技もあるのかも。
2006/12/10(日) 19:00:16ID:eXGykgG40
>>902
個人的によくやるのが、2台のマシンをシリアルクロスケーブルで接続。
片方のマシンでcuやtipを実行し、デバッグ対象のマシンに入るってやつですね。
安上がりなんで。
USB->シリアル変換ケーブルとクロスケーブルを2セット買って、
互いにつないだりもします。
905root▲ ★
垢版 |
2006/12/10(日) 19:02:57ID:???0?PLT(20123)
>>904
それは以前、まだ KVM が PIE になかった頃にやっていたです。

このスレだと、2年とか2年半前のアーカイブを見ると、
その頃のことがいろいろ書いてあるです。

# あの時は 5.2.1R の SMP が全くだめで、まいりました。

今は KVM があるので、それを使う方向ですね。
2006/12/10(日) 20:59:32ID:eXGykgG40
freebsd.org のマシンで言うと、sledge に近い感じでしょうか?
http://www.freebsd.org/internal/machines.html

あっちはCURRENT使っていて、HDDもIDEみたいなんで、
あんまり参考にならないかも知れないですが、
違いがHDDの部分だとすると、mptが怪しいんでしょうか。。
907root▲ ★
垢版 |
2006/12/10(日) 21:08:07ID:???0?PLT(20123)
>>906
まさにそうですね。
BIOS とかそのへんは確認できませんが、
そこに書いてある sledge との基本的な違いは、
実装メモリが4GBytesなこととSCSI仕様であることだけです。

mpt ですか、、、。
確かに mpt は、5.4R のドライバよりも機能が増えている
(integrated RAID 0/1 とかサポートしたから、その線はかなり、ありうるかも。
908root▲ ★
垢版 |
2006/12/10(日) 21:09:38ID:???0?PLT(20123)
そうすると、、、。

mpsafevfs?

でも、これって前に試したことなかったっけか。
909root▲ ★
垢版 |
2006/12/10(日) 21:11:54ID:???0?PLT(20123)
>>908 は前にも疑って、はずれだったと。

2ch特化型サーバ・ロケーション構築作戦 Part22
http://qb5.2ch.net/operate/kako/1150/11500/1150052911.html

とすると、ドライバ本体か。
910root▲ ★
垢版 |
2006/12/10(日) 21:21:05ID:???0?PLT(20123)
mpt は確かに 6.0R になる時に、大きく変わっているわけですが、、、。

http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/mpt/mpt.c?rev=1.12&content-type=text/x-cvsweb-markup

Massive overhaul of MPT Fusion driver:

/usr/src/sys/dev/mpt で ls しても、こんなかんじで全然違うし。

で、i386 では SMP でも問題なくて、
amd64 ではいけないと。

5.4R:
%ls
mpilib mpt.h mpt_freebsd.c mpt_pci.c
mpt.c mpt_debug.c mpt_freebsd.h

6.2-RC1:
%ls
mpilib mpt.h mpt_cam.h mpt_pci.c mpt_raid.h
mpt.c mpt_cam.c mpt_debug.c mpt_raid.c mpt_reg.h
2006/12/10(日) 21:41:49ID:eXGykgG40
あと、最近のmptの問題だとこの辺?
http://lists.freebsd.org/pipermail/freebsd-stable/2006-December/031180.html

ただ、起動時に止まるみたいなんで、現象としては違いますが。。
結論としては、mptとは直接は関係ないという感じみたいです。
912root▲ ★
垢版 |
2006/12/10(日) 21:53:37ID:???0?PLT(20123)
>>911
-stable ML で hrs さんが言っていたやつですね。

それは少し見ていたのですが、どうも微妙に違うようです。
-current から /usr/src/sys/dev/mpt だけ持ってくるとかもありうる解決方法ですが、
いずれにしてもまずは情報収集して、実際の対策は明日以降なのかなと。
2006/12/10(日) 22:18:50ID:uXE1Wu2M0
うーむ,SMP 有効化はまだ苦難の道ですか......
914root▲ ★
垢版 |
2006/12/10(日) 22:19:19ID:???0?PLT(20123)
まとめ:

・シングルCPU(SMP を切った状態)では、i386/amd64 とも問題ない。
・live22.2ch.net (i386 で em で mpt なサーバ)では、SMP でも全く問題ない。
・live23b.2ch.net (amd64 で bge で mpt なサーバ)では、SMP の場合のみ問題が発生する。
・症状は、いきなりハングアップする。例えば make buildworld がちゃんと通らないことがある。
- 6.1R の時は、負荷に関係なくハングアップすることもあった。
- いったんハングアップすると、ping も通らない。
- 6.1R の時はコンソールも含めて完全にハングアップしているのを確認。
915root▲ ★
垢版 |
2006/12/10(日) 22:21:34ID:???0?PLT(20123)
>>913
AMD64 で SMP の時だけ起こるというのが、、、。

で、騒ぎになっていないところを見ると、
やはり >>897 ということですかね。

で、この問題を解決できると、うれしい人が世界的に少しはいるはずなのかも。
2006/12/10(日) 22:49:51ID:x2AXCg4HO
>>915
うちもamdのSMPで問題無いです。
917root▲ ★
垢版 |
2006/12/10(日) 22:51:29ID:???0?PLT(20123)
>>916
メモリ容量・ネットワークI/F・HDD環境・CPU種別、
あとできればマザーボードの種類あたりを。
918root▲ ★
垢版 |
2006/12/10(日) 23:00:31ID:???0?PLT(20123)
APR_HAS_THREAD の有無による dso バイナリの相違について:

read.cgi再開発スレ Part2
http://qb5.2ch.net/test/read.cgi/operate/1105909861/591-597
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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