■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50

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

771 :動け動けウゴウゴ2ちゃんねる :2006/11/27(月) 20:21:56 ID:R+8aL36a0
こんな話を前にもしたような気がする

772 :root▲ ★ :2006/11/27(月) 22:53:48 ID:???0 BE:1641863-PLT(20002)
■ live22 バックエンドの HDD が逼迫しはじめている模様。

Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/da1s1f 29633058 25112844 2149570 92% /home

www2bにあったスタティックなコンテンツ(古い過去ログ)を
一部 memories に移動し、少しだけ容量を確保したものの、
かなりの勢いで減少している状態。

ということで live22x 系列は、年内にはリフレッシュ工事が必要になりそうな予感。

773 :root▲ ★ :2006/11/27(月) 22:59:33 ID:???0 BE:2189838-PLT(20002)
>>772 は、単純に投稿によって HDD が減少している状態のようですね。

いろいろ見てみましたが、異常により減少しているのではなく、
live23 に分ける前の状態(実況全部 + news)で運用した際に、
HDD を大いに消費したという。

# しかし、ちと驚いたかも。

774 :◆ANGLERlqvM :2006/11/28(火) 05:00:21 ID:7tS6BBYF0 BE:895542-BRZ(5799)
凄いですね。。(大汗

775 :root▲ ★ :2006/11/28(火) 13:20:24 ID:???0 BE:1459744-PLT(20002)
>>774
テキスト(というか dat)だけなんですけどね、、、。
すごいな、というかんじで。

776 :動け動けウゴウゴ2ちゃんねる :2006/11/28(火) 14:54:35 ID:BniWSwiN0
テキストだけで28.2GBですか!すごすぎ・・・・

777 :動け動けウゴウゴ2ちゃんねる :2006/11/28(火) 15:42:30 ID:XXg7yTIx0
ほとんどが意味のない情報なのに28.2GB

778 :動け動けウゴウゴ2ちゃんねる :2006/11/28(火) 18:15:32 ID:2pJfii8W0
キタ━━━━━━(゚∀゚)━━━━━━ !!
だけで数Gありそう…

779 :動け動けウゴウゴ2ちゃんねる :2006/11/29(水) 09:55:25 ID:JxedjbrY0
ソフト圧縮のディスクに入れたりするとサイズとディスクアクセスが減ってウマー?
FreeBSDってそういう機能のある?

780 :動け動けウゴウゴ2ちゃんねる :2006/11/29(水) 15:20:55 ID:9S1s/LUV0
そういえばディスク容量というと、memoriesの/homeあたりはたまっていそう。
まあ1.5TBでまだまだ拡張可能だから問題はないと思いますが。

781 :root▲ ★ :2006/12/05(火) 00:34:21 ID:???0 BE:1094843-PLT(20002)
年末に向けて、バックエンドからの dat 読み出しのパフォーマンスを上げるべく
thttpd を調べ中。

いろいろ、癖があるっぽい。

1) x ビットが立っていて cgi ではないと認識された場合、
ファイルを読み出すことができないようになっている。
セキュリティ上の問題とのことだが、これだと 2ch では
1000 いったりスレストしたりした dat は、読み出すことができなくなる。

2) セキュアでないと判断したシンボリックリンクを読んでくれない。
例えば、絶対パスのシンボリックリンクとか読んでくれない。
これだと 2ch では、livecx -> /md/ch2むにゃむにゃ/livecx みたいなリンクを
読んでくれないことになる。

3) 403 や 404 エラーの 302 を返す形でのリダイレクトができないっぽい。
これだと 2ch では、専用ブラウザの動作に影響が出る。

1) は簡単なパッチで回避でき、
2) は /md/ch2むにゃむにゃ を基点にして thttpd を起動すればいいっぽいけど、
3) はちょっと困るかも。

782 :動け動けウゴウゴ2ちゃんねる :2006/12/05(火) 00:35:56 ID:7IdALbbc0
あれ、スレストってxビット立ててたん?
wビットを落としてるだけかと思った

