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

このエントリーをはてなブックマークに追加
850root▲▲ ★
帰宅。

>>849
ううむ、ざっとしか読んでませんが
Apache 2.2.4のmod_mem_cacheはVulnerableで、
かつRemotely exploitableですか、、、。

だとすると、cの応用で、
squid等をローカルに動かしてみるとかか。

まずは、いったんめしで。
851 株価【810】 △△ ◆cZfSunOs.U :2007/06/12(火) 02:02:59 ID:XGnP+XWV0
>>847-850 出張とかある中乙です......

Apache の mod_*_cache がいまいちということだと,確かに Squid の方が手堅いかもですね.
キャッシュさせる目的が dat 等の読み出しによるバックエンドの負荷を軽減させることであることからすると,
入れるのはフロントですね.

    フロントの httpd -> バックエンドの dat 用 httpd

というのを

    フロントの httpd -> フロントの Squid -> バックエンドの dat 用 httpd

という形にすると.
852[es] ◆MUMUMUhnYI :2007/06/12(火) 02:18:50 ID:oOEqiEVQ0
>>851
ただsquidにすると、http 1.0になっちゃうのかな。
で、対象は*.datとsubject.txtだけと。

いずれにせよ、明日の夜に宿泊先でってかんじかなと。
853 株価【810】 △△ ◆cZfSunOs.U :2007/06/12(火) 04:17:21 ID:XGnP+XWV0
>>852 Squid -> httpd の部分は HTTP/1.0 になりますね.
もっとも,直接ユーザから見える部分ではないですけど.

で,その方向でやるとすると,httpd では
    RewriteRule ^/(\w+/(?:|subject\.txt|(?:subback|index)\.html|index\.css|dat/(?:\d+\.dat)?))$ http://live23.2ch.net:pppp/$1 [P]
の部分を
    RewriteRule ^/(\w+/(?:|subject\.txt|(?:subback|index)\.html|index\.css|dat/(?:\d+\.dat)?))$ http://localhost:3128/$1 [P]
のようにして,Squid では
    http_port 127.0.0.1:3128 defaultsite=live23.2ch.net
    cache_peer private_addr_of_live23b parent port_of_httpd_for_dat 0 no-query originserver
    refresh_pattern . 0 0% 0
    collapsed_forwarding on
    refresh_stale_hit 1
