【わしづかみたん】また俺たちの出番だが 3【ハァハァ】
以下の項目でよろしい?
--------------------------------------------------------
【問題点】
【対策目的・範囲】
【対策手段】
【予想できる結果】
---------------------------------------------------------
Open Proxyを使った書き込みを拒否するためにtcpserverを使うパターンを
考えると、今までApacheが処理してくれていたヘッダ解析&生成やその他の
もろもろな処理をbbs.cgiが自前でやらないといけなくなるわけですよね。
その作りこみは可能でしょうが、何分perlであるので本末転倒なことに
なりやしないかという不安もありますな。
現状だとhtmlファイルのLast-Modifiedヘッダが吐かれていないのも問題.
これはhtmlがserver-parsedになっているためと思うが,
Apache1.x ->
AddType text/html html
Apache2.x ->
RemoveOutputFilter html
# mod_deflateを使うのなら
# AddOutputFilter DEFLATE html
とした上で,
XBitHack full
としてSSIが必要なファイルのみ"chmod ug+x"にするといいと思う.
http://httpd.apache.org/docs-2.0/mod/mod_include.html#xbithack あとtcpserver云々に関しては,Apache2.x(worker MPM)+mod_perl+bbs.cgiを
port1024以降で走らせた方が,呼び出しのたびにfork(),exec()せず,
かつmultithreadedになるのだが..... そしてついでにread.cgiも
mod_readcgiにしてしまうとか......
704 :
ひろゆき ◆3SHRUNYAXA :03/02/12 16:54
tcpserverだと、>690さんのような問題もあるわけで、、
tcpserverのようなことをするphpスクリプトormod_perlスクリプトを噛ませるってのは
どうなんでしょう?
ただ、mod_perlは、高負荷になるとメモリにゴミが溜まるようなので、
apacheを再起動しまくったりしなきゃいけないので、
あんまり採用したくなかったりします。
machibbsはmod_perlで動いてますが、早朝に再起動してます。
705 :
ひろゆき ◆3SHRUNYAXA :03/02/12 16:55
とりあえず、sports2サーバあたりでテストするので、
SSIは切って試してみますです。
706 :
名無しさん@お腹いっぱい。:03/02/12 17:02
>>703 さんのご意見も ふんふんなるほどと思うんだけど、
それは何が問題点で何をどう解決するためにやるのか、
そしてプライオリティはどうなのか?
という部分が欠落していて、
で? という感想になってしまう。
>>704-705 さんが進めているのは
わしづかみくん(改) でいいんですよね?
>>705 結局SSIが必要ないhtmlファイルに対してもSSIを有効にしていると,
サーバ負荷もかかるしブラウザのキャッシュも効かないという問題が出てくるということ.
簡単な対処法でサーバ負荷軽減と転送量削減できる余地がまだある,ということです.
でもsports2はETagとLast-Modifed吐いてるんでSSI切ってるみたいですね......
>>704 >ただ、mod_perlは、高負荷になるとメモリにゴミが溜まるようなので、
>apacheを再起動しまくったりしなきゃいけないので、
MaxRequestPerChildで何とかなるかな......
710 :
夜勤 ◆n3D69Zsbfg :03/02/12 17:27
>>707 ex/live2 , ex2/live3 の設定をちょっと変えてみた。
いかがでしょ。
>>710 乙です.ETag/Last-Modifiedともに吐いていてOKのようですね.
712 :
夜勤 ◆n3D69Zsbfg :03/02/12 17:38
oysterサーバのうち 9あたりからは .htaccess で gzip のコントロールができるんです。
現状こうなっています。
ErrorDocument 404
http://game3.2ch.net/live.html ErrorDocument 403
http://server.maido3.com/ Options ExecCGI Indexes FollowSymLinks Includes
mod_gzip_on Yes
mod_gzip_minimum_file_size 300
mod_gzip_maximum_file_size 0
mod_gzip_maximum_inmem_size 100000
mod_gzip_item_include file \.htm$
mod_gzip_item_include file \.html$
mod_gzip_item_include file \.shtml$
mod_gzip_item_include file \.shtm$
mod_gzip_item_include file \.jsp$
mod_gzip_item_include file \.php$
mod_gzip_item_include file \.pl$
mod_gzip_item_include file \.cgi$
713 :
夜勤 ◆n3D69Zsbfg :03/02/12 17:39
mod_gzip_item_include mime text/.*
mod_gzip_item_include mime ^application/x-httpd-php
mod_gzip_item_include mime httpd/unix-directory
mod_gzip_item_include handler ^perl-script$
mod_gzip_item_include handler ^server-status$
mod_gzip_item_include handler ^server-info$
mod_gzip_item_exclude file \.css$
mod_gzip_item_exclude file \.js$
mod_gzip_item_exclude mime ^image/.*
mod_gzip_dechunk yes
mod_gzip_temp_dir /tmp
mod_gzip_keep_workfiles No
mod_gzip_can_negotiate yes
当面負荷の方が深刻ならば
mod_gzip_compression_level 1
を入れてみるとか。
投稿がpost で、
閲覧が全部 get なら
mod_gzip_handle_methods GET
って入れると、post をチェックしないので若干軽くなりそう。
ただし
Before version 1.3.19.2a this value was not configurable.
だそうです。
sage機能、ふしあなさん機能、ip記録機能、ID機能、発言番号機能を削って
名前とトリップと発言だけにすると軽くなりゅ?
718 :
夜勤 ◆n3D69Zsbfg :03/02/12 19:35
>>711 life , game2 , comic2/cocoa にも導入したです。
かつ read.cgi を再度動かしてみた。
ここに光臨なさってるひろゆきさん、本物?
>>719 ◆3SHRUNYAXA
これが目に入らぬか!
>>718 乙です.各サーバETag/Last-Modified出力確認できました.
ところで,music2, societyはApache2.0.44で,そうなるとApacheに
mod_deflateが付いてるはずだけど,mod_gzipとどっちがいいのかな......?
722 :
名無しさん@お腹いっぱい。:03/02/12 19:43
723 :
名無しさん@お腹いっぱい。:03/02/12 19:46
ひろゆきさん、UNIXってなんですか?
>>720あ、あわわわわわ
(´Д`;) ゴメンナサイゴメンナサイ
∨)
((
(;´Д`) トリップガ メニハイラナクテ ホントウニゴメンナサイ
( 八)
〉 〉
(´Д`;)、 コノトオリデス カンベンシテクダサイ
ノノZ乙
>>565です。
とりあえずjapan.testの記事から
dat, subject.txt, index.html(スレッドリストのみ), subback.htmlを
作成するスクリプトを走らせてみました。(30秒おきに更新)
http://toc.dyndns.org:81/chat/ linuxマシンで動かせばいいのですがperlが古いので動かず。。
しかたなしにWindows上で動かしてます。。
まだ実用にはなっていませんが、
もしよかったらNNTP経由でjapan.testに投稿してみてください。
それではnntp板に移ります。。
726 :
名無しさん@お腹いっぱい。:03/02/13 00:44
>>725 おもしろ!
別スレ作って進めるのキボン
728 :
名無しさん@お腹いっぱい。:03/02/13 02:03
>>727 なんか (・∀・)イイ!! 速い気がするし
てきぱき してるような感じ 錯覚か?
みな !!! 参加 シル
mod_gzip のソースこっそりのぞいてみましたが
毎回 gzip 圧縮してるような。
こっそりなので、自信なし。
>>731 ちらっとドキュメント読んでみたのだが、
これでテンポラリファイルを再利用できるのでは?
mod_gzip_keep_workfiles
Yes=Keep any work files used. No=Automatically delete any work files used.
運営側は
・ 現在何が問題で、
・ どう解決したいのか
・ このスレには何を求めているのか
・ そもそも、このスレに何かを求めているのかどうか
をはっきりしる!!
論点がバラバラ杉
ex鯖は荒らしも減ったしいい方向なんだけど.jp串もいつ使えなくなるか皆不安になってる。
規制にかんする部分だけでもソースと判定基準を公開してもらえたらとばっちり受けた者も救われるんだが
736 :
ひろゆき ◆3SHRUNYAXA :03/02/13 14:57
テンポラリをとっておくと、ディスクが瞬時に100%になりますよ。
737 :
名無しさん@お腹いっぱい。:03/02/13 15:03
>>735 その情報を利用して荒らし方を再検討するのかな?(w
>>733 これはね、デバッグ用であって再利用してくれる訳じゃあないのよ。
742 :
名無しさん@お腹いっぱい。:03/02/13 16:54
↑これ今日はいろんな所で見てるぞ!!
山崎コピペから変えたんだろ。
pc2, live5もApache2.0.44ですね.
745 :
名無しさん@お腹いっぱい。:03/02/14 03:15
デフォのレス表示数を25〜30に減らせば、かなりトラフィックが減ると思われ。
正直、50も読まないし。
>>380 > こいつを CGI、tcpserver それぞれで動かして ab -c10 -n1000 してみたところ、
> tcpserver の方が速かったよ。
うそつき。
時間が取れたから 手元のFreeBSD 4.7-Rでそのコードab -k-c4 -n 1000したが、
素っぴんのapache1.3.27の方が倍近く速かったぞ。
CPUはいにしえのPIII-500 Perlは 5.005_03、 tcpserverには-Rだけ
cgi版
Requests per second: 47.60 [#/sec] (mean)
tcpserver版
Requests per second: 26.02 [#/sec] (mean)
もっと重い処理だとfork();exec()のペナルティも軽くなるかもしれんが、この傾向はいっしょだろ。
# ちなみに shellと cでも試したけど、最速はshellだった(あたりまえ)
>>746 > CPUはいにしえのPIII-500 Perlは 5.005_03、 tcpserverには-Rだけ
tcpserver -RH -l0
>>746 ついでに inetd , xinetdでも試せませんか?
>746
> # ちなみに shellと cでも試したけど、最速はshellだった(あたりまえ)
shell の方が早いわきゃねーだろ
一体どういう実験をしたらこういう結果になるのやら
>>746 うそついてないよー
念のためもう一度やってみた
tcpserver -R:
Requests per second: 117.86 [#/sec] (mean)
tcpserver -RH -l0:
Requests per second: 121.92 [#/sec] (mean)
cgi:
Requests per second: 86.18 [#/sec] (mean)
環境は FreeBSD 4.7-p4、Apache 1.3.27、Celeron 1.3GHz、PC100CL2 512MB。
make.conf での最適化指定無し、kernel は GENERIC、apache は ports から
入れて httpd.conf のチューニングはしてない。
ab と server は同じ箱で動かして、ab -k -c4 -n1000
http://localhost:port/ と
ab -k -c4 -n1000
http://localhost/~ore/nph-test.cgi で計測。
752 :
名無しさん@お腹いっぱい。:03/02/14 11:56
あたりまえということにしたいのですね
>>746 >>750 mod_perlの有無で差が出てるんでないの?
ちなみに,ひろゆき氏が指摘していたmod_perlの
メモリリークはMaxRequestPerChildというworkaroundで
対処可能だろう(
>>704-707).
>>750 ab の -kオプションなしだとどうなりますか?
755 :
名無しさん@お腹いっぱい。:03/02/14 15:09
んで、問題は、
・apatchの処理速度の問題なのか?
・それとも、ネットワーク帯域の問題なのか?
問題の切り分けはできた?
>>755 名無しで文脈が無いんだから、
>>696の分類等で何に関して発言しているのか明確にしてくれ。
757 :
名無しさん@お腹いっぱい。:03/02/14 16:02
盛り上がってますか?
bbs.cgiの公開も無し仕様も無しでは名無しが進みませんナ
760 :
名無しさん@お腹いっぱい。:03/02/14 16:37
bbs.cgiは出てこないよ。かつて出てきた事はないし。
むしろ、良くできたクローンがあるんだからそれで検証したらいいんじゃないの?
761 :
名無しさん@お腹いっぱい。:03/02/14 16:41
762 :
757真性DQN ◆dqNuzaMPK. :03/02/14 17:14
ここってID無いのか
>>755 回線はそれほど問題じゃないと思うけどね
read.cgi止めるのだってCGIによる鯖の負荷を減らすための一手段でやってるんだし
cgi自体はこれ以上改善出来ないから、htaccessとかjavaとかtcpserverとか言う話が出てるんじゃないのか
俺の勘違いなら、暫くログでも眺めてるけどさ
rootが無いから、困ってるんだったら、rootくれる鯖屋に全板移転すれば良いのにな
それが一番近道だと思わんかい
763 :
名無しさん@お腹いっぱい。:03/02/14 17:57
ふーん。
鯖のハードは弄れるの?
弄れるんならRAID化してスループット上げてみたらどう?
NFSでファイル部分を別鯖にしたりとか。
これをやると、ディスク制御のO/Hを回避できてかなり高速になるよ。
ネットワーク負荷は倍になるので、LANカードを追加して別ネットワークにしたり、
クロスケーブルで直接接続したりすれば、良いんではないかと。
書き込み試験
767 :
名無しさん@お腹いっぱい。:03/02/14 21:43
いまいろんな板が書き込めなくなっていますね
なにが起こっているのでしょうか?
768 :
名無しさん@お腹いっぱい。:03/02/14 21:46
ルータいじってたとか
769 :
名無しさん@お腹いっぱい。:03/02/14 21:46
読み込みはできたんですね、これが
770 :
名無しさん@お腹いっぱい。:03/02/14 21:47
またトオルがなんか厨房なスクリプト書いて
必至で差し替えたんだろ?いつもの事だ。
俺がルーターの中の人だ。
772 :
名無しさん@お腹いっぱい。:03/02/14 21:52
773 :
名無しさん@お腹いっぱい。:03/02/15 00:33
まとめ
わしづかみタンが僕の心をわしづかみ(はぁと
>>773 と言うわけで、もう発言しないでね。
775 :
名無しさん@お腹いっぱい。:03/02/15 00:51
ほーい。
まぁおちけつですー
でもさー。
機能要求まとめるのって、結構重要じゃない?
書記キボー。
( ̄□ ̄;)!!
がんがってね
>>779 トリップ付けたってことはヤル気まんまんということだな(・∀・)ニヤニヤ
とりあえずこのスレを読んで解った事
【作戦目的】
サーバが重い。
主に荒らしによる爆撃が原因。
Perlスクリプトを使った自動投稿を禁止したい。
荒らしスクリプトの名前はage2chなど。
これらは open proxy を使ってる。
対策のために、アクセス禁止リストを自動生成する「わしづかみくん」を作成する。
【作戦状況】
アク禁の方法(.htaccess)に問題あり。負荷が高すぎる。
とりあえず、bbs.cgiをtest/bbs/bbs.cgiに置いて、.htaccessの呼ばれる頻度を
下げてみよう作戦を展開中。
【その他の情報】
2ch関係者はroot権限を持っていない。
2chはレンタルサーバで運営されている。
rootがないのでipfwや専用プログラムは却下っぽい。
とりあえずこんなんで良いのかな。
783 :
名無しさん@お腹いっぱい。:03/02/15 23:05
どこからどこまで読んだのだ…
>サーバが重い。
>主に荒らしによる爆撃が原因。
⇒主に read.cgi のリクエストによる CGI 起動の負荷が原因
>とりあえず、bbs.cgiをtest/bbs/bbs.cgiに置いて、.htaccessの呼ばれる頻度を
>下げてみよう作戦を展開中。
⇒すでにわしづかみくんは全鯖撤去済み
wolfサーバを使えばrootは手に入る。
設定料金が431000円
月額料金が30000円
wolf2002になると、設定料金が217000円で済む。
前レス訂正、CGIで使える言語は、Perl C C++ シェル。
>>783 このスレでは bbs.cgi への爆撃の対処を議論するので、
負荷の原因については
>>782 の解釈で問題ないと思われ。
>>783 とりあえず流しで読んでました。
>すでにわしづかみくんは全鯖撤去済み
なるほどー。
じゃ、read.cgiの改良か、負荷対策が今後の課題な訳だね。
いや、bbs.cgiだよ。
どうもです。
ということは、わしづかみくん=bbs.cgiという事ですか?
apatchや掲示板の込み入った技術については素人なので。
わしづかみくんは死にました。
791 :
名無しさん@お腹いっぱい。:03/02/16 00:11
>>789 >ということは、わしづかみくん=bbs.cgiという事ですか?
ということにしたいのですね。
君の中の人も大変ですね。
あなたのようなすばらしい発想の持ち主の人は
>>1をよく読みましょう。
仕様を嫁(ポッ
つーか 今一度このスレの趣旨をはっきりさせよう
このスレはage2ch対策スレじゃないのか!?
どっちらけになってきてるな
2ch viewerユーザーじゃないので読めないのですよ。
#なんだか能力不足っぽいので、しばらく勉強してきます。
そもそも、爆撃荒らし対策より串さがしのscan.plが問題になっているんだろ
いくら対策しても全部の串を使えなくする方法しかない
少しでも使える串があればscan.plを使いまくって鯖負荷問題は解決しないだろう
爆撃荒らしのほうは減るかもしれないが。。
797 :
ひろゆき ◆3SHRUNYAXA :03/02/16 03:07
わくわく、、、
わくわく、、、
どきどき。。。
がくがく、、、