783 :root▲ ★ :2006/12/05(火) 00:42:02 ID:???0 BE:1368735-PLT(20002)
伝統的に、そうなっていますね。
chmod 555 していると。

ちなみに bbsd もそれを尊重してか、そうなっているようです。

784 :root▲ ★ :2006/12/05(火) 00:44:05 ID:???0 BE:4469377-PLT(20002)
あと、高パフォーマンスといわれている httpd サーバって、
どんなのがあるのかしら。

・CGI は動かなくていい(dat等の読み出しに特化)
・403 エラーと 404 エラーのリダイレクト機能はほしい

785 :動け動けウゴウゴ2ちゃんねる :2006/12/05(火) 00:54:13 ID:FBCjfZV40
lighttpdというのがあるようです。
ttp://www.lighttpd.net/

使ったことはありません。

786 :動け動けウゴウゴ2ちゃんねる :2006/12/05(火) 00:59:59 ID:XINHPjA70 BE:21114566-2BP(1009)
>>784
前に言っていた、lighttpdとかesehttpdやら、最近では
LiteSpeedなるものまでありますねぇ。

リダイレクトに関してはどうなんだろう・・・・・・

787 : 株価【1400】 ▲▲ ◆cZfSunOs.U :2006/12/05(火) 01:26:21 ID:Td76qj3Q0
極限まで設定をスリム化した Apache も選択肢の一つかなぁ,と言ってみる.

788 :root▲ ★ :2006/12/05(火) 01:31:40 ID:???0 BE:2188883-PLT(20002)
>>787
それもありかもしれないですね。

・モジュールを減らす
・モジュールを入れ込みにする
・.htaccess を読まないことにする(ちょっと乱暴かな)

あと、どのへんがありますかね。

789 : [―{}@{}@{}-] stream ◆PNstream2s :2006/12/05(火) 01:40:35 ID:RP/i0JE/0
>>781
3) 302決め付けの専用ブラウザはほっとこう

と、ちょっと乱暴なことを言ってみるけど
そういえばsports2は404です。

790 :root▲ ★ :2006/12/05(火) 01:57:36 ID:???0 BE:4104195-PLT(20002)
明日以降まずは、>>787 にトライしてみるか。
機能をしぼればいいわけだし、削っていくのは面白そうかも。

791 : 株価【1400】 ▲▲ ◆cZfSunOs.U :2006/12/05(火) 02:16:09 ID:Td76qj3Q0
>>788 port 1024 以降で走らせるなら root 権限もいらなくなるんで,
.htaccess なしでもいいかも(随時 httpd.conf いじれるし).
で,あとはこのあたりをおさらいしつつ......
http://httpd.apache.org/docs/2.2/misc/perf-tuning.html