のようにするといいのかな...... まぁ,とりあえずじっk(ry
854root▲▲ ★:2007/06/15(金) 02:48:51 ID:???0 BE:2736656-PLT(74072)
live23f5(squid挟み)
HTTP/1.1 200 OK
Date: Thu, 14 Jun 2007 17:45:56 GMT
Server: Apache/2.2.2
Content-Length: 3059
Content-Type: text/html; charset=shift_jis
X-Cache: MISS from tiger507.maido3.com
X-Cache-Lookup: MISS from tiger507.maido3.com:ぽわわ
Via: 1.0 tiger507.maido3.com:ぽわわ (squid/2.6.STABLE13)
Vary: Accept-Encoding

live23f4(直接)
HTTP/1.1 200 OK
Date: Thu, 14 Jun 2007 17:46:30 GMT
Server: Apache/2.2.2
Content-Length: 3059
Content-Type: text/html; charset=shift_jis
Vary: Accept-Encoding
855root▲▲ ★:2007/06/15(金) 02:49:19 ID:???0 BE:3283766-PLT(74072)
X-Cache: MISS from tiger507.maido3.com
X-Cache-Lookup: MISS from tiger507.maido3.com:ぽわわ
Via: 1.0 tiger507.maido3.com:ぽわわ (squid/2.6.STABLE13)

この3行を出させなくするには、どうしたらいいのかしら。
856root▲▲ ★:2007/06/15(金) 02:54:53 ID:???0 BE:1641863-PLT(74072)
# TAG: via on|off
# If set (default), Squid will include a Via header in requests and
# replies.
#
#Default:
# via on

これではないみたい。
857root▲▲ ★:2007/06/15(金) 02:57:58 ID:???0 BE:2736465-PLT(74072)
header_access Via deny all
header_access X-Cache deny all
header_access X-Cache-Lookup deny all

ふむ。これか。
858root▲▲ ★:2007/06/15(金) 02:58:30 ID:???0 BE:2188883-PLT(74072)
とりあえずできたかな。

ちょっとフロントに入れてみるか。
859root▲▲ ★:2007/06/15(金) 03:00:51 ID:???0 BE:2189838-PLT(74072)
入れた。様子を確認中。
860 株価【830】 △△ ◆cZfSunOs.U :2007/06/15(金) 03:02:18 ID:9kan85kW0
>>854-859 乙です.以前未解決だった黒山羊問題もどうか,ってとこですかね......
861root▲▲ ★:2007/06/15(金) 03:02:40 ID:???0 BE:821333-PLT(74072)
動いていそうなので、負荷テスト。

live23f5 にだけ流し込み。
862root▲▲ ★:2007/06/15(金) 03:04:03 ID:???0 BE:1368353-PLT(74072)
しばらく見ていて問題ないようなら、

・お風呂に入る
・live23f1-f4にも同じ設定を入れる
・もとどおりフロントを5台にする

という方向で。
863root▲▲ ★:2007/06/15(金) 03:09:05 ID:???0 BE:2463539-PLT(74072)
あとフロントのsquidはほとんどアクセスログとってないけど、

# for squid log rotate
0 0 * * * /usr/local/sbin/squid -k rotate

を入れるのを忘れないようにと。
864root▲▲ ★:2007/06/15(金) 03:18:26 ID:???0 BE:3284249-PLT(74072)
ログインいただいているようなので、
squid.conf を見られるようにしておきます。
チェックいただけると、とてもうれしいです。
865 株価【830】 △△ ◆cZfSunOs.U :2007/06/15(金) 03:35:57 ID:9kan85kW0
>>864 乙です.こちらで見た限りではいいんじゃないかと思います.
さて,これで実運用でどんな感じになるか,ってとこですか......
866root▲▲ ★:2007/06/15(金) 03:43:22 ID:???0 BE:5107687-PLT(74072)
>>865
どもです。

daemontools配下にして、reniceを弾力的にできるようにしようと。
rtprioするのはちょっと不安なので、とりあえず-14(cフロントと同じ)で。

#!/bin/sh
exec 2>&1
#exec env - PATH="/usr/sbin:/usr/bin:/bin:/usr/local/bin" \
# /usr/sbin/rtprio 31 setuidgid squid /usr/local/sbin/squid -D -N
exec env - PATH="/usr/sbin:/usr/bin:/bin:/usr/local/bin" \
/usr/bin/nice -n -14 setuidgid squid /usr/local/sbin/squid -D -N
867root▲▲ ★:2007/06/15(金) 03:45:54 ID:???0 BE:1276872-PLT(74072)
いい感じかな。

この設定を全フロントに仕込もうかと。
868root▲▲ ★:2007/06/15(金) 03:46:29 ID:???0 BE:730324-PLT(74072)
ただし、とりあえず適用はlive23にだけ。
live24/news20(現在使用せず)は従来どおり。
869root▲▲ ★:2007/06/15(金) 03:49:11 ID:???0 BE:2189164-PLT(74072)
squid入れると、読み込み分が2割ぐらいフロントが楽になるようですね。
これはでかいな。

http://mumumu.mu/bremen/live23bl.html
870root▲▲ ★:2007/06/15(金) 03:50:02 ID:???0 BE:1641863-PLT(74072)
で、みんなでおんなじスレを読んでもらえば、
さらに効果が上がると。

なんていう皮算用で。
871 株価【830】 △△ ◆cZfSunOs.U :2007/06/15(金) 03:54:38 ID:9kan85kW0
>>870 ですね.特に,同一ファイルに対する同時アクセスで効果が大きいってことで.
872root▲▲ ★:2007/06/15(金) 03:59:46 ID:???0 BE:1642436-PLT(74072)
まとめ:

0) ロードバランスから一時的に切り離す
1) squidを入れる
(事前に /etc/make.conf に設定追加必要: X11BASE 問題)
X11BASE=${LOCALBASE}
2) squid.conf を設定する
(別掲)
3) squid 起動/日次処理設定を入れる >>866 >>863
4) squid 動かす
5) httpd.conf を設定してApacheを再起動する
6) ロードバランス戻す
873root▲▲ ★:2007/06/15(金) 04:07:48 ID:???0 BE:4925096-PLT(74072)
>>853 以外の主な squid.conf の設定

cache_mem 128 MB
maximum_object_size_in_memory 4096 KB
cache_replacement_policy heap GDSF
memory_replacement_policy heap LFUDA

cache_dir null /dev/null

logfile_rotate 3
memory_pools off

forwarded_for off

header_access Via deny all
header_access X-Cache deny all
header_access X-Cache-Lookup deny all
874root▲▲ ★:2007/06/15(金) 04:28:55 ID:???0 BE:3648858-PLT(74072)
フロント5台に対して >>872 を適用。
875root▲▲ ★:2007/06/15(金) 04:34:17 ID:???0 BE:1642436-PLT(74072)
異常なさげ。

ほんとは動かしながら調整したい (>>873 とか >>866 の値とか) ですが、
かなり無理そうです。

やりたいことはやったので、
あとは、運を天空の城に任せる方向で。
876動け動けウゴウゴ2ちゃんねる:2007/06/15(金) 04:37:38 ID:homxQgJI0
遅くまでお疲れ様です
877 株価【830】 △△ ◆cZfSunOs.U :2007/06/15(金) 04:37:49 ID:9kan85kW0
>>874 乙です.

>>http://qb5.2ch.net/test/read.cgi/operate/1180971685/417-418n
そう言われればそうですね.まぁ,以前ダメだった原因はナゾのままですが......
878 株価【830】 △△ ◆cZfSunOs.U :2007/06/15(金) 19:48:15 ID:9kan85kW0
http://qb5.2ch.net/test/read.cgi/operate/1179399581/735-766n
Pragma: no-cache 対策として refresh_pattern に ignore-reload とか
入れた方がいいのかな.あとは,refresh_stale_hit をどうするか,か.
0 にすれば遅延は生じないけど,負荷とのトレードオフですからねぇ.
まぁ,お陰様で >>869 のグラフでも昨日までよりかなりフラットになってるけど.