2ch特化型サーバ・ロケーション構築作戦のスレッドです。
・2ちゃんねるのサーバロケーション、PIEに関する関連作業・調整事項
・DNS登録・変更関連の各種作業や調整事項
・2ちゃんねるのサーバで採用しているOS、FreeBSDに関する情報・調整事項
・各種作戦・プロジェクトとの連携、プロジェクト間の連携
等を取り扱います。
現在、複数サーバによる連携により、
サーバ能力のさらなるスケールアップをめざすための「雪だるま作戦」が進行中です。
しかし、問題はあらゆる意味で山積の状態です。
特に、成熟度を高めたリリースであるはずの FreeBSD 6.1R において、
amd64 アーキテクチャでの突然のハングアップの不具合が、深刻な問題となっています。
前スレ
http://qb5.2ch.net/test/read.cgi/operate/1150052911/
探検
2ch特化型サーバ・ロケーション構築作戦 Part23
レス数が900を超えています。1000を超えると表示できなくなるよ。
>>815
# XXX dat directories/files
<DirectoryMatch "^/home/xxxxxxxx/public_html/\w+/dat">
Order allow,deny
Allow from all
</DirectoryMatch>
これを入れると読めるですね。
やや挙動不審ですが、とりあえず回避はできそうと。
# XXX dat directories/files
<DirectoryMatch "^/home/xxxxxxxx/public_html/\w+/dat">
Order allow,deny
Allow from all
</DirectoryMatch>
これを入れると読めるですね。
やや挙動不審ですが、とりあえず回避はできそうと。
>>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 の場合デフォルトハンドラと似たような処理をしてるだけなので,
まぁそんなところでしょうけど.
>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 の場合デフォルトハンドラと似たような処理をしてるだけなので,
まぁそんなところでしょうけど.
>>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>
> う?む...... 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>
> >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>
にしてみた。
> >で、これがちと、、、。
> >↓
> >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>
にしてみた。
> >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
> 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
で、フロントの振るところは、こんなかんじですか。
# フロント内部では 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/
(これが板毎に並ぶ)
# フロント内部では 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/
(これが板毎に並ぶ)
eqplus で試してみましたが、index.css も許可しないとだめなのかな。
>>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 に振るってことで.
<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 に振るってことで.
>>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>
にしたです。
# 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>
にしたです。
>>826
この、
> RewriteRule ^/(\w+/(?:|subject\.txt|(?:subback|index)\.html|index\.css))$ http://live23.2ch.net:xxxx/$1 [P]
は、ブラウザ側に出る URI に、:xxxx が出ないようにするための策なんでしたっけ。
この、
> RewriteRule ^/(\w+/(?:|subject\.txt|(?:subback|index)\.html|index\.css))$ http://live23.2ch.net:xxxx/$1 [P]
は、ブラウザ側に出る URI に、:xxxx が出ないようにするための策なんでしたっけ。
というか,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]
(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]
いや、ちがうすね。>>828
書き換えた上で、、、どうするのかな。
書き換えた上で、、、どうするのかな。
>>829
あ、そういう技があるのですか。なんと。
あ、そういう技があるのですか。なんと。
kako/ 以外には、html/ とか i/ とか、、、。
(将来増えるかもしれないし)
(将来増えるかもしれないし)
で、今は板ごとにこれがあるです。
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]
を足せばいいのかしら。
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]
を足せばいいのかしら。
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">
> # dat directories/files
> <Directory "^/home/xxxxxxxx/public_html/*/dat">
これの先頭一致って外さなくていいのですか?
<Directory "/home/xxxxxxxx/public_html/*/dat">
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/
#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/
お、ポート番号が。
本番では変えようかと(というか、今はどうせ外には bind() してないけど)。
本番では変えようかと(というか、今はどうせ外には bind() してないけど)。
>>839 まぁ,仮に外部から直接叩かれてもいいように <LocationMatch> の指定以外の
URL を Deny するようにしてるんで......
URL を Deny するようにしてるんで......
あと,Options の MultiViews は外した方がいいですね.
これのインパクトはバカにできないんで......
これのインパクトはバカにできないんで......
>>839-840 逆に言うと,プライベートアドレスしか bind() しないのなら,
フロント側のリバースプロクシ設定を注意深く行って dat や subject.txt 等への
アクセスしか逝かないようにすれば,細かいアクセス制御も不要ですね
(そういうディレクティブを入れない方が軽いには軽い).
フロント側のリバースプロクシ設定を注意深く行って dat や subject.txt 等への
アクセスしか逝かないようにすれば,細かいアクセス制御も不要ですね
(そういうディレクティブを入れない方が軽いには軽い).
>>844-845 乙です.
で,pastdat.so を機能させるには
<Files *.dat>
ErrorDocument 404 /test/pastdat.so
</Files>
が必要です.あと,もし落ちてリブートしても立ち上がるように
ロックファイルは /md 上に作るといいかも,とか.
で,pastdat.so を機能させるには
<Files *.dat>
ErrorDocument 404 /test/pastdat.so
</Files>
が必要です.あと,もし落ちてリブートしても立ち上がるように
ロックファイルは /md 上に作るといいかも,とか.
>>846
了解です。< pastdat.so
ロックファイル(accept.lock)ですね。
/md の mount を httpd よりも先にやるようにする必要があると。
# つまり、FreeBSD の rcorder(8) を勉強しないといかんと、、、。
了解です。< pastdat.so
ロックファイル(accept.lock)ですね。
/md の mount を httpd よりも先にやるようにする必要があると。
# つまり、FreeBSD の rcorder(8) を勉強しないといかんと、、、。
/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"
# 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"
で、こうやると /var/run/httpd.{normal,private}.pid が作られるようになるので
(httpd.conf の PidFile の内容にかかわらず)、
httpd.conf (両方とも)、PidFile のところを(念のため)変えておくと。
(httpd.conf の PidFile の内容にかかわらず)、
httpd.conf (両方とも)、PidFile のところを(念のため)変えておくと。
live23b の dat/index.html/index.css/subject.txt/subback.html 供給用の httpd を、
軽量化版に換えました。
かなり、軽くなっている予感。
軽量化版に換えました。
かなり、軽くなっている予感。
live23b の LA が 0.00 になりました。
で、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>
軽量化版
(従来のと同じ数、メモリが少なくなったのでもっと増やせるかも、様子見ながら)
<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>
今ちょっと上がって(私が作業しているからかな)、0.18 かな。< LA
top で様子見ていると、下がっていくかんじで。
明日以降、read.cgi とかそのへんを。
で、日曜あたりから news20b で 6.2-RC1/amd64 のテストをば。
top で様子見ていると、下がっていくかんじで。
明日以降、read.cgi とかそのへんを。
で、日曜あたりから news20b で 6.2-RC1/amd64 のテストをば。
誤爆ということで。
しかし、なかなか。
596 名前:root▲ ★[] 投稿日:2006/12/09(土) 01:31:32 ID:???0 ?PLT(20002)
httpd のメモリ使用量が、1/4 になった模様。
軽量化前: 99MBytes〜100MBytes
軽量化後: 24656KBytes
PHP がでかいわけだけど、それにしてもおどろきで。
しかし、なかなか。
596 名前:root▲ ★[] 投稿日:2006/12/09(土) 01:31:32 ID:???0 ?PLT(20002)
httpd のメモリ使用量が、1/4 になった模様。
軽量化前: 99MBytes〜100MBytes
軽量化後: 24656KBytes
PHP がでかいわけだけど、それにしてもおどろきで。
ブレーメンメーターでアクセス量をとりはじめた。
live23b.2ch.net 従来版
live23bl.2ch.net 軽量化版
live23b.2ch.net 従来版
live23bl.2ch.net 軽量化版
>>859
あうあう、27M です。
あうあう、27M です。
おぉ、Apache軽量化の効果が楽しみですね。
#PC98時代にconfig.sys等をいじり倒して、
#メモリの確保に必死だった、あの事を思い出した。。
#PC98時代にconfig.sys等をいじり倒して、
#メモリの確保に必死だった、あの事を思い出した。。
HIGH=UMB
read.cgi の更新をする(pastdat.so 対応)には、どうすればいいのかしら。
1) /test/pastdat.so を入れる (バックエンド)
2) *.dat の際の ErrorDocument の処理(>>846)を入れる (バックエンドの httpd.conf)
3) read.cgi を更新する (フロントエンド)
これでOK?
1) /test/pastdat.so を入れる (バックエンド)
2) *.dat の際の ErrorDocument の処理(>>846)を入れる (バックエンドの httpd.conf)
3) read.cgi を更新する (フロントエンド)
これでOK?
サーバーダウン(鯖落ち)情報 part125
http://qb5.2ch.net/test/read.cgi/operate/1163508641/599
ということで、6.2-RC1/amd64 バージョンアップ作業へと。
http://qb5.2ch.net/test/read.cgi/operate/1163508641/599
ということで、6.2-RC1/amd64 バージョンアップ作業へと。
で、バックエンド httpd の軽量化は効果が高いようなので、
live22x / news20 にも、順次たんたんと適用で。
live22x / news20 にも、順次たんたんと適用で。
>>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 の方が
遙かにコンパクトですし.
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
>>867
ううむ、外の I/F 的には何も変わっていないはずなんですが、、、。
ううむ、外の I/F 的には何も変わっていないはずなんですが、、、。
というか、今の livenhk が破綻していないわけで、、、。
どのタイミングで起きるかが知りたいところかも。
どのタイミングで起きるかが知りたいところかも。
削除跡なら呪文が bbsd 未対応ゆえの(現状では)仕様ですね.
それ以外だと......鯖が逼迫してる時なら,dat 落ち処理で
purge コマンドが bbsd まで届かない(普通のカキコで WriteSnow エラーが
出るのと同じ)ということはありえますが,今はそれほど逼迫してないんですよね......
ただ,F15 のスクリプト見てみると,purge するのにループさせて
逐次 bbsd を呼び出してる箇所があるんですが,purge では
複数のスレ指定が可能なんで,join して一回だけ呼ぶようにしてみたら
どうだろう,とか思ったり......
それ以外だと......鯖が逼迫してる時なら,dat 落ち処理で
purge コマンドが bbsd まで届かない(普通のカキコで WriteSnow エラーが
出るのと同じ)ということはありえますが,今はそれほど逼迫してないんですよね......
ただ,F15 のスクリプト見てみると,purge するのにループさせて
逐次 bbsd を呼び出してる箇所があるんですが,purge では
複数のスレ指定が可能なんで,join して一回だけ呼ぶようにしてみたら
どうだろう,とか思ったり......
>>863 を実行。@ live23 系
これとかを read.cgi で読んで、ちゃんと出るようになったかな。
http://live23.2ch.net/test/read.cgi/livenhk/1165294961/
これとかを read.cgi で読んで、ちゃんと出るようになったかな。
http://live23.2ch.net/test/read.cgi/livenhk/1165294961/
これが問題なければ、
live22x / news20 の httpd 軽量化をやる時に、
あわせて実施するということで。
live22x / news20 の httpd 軽量化をやる時に、
あわせて実施するということで。
>>866
両方を更新し、pastdat.so バイナリもあわせて更新しました。@ live23b
両方を更新し、pastdat.so バイナリもあわせて更新しました。@ live23b
で、SunOS さんにひとつ質問なのですが、
pastdat.so がない状態で read.cgi を更新しても
(つまり一般サーバの read.cgi を現状で更新しても)、特に問題ないのかしら。
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
http://live23.2ch.net/livenhk/dat/1165294961.dat
>>876 特に問題ないはずです.
>>878
了解です。
了解です。
2006/12/09(土) 23:10:57ID:44Sle8pX0
IEからだとレス表示がおかしくなってますが、これの影響でしょうか?
>>881
具体的にどれでしょう。
具体的にどれでしょう。
把握しました。
対応します。
対応します。
【実況】 live22+live23 Part22
http://qb5.2ch.net/test/read.cgi/operate/1155560057/392-394
http://qb5.2ch.net/test/read.cgi/operate/1155560057/392-394
軽量版 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 再起動
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 再起動
>>885
10) ブレーメンメーター(統計情報) とるように修正
10) ブレーメンメーター(統計情報) とるように修正
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
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
>>885-887 乙です.
で,これにさらに SMP 有効化とか mod_cache 利用とかやると
もっと余裕綽々になりそうな気もしますが......でも,そのうちに
それを埋め合わせるぐらいにアクセスが増えたりするのかなぁ......
で,これにさらに SMP 有効化とか mod_cache 利用とかやると
もっと余裕綽々になりそうな気もしますが......でも,そのうちに
それを埋め合わせるぐらいにアクセスが増えたりするのかなぁ......
こっちの方が適当かな?
blackgoat4.2ch.net(tiger512)のhttpdがzutto死んだままですよね?
いやあの多分支障はないと思うけれども、/_service/が見られないよなぁとかとか(苦笑)
blackgoat4.2ch.net(tiger512)のhttpdがzutto死んだままですよね?
いやあの多分支障はないと思うけれども、/_service/が見られないよなぁとかとか(苦笑)
>>890
httpd をあげました。
httpd をあげました。
サーバーダウン(鯖落ち)情報 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 状態。
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 状態。
■ 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>
雪だるまのフロントサーバに準じたセッティングに変更。
ただし、httpd の数は雪だるまフロントよりやや少なめで。
<IfModule mpm_worker_module>
StartServers 72
ServerLimit 72
ThreadLimit 16
ThreadsPerChild 16
MaxClients 1152
MinSpareThreads 1152
MaxSpareThreads 1152
MaxRequestsPerChild 16000000
MaxMemFree 64000
</IfModule>
>>893 変更点
・最初から待たせる httpd の数の変更
(最初から最大数、worker MPM ではそのほうが成績がよさそう)
・1プロセスあたりのスレッド数を 32 → 16 に変更
(雪だるまフロントで実績のある値に)
あとこれとは別に read.cgi を、
SunOS さんによるマルチスレッド安定化版に更新。
・最初から待たせる httpd の数の変更
(最初から最大数、worker MPM ではそのほうが成績がよさそう)
・1プロセスあたりのスレッド数を 32 → 16 に変更
(雪だるまフロントで実績のある値に)
あとこれとは別に read.cgi を、
SunOS さんによるマルチスレッド安定化版に更新。
これで、突発負荷には以前より強くなったはず。
# worker MPM は、チューニング的にはいろいろ微妙かも。
# でも、だから面白いという話もあるのかも。
# worker MPM は、チューニング的にはいろいろ微妙かも。
# でも、だから面白いという話もあるのかも。
2006/12/10(日) 17:15:16ID:eXGykgG40
うちはデュアルCPUじゃなくてデュアルコアだけど、buildworld中に落ちるとかはないですね。
まあ、さすがにどんな環境でも起きるような問題ならば、修正されてるでしょうから、
特定の環境で起きることなんでしょうね。
buildworld中に落ちるというと、自分の経験ではファンが壊れて止まってしまった時に
そういうことがありましたが、それも既に確認済みでしょうね。。
まあ、さすがにどんな環境でも起きるような問題ならば、修正されてるでしょうから、
特定の環境で起きることなんでしょうね。
buildworld中に落ちるというと、自分の経験ではファンが壊れて止まってしまった時に
そういうことがありましたが、それも既に確認済みでしょうね。。
>>897
・2台ある 6.1R/amd64 で全く同じ症状が出た
・いずれの個体も 5.4R では何の問題もなかった
・6.0R では(高負荷にしなければ)とりあえず動く
ので、何らかのソフトウェア的な原因だと考えているです。
・2台ある 6.1R/amd64 で全く同じ症状が出た
・いずれの個体も 5.4R では何の問題もなかった
・6.0R では(高負荷にしなければ)とりあえず動く
ので、何らかのソフトウェア的な原因だと考えているです。
あとは、mpsafenet とか、そのへんですかね。
あるいは acpi の一部機能を debug.acpi.disable で止めてみるとか。
あるいは acpi の一部機能を debug.acpi.disable で止めてみるとか。
2006/12/10(日) 18:02:21ID:eXGykgG40
自分だったら、、、
DDBとデバッグ系のオプションをつけて、カーネル再コンパイル、リブート。
ハングしたら、シリアルコンソールからデバッガに入って、
コマンドいろいろ実行して、結果をレポートってやりますが、
運用中だといろいろ難しいかもしれませんね。。。
DDBとデバッグ系のオプションをつけて、カーネル再コンパイル、リブート。
ハングしたら、シリアルコンソールからデバッガに入って、
コマンドいろいろ実行して、結果をレポートってやりますが、
運用中だといろいろ難しいかもしれませんね。。。
>>901
そのためには、何らかのリモートコンソールを持たないといけないですね。
XO への移転作業と相前後して、
remote KVM を使えない状態になったような気がするので、
まずはそのへんから、というかんじですか。
ハングアップさせることは比較的簡単に再現できる模様(泣)なので、
remote KVM を持てるかどうか、別途動いてみるかんじで。
そのためには、何らかのリモートコンソールを持たないといけないですね。
XO への移転作業と相前後して、
remote KVM を使えない状態になったような気がするので、
まずはそのへんから、というかんじですか。
ハングアップさせることは比較的簡単に再現できる模様(泣)なので、
remote KVM を持てるかどうか、別途動いてみるかんじで。
で、
5.4R → 6.0R
6.0R → 6.1R
で、それぞれ何が変わったのか、というところが、
気になるところなのかなと。
あとは、やや後ろ向きの方法として、
5.5R にバージョンダウンしてみるという技もあるのかも。
5.4R → 6.0R
6.0R → 6.1R
で、それぞれ何が変わったのか、というところが、
気になるところなのかなと。
あとは、やや後ろ向きの方法として、
5.5R にバージョンダウンしてみるという技もあるのかも。
2006/12/10(日) 19:00:16ID:eXGykgG40
>>902
個人的によくやるのが、2台のマシンをシリアルクロスケーブルで接続。
片方のマシンでcuやtipを実行し、デバッグ対象のマシンに入るってやつですね。
安上がりなんで。
USB->シリアル変換ケーブルとクロスケーブルを2セット買って、
互いにつないだりもします。
個人的によくやるのが、2台のマシンをシリアルクロスケーブルで接続。
片方のマシンでcuやtipを実行し、デバッグ対象のマシンに入るってやつですね。
安上がりなんで。
USB->シリアル変換ケーブルとクロスケーブルを2セット買って、
互いにつないだりもします。
>>904
それは以前、まだ KVM が PIE になかった頃にやっていたです。
このスレだと、2年とか2年半前のアーカイブを見ると、
その頃のことがいろいろ書いてあるです。
# あの時は 5.2.1R の SMP が全くだめで、まいりました。
今は KVM があるので、それを使う方向ですね。
それは以前、まだ 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が怪しいんでしょうか。。
http://www.freebsd.org/internal/machines.html
あっちはCURRENT使っていて、HDDもIDEみたいなんで、
あんまり参考にならないかも知れないですが、
違いがHDDの部分だとすると、mptが怪しいんでしょうか。。
>>906
まさにそうですね。
BIOS とかそのへんは確認できませんが、
そこに書いてある sledge との基本的な違いは、
実装メモリが4GBytesなこととSCSI仕様であることだけです。
mpt ですか、、、。
確かに mpt は、5.4R のドライバよりも機能が増えている
(integrated RAID 0/1 とかサポートしたから、その線はかなり、ありうるかも。
まさにそうですね。
BIOS とかそのへんは確認できませんが、
そこに書いてある sledge との基本的な違いは、
実装メモリが4GBytesなこととSCSI仕様であることだけです。
mpt ですか、、、。
確かに mpt は、5.4R のドライバよりも機能が増えている
(integrated RAID 0/1 とかサポートしたから、その線はかなり、ありうるかも。
そうすると、、、。
mpsafevfs?
でも、これって前に試したことなかったっけか。
mpsafevfs?
でも、これって前に試したことなかったっけか。
>>908 は前にも疑って、はずれだったと。
2ch特化型サーバ・ロケーション構築作戦 Part22
http://qb5.2ch.net/operate/kako/1150/11500/1150052911.html
とすると、ドライバ本体か。
2ch特化型サーバ・ロケーション構築作戦 Part22
http://qb5.2ch.net/operate/kako/1150/11500/1150052911.html
とすると、ドライバ本体か。
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
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とは直接は関係ないという感じみたいです。
http://lists.freebsd.org/pipermail/freebsd-stable/2006-December/031180.html
ただ、起動時に止まるみたいなんで、現象としては違いますが。。
結論としては、mptとは直接は関係ないという感じみたいです。
>>911
-stable ML で hrs さんが言っていたやつですね。
それは少し見ていたのですが、どうも微妙に違うようです。
-current から /usr/src/sys/dev/mpt だけ持ってくるとかもありうる解決方法ですが、
いずれにしてもまずは情報収集して、実際の対策は明日以降なのかなと。
-stable ML で hrs さんが言っていたやつですね。
それは少し見ていたのですが、どうも微妙に違うようです。
-current から /usr/src/sys/dev/mpt だけ持ってくるとかもありうる解決方法ですが、
いずれにしてもまずは情報収集して、実際の対策は明日以降なのかなと。
まとめ:
・シングル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 の時はコンソールも含めて完全にハングアップしているのを確認。
・シングル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 の時はコンソールも含めて完全にハングアップしているのを確認。
>>915
うちもamdのSMPで問題無いです。
うちもamdのSMPで問題無いです。
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- PayPay、お賽銭に対応 現金無しで初詣 [少考さん★]
- 【スクープ】中居正広が女性との間に重大トラブル、巨額の解決金を支払う 重病から復帰後の会食で深刻な問題が発生 ★31 [Ailuropoda melanoleuca★]
- 【札幌】ライブのため…小学生の息子を約3日間自宅に放置 脱水症・低血糖にさせた疑い 母親(34)逮捕 ★3 [煮卵★]
- ホンダ日産 経営統合へ 新会社トップはホンダ指名の取締役から ★2 [蚤の市★]
- 日本の家どんどん狭く ステルス値上げで30年前の水準に ★2 [蚤の市★]
- 【芸能】女優・川島海荷、結婚を発表! お相手は競泳・中村克 「これからも変わらず頑張っていきたい」 [冬月記者★]
- 【超速報】日産ホンダ三菱、来年6月に経営統合へ [204160824]
- 貴様の墓場で目玉穿り出して首にナイフ突き刺すメグジと亀と賢者の石🏡
- 次買うPCは「ミニPC」で十分だと思ってる奴 [349242917]
- 【悲報】吉野家でバイトして5日目。無能すぎてだんだんと職場で嫌われてきた…😭 [453588374]
- 【速報】細田守、新作映画を発表wwwwwwwwwwwwwwwwwww [407370637]
- X民「中年独身者が『別に寂しくないし狂わない』と言ってたが、それがもう『狂って』るんだよ…」→2万いいね! [153490809]