注意点は,いろいろ機能を落とした場合 CGI ファイルにアクセスすると
プレーンテキストとして中身丸見えになるなどのおそれがあるので,
/*/dat/*.dat 以外は Deny するように設定すべき,ってことかな.

792 : 株価【1400】 ▲▲ ◆cZfSunOs.U :2006/12/05(火) 07:46:34 ID:Td76qj3Q0
>>791 subject.txt, subback.html, index.html も Allow にする必要があったか.

<LocationMatch "^/\w+/(?:|subject\.txt|(?:subback|index)\.html|dat/(?:\d+\.dat)?)$">

の場合だけ Allow でそれ以外は Deny と.もし pastdat.so で過去ログの確認も可能にするなら

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

必要なモジュールは mod_authz_host (mod_access), mod_autoindex, mod_dir ぐらいかな.
あとは,pastdat.so を使うなら mod_cgidso も使うか.

793 :動け動けウゴウゴ2ちゃんねる :2006/12/05(火) 16:34:07 ID:lmGiqHyc0
とりあえずこちらになげてみましょうか。

サン・マイクロシステムズ Try&Buyプログラム TX000系
ttp://jp.sun.com/promotions/trybuy/sunfiret.html

他の製品も2ヶ月無償で借りられます。

794 :root▲ ★ :2006/12/07(木) 11:42:23 ID:???0 BE:1642436-PLT(20002)
年末特番に向けて:

1) 6.2R/amd64 を試してみる(6.2R が出ればすぐ、出なくても 6.2-RC1 を試行)
- dual CPU での設定
2) バックエンドの dat 供給用 Apache の軽量化

このあたりを。

795 :root▲ ★ :2006/12/07(木) 11:45:57 ID:???0 BE:1915373-PLT(20002)
で、-RC2 を作るそうで、
かつそれも二度延期されているので、
-RC1 で、そろそろやってみることになるのかなと。

796 :◆ANGLERlqvM :2006/12/07(木) 13:29:51 ID:OeY7+lXa0 BE:2350073-BRZ(5799)
年内にRC2は難しいんじゃないですかね。。

RC1で試してみる方がいいのかな?
後で慌てるより、静かな今の時期が一番良いかも。

797 :動け動けウゴウゴ2ちゃんねる :2006/12/07(木) 14:31:52 ID:TtQRkXR80
で、どのマシンでやるんでしょう?

もちろんex系だと思っていますが・・・・

798 :root▲ ★ :2006/12/07(木) 16:41:15 ID:???0 BE:1916137-PLT(20002)
6.2 を最初に試すのは news20 (news20b) と決めているです。
たぶん、12月10日前後(つまり今週末)あたりかなと。
nextboot とか使って、強制リブートすると single CPU で上がるようにするとか、
最初はそんなかんじで試すと思います。

で、news20 で動かしてみて問題なければ、
本命の live23 (live23b) で動かそうかと。
年末特番に間に合わせるべく、12月20日あたりが目標かなと。

799 :root▲ ★ :2006/12/07(木) 16:43:16 ID:???0 BE:1460328-PLT(20002)
で、年内に試すのは、たぶん news20b と live23b の2台だけかなと。

800 : ◆TWARamEjuA :2006/12/07(木) 22:34:33 ID:1WiR0RCc0 BE:2178454-BRZ(6677)
(´-`).。oO(2ちゃんねる鯖全root化計画。。。)

801 :動け動けウゴウゴ2ちゃんねる :2006/12/07(木) 22:54:24 ID:zj+URHnO0
おかねがかかりそう

802 :root▲ ★ :2006/12/07(木) 23:07:50 ID:???0 BE:3648285-PLT(20002)
>>792 を、ぼそぼそと設定中。

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

でいいのかな。

で、それ以外を全面禁止にするには、どうすればいいのかしら。

803 : 株価【1500】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/07(木) 23:13:28 ID:E59ivIXm0
>>802

<Directory />
    Deny from all
</Directory>

かな......

804 :root▲ ★ :2006/12/08(金) 00:49:03 ID:???0 BE:2462393-PLT(20002)
>>803 どもです。
というか、ports 的には入っているですね。
とすると、バーチャルホストも要らないわけか。

少しずつ雪だるまの内部ネットワークで試していますが、

GET /livecx/dat/ HTTP/1.1
Host: live23.2ch.net

とやると、

[Thu Dec 07 07:45:42 2006] [error] [client xxx.xxx.xxx.xxx] client denied by server configuration: /home/xxxxxx/public_html/livecx/dat/index.html

のようになるですね。

この場合、dat のディレクトリインデックスを表示してほしかったりするわけですが、
どうすればいいのかしら。

805 :root▲ ★ :2006/12/08(金) 00:50:41 ID:???0 BE:1824645-PLT(20002)
で、モジュールはこのぐらいまで減らしました。
まだ、減らせるのかな。

LoadModule authn_file_module libexec/apache22/mod_authn_file.so
LoadModule authz_host_module libexec/apache22/mod_authz_host.so
LoadModule log_config_module libexec/apache22/mod_log_config.so
LoadModule logio_module libexec/apache22/mod_logio.so
LoadModule setenvif_module libexec/apache22/mod_setenvif.so
LoadModule mime_module libexec/apache22/mod_mime.so
LoadModule status_module libexec/apache22/mod_status.so
LoadModule autoindex_module libexec/apache22/mod_autoindex.so
LoadModule dir_module libexec/apache22/mod_dir.so
LoadModule alias_module libexec/apache22/mod_alias.so
LoadModule cgidso_module libexec/apache22/mod_cgidso.so

806 :root▲ ★ :2006/12/08(金) 01:05:49 ID:???0
>>805
LoadModule rpaf_module libexec/apache22/mod_rpaf.so

を追加(ログとり等のため)。

807 :root▲ ★ :2006/12/08(金) 01:22:31 ID:???0
>>805
LoadModule auth_basic_module libexec/apache22/mod_auth_basic.so

も必要ですね。
システムチェック用に、パスワード認証しているところがあった。
# ということは、なくすこともできるわけか。

808 :root▲ ★ :2006/12/08(金) 01:36:47 ID:???0 BE:2189838-PLT(20002)
>>804 は、dat/index.html も許してやればいいのかな。

>>802 を直せばよさげだけど、今日は既に頭が回らないですね。
ということで、いったんこのへんで。

809 : 株価【1500】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/08(金) 02:54:09 ID:cR0PtF7n0
>>804-808 乙です.

>GET /livecx/dat/ HTTP/1.1
>Host: live23.2ch.net
>
>とやると、
>
>[Thu Dec 07 07:45:42 2006] [error] [client xxx.xxx.xxx.xxx] client denied by server configuration: /home/xxxxxx/public_html/livecx/dat/index.html

Options に Indexes が入ってないとか......

あと,ForceType とか使えば AddType 使わなくて
済みそうなので mod_mime もいらないかもとか......
mod_alias や mod_setenvif は何か使ってるんでしょうか......

810 :root▲ ★ :2006/12/08(金) 11:32:26 ID:???0 BE:3831067-PLT(20002)
>>809
> Options に Indexes が入ってないとか......

Indexes は入っているです。

該当部分を Allow すると autoindex に渡された結果が正常に見られるので、
index.html がないことを確認するところで、ひっかかっているようです。

> あと,ForceType とか使えば AddType 使わなくて
> 済みそうなので mod_mime もいらないかもとか......

<IfModule mime_module>
TypesConfig etc/apache22/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
</IfModule>

ここをはずせるようにすればいいと。

811 :root▲ ★ :2006/12/08(金) 11:36:44 ID:???0 BE:5745997-PLT(20002)
> mod_alias や mod_setenvif は何か使ってるんでしょうか......

mod_alias は autoindex の時のアイコン関係ですね。

Alias /icons/ "/usr/local/www/apache22/icons/"

ということは、 public_html/icons に同じものを入れ込めばいいのかな。

mod_setenvif はこれですね。
携帯の時に KeepAlive しないという。

所詮 dat と index.html / subback.html / subject.txt しか供給しないんだから、
KeepAlive をとめてしまうという手もあるのかしら。

<IfModule setenvif_module>
BrowserMatch "DoCoMo" nokeepalive
BrowserMatch "KDDI" nokeepalive
BrowserMatch "UP.Browser" nokeepalive
BrowserMatch "J-PHONE" nokeepalive
BrowserMatch "Vodafone" nokeepalive
BrowserMatch "SoftBank" nokeepalive
BrowserMatch "DDIPOCKET" nokeepalive
BrowserMatch "WILLCOM" nokeepalive
</IfModule>

812 :root▲ ★ :2006/12/08(金) 11:39:22 ID:???0 BE:1459182-PLT(20002)
あ、ていうか /icons は所詮 mod_proxy っていうぐらいで、
フロントから読むのか。

だったら、バックエンドで Alias しなくてもいいわけかな。

813 : 株価【1500】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/08(金) 11:46:34 ID:cR0PtF7n0
>>810-812
>Indexes は入っているです。
>該当部分を Allow すると autoindex に渡された結果が正常に見られるので、
>index.html がないことを確認するところで、ひっかかっているようです。

なるほど......となるとこんな感じかな?

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

>TypesConfig etc/apache22/mime.types

*.dat と subject.txt の類だけを返すなら,MIME type の定義もいらなさそうな......
その他のファイルは CGI 等を走らせる汎用 httpd の方に任せればいいし.

>AddType application/x-compress .Z
>AddType application/x-gzip .gz .tgz

昔の過去ログは圧縮してたのがあったと思いますが,今もやってるんでしょうか?
まぁ,それもさほどアクセスが多くなければやはり汎用 httpd に回すってことで.

>Alias /icons/ "/usr/local/www/apache22/icons/"
>ということは、 public_html/icons に同じものを入れ込めばいいのかな。

ですね.そういうのはフロントから直接でもいいですし.

>携帯の時に KeepAlive しないという。

携帯はバックエンドには直接アクセスしないので,フロントだけ設定しておけばいいような......

814 : [―{}@{}@{}-] 動け動けウゴウゴ2ちゃんねる :2006/12/08(金) 19:23:28 ID:apgaP6L30
>>811
>KeepAlive をとめてしまうという手もあるのかしら。

フロント5台しかバックエンドにはアクセスしないんだから
そしてそのアクセス数はものすごいんだから
KeepAlive切るとむしろフロントの負荷が上がるはず

815 :root▲ ★ :2006/12/08(金) 20:10:42 ID:???0 BE:1915373-PLT(20002)
>>813
> >>810-812
> >Indexes は入っているです。
> >該当部分を Allow すると autoindex に渡された結果が正常に見られるので、
> >index.html がないことを確認するところで、ひっかかっているようです。
> なるほど......となるとこんな感じかな?
> <LocationMatch "^/(?:\w+/(?:|subject\.txt|(?:subback|index)\.html|dat/(?:|\d+\.dat|index\.html))|test/pastdat\.so)$">

403 にはならなくなりましたが、一覧は、

[Fri Dec 08 02:53:19 2006] [error] [client xxx.xxx.xxx.xxx] client denied by server configuration: /home/xxxxxxxx/public_html/livecx/dat/1165573501.dat
[Fri Dec 08 02:53:19 2006] [error] [client xxx.xxx.xxx.xxx] client denied by server configuration: /home/xxxxxxxx/public_html/livecx/dat/1165573505.dat
[Fri Dec 08 02:53:19 2006] [error] [client xxx.xxx.xxx.xxx] client denied by server configuration: /home/xxxxxxxx/public_html/livecx/dat/1165573525.dat

となってしまうみたいです。

でも、個別の dat は、

GET /livecx/dat/1165572948.dat HTTP/1.1
Host: live23.2ch.net

のように正しく読めます。

816 :root▲ ★ :2006/12/08(金) 20:21:10 ID:???0 BE:2736656-PLT(20002)
> >TypesConfig etc/apache22/mime.types
> *.dat と subject.txt の類だけを返すなら,MIME type の定義もいらなさそうな......
> その他のファイルは CGI 等を走らせる汎用 httpd の方に任せればいいし.
> >AddType application/x-compress .Z
> >AddType application/x-gzip .gz .tgz
> 昔の過去ログは圧縮してたのがあったと思いますが,今もやってるんでしょうか?
> まぁ,それもさほどアクセスが多くなければやはり汎用 httpd に回すってことで.

やってみましたが、
mod_mime をはずすと、AddHandler が使えないみたいです。
で、これがちと、、、。

AddHandler dso-script so

ん、でもこの httpd 配下では test/ の下は pastdat.so (とanydat.so) しかアクセスしない
とすると、ForceType してしまえばいいのかしら。

> >Alias /icons/ "/usr/local/www/apache22/icons/"
> >ということは、 public_html/icons に同じものを入れ込めばいいのかな。
> ですね.そういうのはフロントから直接でもいいですし.

mod_alias をはずしました。

> >携帯の時に KeepAlive しないという。
> 携帯はバックエンドには直接アクセスしないので,フロントだけ設定しておけばいいような......

mod_setenvif をはずしました。

817 :root▲ ★ :2006/12/08(金) 20:21:52 ID:???0 BE:2554447-PLT(20002)
>>814
そんな気が私もします。
ということで単に「携帯だけやらない」を、はずすのみで。

818 :root▲ ★ :2006/12/08(金) 21:40:14 ID:???0 BE:1459182-PLT(20002)
>>815
# XXX dat directories/files
<DirectoryMatch "^/home/xxxxxxxx/public_html/\w+/dat">
Order allow,deny
Allow from all
</DirectoryMatch>

これを入れると読めるですね。
やや挙動不審ですが、とりあえず回避はできそうと。

819 : 株価【1300】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/08(金) 21:55:20 ID: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 の場合デフォルトハンドラと似たような処理をしてるだけなので,
まぁそんなところでしょうけど.

820 :root▲ ★ :2006/12/08(金) 22:26:17 ID:???0 BE:3283766-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>

821 :root▲ ★ :2006/12/08(金) 22:27:49 ID:???0 BE:912252-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>

にしてみた。

822 :root▲ ★ :2006/12/08(金) 22:31:01 ID:???0 BE:5107687-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

823 :root▲ ★ :2006/12/08(金) 22:37:45 ID:???0 BE:2280555-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/
(これが板毎に並ぶ)

824 :root▲ ★ :2006/12/08(金) 22:40:46 ID:???0 BE:2553874-PLT(20002)
eqplus で試してみましたが、index.css も許可しないとだめなのかな。

825 :root▲ ★ :2006/12/08(金) 22:47:43 ID:???0 BE:3283294-PLT(20002)
>>823-824
あと、/kako/ とかもあるから、
アクセスが頻繁なやつだけ個別に振ることにするほうがいいのかな。

そうすると、>>823 みたいに単純に全部振るのではなくて、
index.html / subject.txt / subback.html / dat/ だけを指定したほうがいいのか。

826 : 株価【1300】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/08(金) 22:52:22 ID: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 に振るってことで.

827 :root▲ ★ :2006/12/08(金) 23:02:25 ID:???0 BE:5746379-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>

にしたです。

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

は、ブラウザ側に出る URI に、:xxxx が出ないようにするための策なんでしたっけ。

829 : 株価【1300】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/08(金) 23:09:49 ID: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]

830 :root▲ ★ :2006/12/08(金) 23:10:45 ID:???0 BE:730324-PLT(20002)
いや、ちがうすね。>>828
書き換えた上で、、、どうするのかな。

831 :root▲ ★ :2006/12/08(金) 23:11:24 ID:???0 BE:912252-PLT(20002)
>>829
あ、そういう技があるのですか。なんと。

832 :root▲ ★ :2006/12/08(金) 23:12:19 ID:???0 BE:1460328-PLT(20002)
>>829
kako/ 以外にもあるかもしれないので、2行目はちょっと微妙かも。
1行目だけでいけるのかしら。

833 :root▲ ★ :2006/12/08(金) 23:13:56 ID:???0 BE:5107878-PLT(20002)
kako/ 以外には、html/ とか i/ とか、、、。
(将来増えるかもしれないし)

834 :root▲ ★ :2006/12/08(金) 23:18:36 ID:???0 BE:1095326-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]

を足せばいいのかしら。

835 : 株価【1300】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/08(金) 23:24:35 ID:cR0PtF7n0

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

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

>>834 あ,それでもいいのかも......

836 :動け動けウゴウゴ2ちゃんねる :2006/12/08(金) 23:27:15 ID:6LE3EDuF0
>>820
> # dat directories/files
> <Directory "^/home/xxxxxxxx/public_html/*/dat">
これの先頭一致って外さなくていいのですか?
<Directory "/home/xxxxxxxx/public_html/*/dat">

837 :root▲ ★ :2006/12/08(金) 23:30:17 ID:???0 BE:3283766-PLT(20002)
>>836
うまくいかなくて、さっき既にはずしました。
お恥ずかしい。

838 :root▲ ★ :2006/12/08(金) 23:35:02 ID:???0 BE:1641863-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/

839 :root▲ ★ :2006/12/08(金) 23:35:44 ID:???0 BE:3283766-PLT(20002)
お、ポート番号が。

本番では変えようかと(というか、今はどうせ外には bind() してないけど)。

840 : 株価【1300】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/08(金) 23:43:23 ID:cR0PtF7n0
>>839 まぁ,仮に外部から直接叩かれてもいいように <LocationMatch> の指定以外の
URL を Deny するようにしてるんで......

841 :root▲ ★ :2006/12/08(金) 23:45:49 ID:???0 BE:4104959-PLT(20002)
>>840
そういうことですね。

<Directory />
AllowOverride None
Order deny,allow
Deny from all
</Directory>

842 : 株価【1300】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/08(金) 23:53:16 ID:cR0PtF7n0
あと,Options の MultiViews は外した方がいいですね.
これのインパクトはバカにできないんで......

843 : 株価【1300】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/08(金) 23:58:02 ID:cR0PtF7n0
>>839-840 逆に言うと,プライベートアドレスしか bind() しないのなら,
フロント側のリバースプロクシ設定を注意深く行って dat や subject.txt 等への
アクセスしか逝かないようにすれば,細かいアクセス制御も不要ですね
(そういうディレクティブを入れない方が軽いには軽い).

844 :root▲ ★ :2006/12/08(金) 23:59:13 ID:???0 BE:1460328-PLT(20002)
>>807 に加えて、
LoadModule authz_user_module libexec/apache22/mod_authz_user.so

も必要みたい。

845 :root▲ ★ :2006/12/09(土) 00:01:27 ID:???0 BE:1459182-PLT(20002)
>>842
MultiViews をはずしました。

>>843
設定を間違えるとちとこわいんで、二重にセーフティガードしようかと。

846 : 株価【1300】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/09(土) 00:37:10 ID:qN68LS7d0
>>844-845 乙です.

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

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

が必要です.あと,もし落ちてリブートしても立ち上がるように
ロックファイルは /md 上に作るといいかも,とか.

847 :root▲ ★ :2006/12/09(土) 00:39:19 ID:???0 BE:2188883-PLT(20002)
>>846
了解です。< pastdat.so

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

# つまり、FreeBSD の rcorder(8) を勉強しないといかんと、、、。

848 :root▲ ★ :2006/12/09(土) 00:53:04 ID:???0 BE:2463539-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"

849 :root▲ ★ :2006/12/09(土) 00:56:29 ID:???0 BE:1276872-PLT(20002)
で、こうやると /var/run/httpd.{normal,private}.pid が作られるようになるので
(httpd.conf の PidFile の内容にかかわらず)、
httpd.conf (両方とも)、PidFile のところを(念のため)変えておくと。

850 :root▲ ★ :2006/12/09(土) 01:14:12 ID:???0 BE:4925669-PLT(20002)
live23b の dat/index.html/index.css/subject.txt/subback.html 供給用の httpd を、
軽量化版に換えました。

かなり、軽くなっている予感。

851 :root▲ ★ :2006/12/09(土) 01:14:57 ID:???0 BE:2189164-PLT(20002)
live23b の LA が 0.00 になりました。

852 : 株価【1300】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/09(土) 01:17:25 ID:qN68LS7d0
>>850-851 乙です.

>LA が 0.00

これも何かスゴいですねw まぁ時間的にピークは過ぎてるってことはあるでしょうけど.

853 :root▲ ★ :2006/12/09(土) 01:18:14 ID:???0 BE:1459744-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>

854 :root▲ ★ :2006/12/09(土) 01:19:44 ID:???0 BE:4104959-PLT(20002)
今ちょっと上がって(私が作業しているからかな)、0.18 かな。< LA
top で様子見ていると、下がっていくかんじで。

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

で、日曜あたりから news20b で 6.2-RC1/amd64 のテストをば。

855 : 株価【1300】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/09(土) 01:25:14 ID:qN68LS7d0
乙ですた.

856 :root▲ ★ :2006/12/09(土) 01:32:09 ID:???0 BE:3192375-PLT(20002)
誤爆ということで。
しかし、なかなか。

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

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

PHP がでかいわけだけど、それにしてもおどろきで。

857 :root▲ ★ :2006/12/09(土) 01:53:08 ID:???0 BE:4377986-PLT(20002)
ブレーメンメーターでアクセス量をとりはじめた。

live23b.2ch.net 従来版
live23bl.2ch.net 軽量化版

858 :root▲ ★ :2006/12/09(土) 01:53:23 ID:???0 BE:1824454-PLT(20002)
>>857
http://mumumu.mu/bremen/

859 :root▲ ★ :2006/12/09(土) 02:05:33 ID:???0 BE:5746379-PLT(20002)
>>856
子供の httpd は、だいたい 27K ぐらいみたい。
いずれにせよ、相当で。

そんでは、おやすみなさい。

860 :root▲ ★ :2006/12/09(土) 02:08:23 ID:???0 BE:3831067-PLT(20002)
>>859
あうあう、27M です。

861 :◆ANGLERlqvM :2006/12/09(土) 05:29:02 ID:6Ft7hdip0 BE:5035695-BRZ(5799)
おぉ、Apache軽量化の効果が楽しみですね。

#PC98時代にconfig.sys等をいじり倒して、
#メモリの確保に必死だった、あの事を思い出した。。

862 :モーマン☆鯛。 :2006/12/09(土) 10:07:36 ID:QcPY0zQ90 BE:2338092-PLT(14001)
HIGH=UMB

863 :root▲ ★ :2006/12/09(土) 16:04:19 ID:???0 BE:3283766-PLT(20002)
read.cgi の更新をする(pastdat.so 対応)には、どうすればいいのかしら。

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

これでOK?

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

ということで、6.2-RC1/amd64 バージョンアップ作業へと。

865 :root▲ ★ :2006/12/09(土) 16:18:59 ID:???0 BE:3284249-PLT(20002)
で、バックエンド httpd の軽量化は効果が高いようなので、
live22x / news20 にも、順次たんたんと適用で。

866 : 株価【1300】 ▲▲▲▲ ◆cZfSunOs.U :2006/12/09(土) 21:17:47 ID: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 の方が
遙かにコンパクトですし.

867 :動け動けウゴウゴ2ちゃんねる :2006/12/09(土) 21:51:55 ID:YCoYhamC0
http://qb5.2ch.net/test/read.cgi/operate/1159268878/546

問題発生かも、かもかも。

868 :root▲ ★ :2006/12/09(土) 21:55:07 ID:???0 BE:4104195-PLT(20002)
>>867
ううむ、外の I/F 的には何も変わっていないはずなんですが、、、。

869 :root▲ ★ :2006/12/09(土) 21:59:02 ID:???0 BE:2462393-PLT(20002)
というか、今の livenhk が破綻していないわけで、、、。

どのタイミングで起きるかが知りたいところかも。

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


ただ,F15 のスクリプト見てみると,purge するのにループさせて
逐次 bbsd を呼び出してる箇所があるんですが,purge では
複数のスレ指定が可能なんで,join して一回だけ呼ぶようにしてみたら
どうだろう,とか思ったり......

285KB
新着レスの表示

スレッドリストへ戻る 全部 前100 次100 最新50

0ch BBS 2004-10-30