X



トップページ運用情報
472コメント179KB
bbs.cgi再開発プロジェクト6
■ このスレッドは過去ログ倉庫に格納されています
0001 ◆CPUinDOop.
垢版 |
2007/04/11(水) 21:48:35ID:lo7VtG1U0
peko鯖の稼動によりボトルネックの一つである事がより明らかになった
bbs.cgi作り直しプロジェクトです。

【開発環境の工事現場】
また挑戦。@2ch掲示板  http://dso.2ch.net/myanmar/
また挑戦2。@2ch掲示板 http://dso.2ch.net/yangon/

関連スレなどは >>2-5 くらい
0137 ◆TWARamEjuA
垢版 |
2007/09/11(火) 21:04:51ID:29nQHya40?2BP(6825)
>>136
率直に具体的に云いますと、Rock54登録所では、いわゆる「さくら」がリストの最初に来るように番頭はんがソートしていまして、それを丁稚どんに取りに来て貰っています。
それをもしかしたらbbs.cgi船が出る時に再ソートしていないかなぁと思いましてして。
0138 株価【888】 △△ ◆cZfSunOs.U
垢版 |
2007/09/11(火) 23:28:53ID:Tz61+8GH0
>>137 こんな感じなんで,bbs.cgi 側ではソートはしてないような......

        if(open(ADFILE, 'Rock54DataFile'))
        {
#               @FOX_Ro54 = <ADFILE>    ;
                @FOX_Ro54 = map { eval {
                        no warnings;
                        my @a = (split /<>/)[5..7];
                        [qr/$a[0]/, @a[1..2]];
                }; } <ADFILE>;
                close(ADFILE)           ;
        }
0139 ◆TWARamEjuA
垢版 |
2007/09/12(水) 00:15:11ID:A+yLPcsz0
>>138
なぁるほど。。。
ってことは、evalで引っかかっちゃってる(qr//でミスコンパイル)のかぁ。。。
でもって鯖によって5.6系と5.8系が混在しているのも何かありそうな。perlreでもよく読んでみよう。。。
0158動け動けウゴウゴ2ちゃんねる
垢版 |
2007/11/24(土) 07:51:53ID:mIMICoSQ0
既に忘れ去られている「関連ページ」。
随分前に、管理人の指示でread.cgiからはリンクが外され、
http://info.2ch.net/test/tb.cgi も既に消滅しているわけですが、
index.htmlには未だにリンクが残っていたりします。
通常鯖、bbsd鯖共に。
外しましょう外しましょうー。
0161近藤奈香
垢版 |
2007/12/03(月) 10:29:48ID:qX+IxZ7C0
FF11攻略情報 www.rmtfcne.com/f11
0162山本恵子
垢版 |
2007/12/03(月) 11:01:06ID:qX+IxZ7C0
FF11攻略情報 www.rmtfcne.com/f11
0167root▲▲ ★
垢版 |
2007/12/10(月) 17:37:06ID:???0?PLT(80128)
どうするのがいいんですかね。 >>165-166

単に、1行の長さをもう少し許容するようにする、だけでいいものなのかどうか。
0168 ◆TWARamEjuA
垢版 |
2007/12/10(月) 21:27:36ID:tUqA/Ra10?2BP(6825)
そもそも1行の長さを判定しない。
と言うのもあるかな♪
0169stream ◆PNstream2s
垢版 |
2007/12/10(月) 21:32:29ID:iVMBh61O0
そもそも1行の長さを制限するのって何で?
改行するのは段落を変えるときだけのほうがいいと思う
0170動け動けウゴウゴ2ちゃんねる
垢版 |
2007/12/10(月) 22:08:34ID:G46pvWjFP
1行に"aaaaaaaaaaaaaaaaaaaa...と "a"を4096文字並べることによって
topページ見たときに、横幅が物凄く広くなる荒らし方が出来るし。

今の2chで出来るかはどうか知らんけど
0174stream ◆PNstream2s
垢版 |
2007/12/10(月) 22:38:32ID:fZlpBMWl0
画面幅に合わせて見る側のブラウザが改行するのが本来でしょ
0175動け動けウゴウゴ2ちゃんねる
垢版 |
2007/12/10(月) 22:55:39ID:HXQHlYzo0
>>174
それも違うでしょ。
画面幅に合わせる事が絶対では無い。

CSSでの明示指定やブラウザ機能での明示設定ならまだしも、
そうでない場合に強制改行するのは全くの誤り。
0176 株価【857】 △△ ◆cZfSunOs.U
垢版 |
2007/12/11(火) 04:43:55ID:9WbGy+ZE0
>>158,164 bbsd でも変更しますた.で,とりあえず ex21 に反映しますた.
他に news21, news22, wwwww, live25, anime2 あたりにも入ってたかと思いますが,
そのあたりのは一連のリフレッシュ作業により稼働中の板はなくなったようなので,省略.
リフレッシュ後の鯖で入れた方が良さそうなのがあれば,改めて入れましょう,ってことで.

live23b, live24b, snow あたりのはむむむさんにおながいします,ということで.


あと " については,普通の本文中などにある限りはあえて &quot; に
変換する必要もないんでしょうが,確認画面で input タグの中に入ると
問題があったので一律に変換するようになったんですよね.なので,
変換が必要なケース(input タグ中に入る場合とメール欄)と
不要なケースを峻別して,そのあたりの処理を見直すというのも
一つの方法かもですが......
0177root▲▲ ★
垢版 |
2007/12/12(水) 00:21:42ID:???0?PLT(80128)
>>176
snow のは root 権限なくても更新できるようになっているです。
移行の際にそうしますた。

といってもいま、落ちてますが、、、。(´・ω・`)
0182 株価【851】 △△ ◆cZfSunOs.U
垢版 |
2007/12/17(月) 10:40:44ID:LySqlESJ0
・ qb5 で詰まる原因を探りやすくすべくログを取るようにする
・ いつぞやのように規制リスト配布がバグっても 500 エラーにならないようにする
>>176 の後半

あたりをやってみようかと......
0184動け動けウゴウゴ2ちゃんねる
垢版 |
2007/12/17(月) 19:38:10ID:6jOM937c0
&quot; ではなく
&quot と書いても " に変換されてるみたいだけど正常なのかな?

全角 → 半角
quot → quot
&quot → "
&quot; → "
0190 株価【850】 △△ ◆cZfSunOs.U
垢版 |
2007/12/17(月) 22:07:29ID:LySqlESJ0
dat 中(というか HTML ドキュメント中)の &quot が
ブラウザでどう表示されるか,という話ならブラウザ依存でしょうね.


で,とりあえず今のところログに残ってるのは

[2007-12-17 16:26:18]   &foxSetHost($GB)                ;       # ホストの判定: took 23s
[2007-12-17 17:22:31]   &foxSetHost($GB)                ;       # ホストの判定: took 22s
[2007-12-17 18:32:17]   &foxSetHost($GB)                ;       # ホストの判定: took 23s

てな感じですが(DNS 問い合わせで詰まってる?),
これはいつも qb5 で詰まる時のパターンなんですかね?
ともあれ,bbs.cgi の実行時間が長くなった時に
ログに記録する仕組みは動くことが確認できたので,
さらにもうしばらく観察......
0191root▲▲ ★
垢版 |
2007/12/18(火) 01:02:20ID:???0?PLT(80222)
>>190
qb5 ですが、なんか、qb6 で動くものと動機しているっぽい気がしました。
アクセスログと見比べてみるといいかも。
0192 株価【880】 △△ ◆cZfSunOs.U
垢版 |
2007/12/18(火) 02:29:24ID:Ifuf27KA0
>>191 なるほど.っていうか >>190 のログと 500 エラーのタイミングも一致してませんね.
これは,bbs.cgi 実行に入る前の SpeedyCGI そのものの実行段階で詰まってるってことかな......
0193root▲▲ ★
垢版 |
2007/12/18(火) 02:40:43ID:???0?PLT(80222)
あと、ほとんどの場合は 500 エラーが出ても書けているんですよね、、、。
つまり、少なくとも dat に追記するところまでは処理が動いていると。
0194 株価【858】 △△ ◆cZfSunOs.U
垢版 |
2007/12/18(火) 05:07:09ID:Ifuf27KA0
当てずっぽうで書きますが......現状で 512 になってる kern.maxusers を
さらに増やしてみてはどうでしょう,とか......
0195FOX ★
垢版 |
2007/12/18(火) 05:42:52ID:???0
酔っ払いの私にはわかんですー
0197root▲▲ ★
垢版 |
2007/12/18(火) 10:50:23ID:???0?PLT(80222)
>>194
資源系ですか。

何か、資源系で足りないものがあるような、というのには、
私も同意。
0198 株価【858】 △△ ◆cZfSunOs.U
垢版 |
2007/12/18(火) 11:52:56ID:Ifuf27KA0
あくまで推測ですが,speedy <-> speedy_backend 間の通信(Unix ドメインソケット経由)が
qb5 / qb6 の環境ではエラーになりやすいということかも知れないのではないかなぁ,と.
SpeedyCGI のソースを見てみると
----------------------------------------------------------------------
http://speedycgi.cvs.sourceforge.net/speedycgi/2.x/src/speedy_frontend.c?view=markup
  388 /* Create sockets in preparation for connect.  This may take a while,
  389 * esp on FreeBSD, when it's out of sockets.
  390 */
  391 if (!sockets_open++)
  392     speedy_ipc_connect_prepare(socks);

http://speedycgi.cvs.sourceforge.net/speedycgi/2.x/src/speedy_ipc.c?view=markup
   22 #ifdef ENOBUFS
   23 #   define NO_BUFSPC(e) ((e) == ENOBUFS || (e) == ENOMEM)
   24 #else
   25 #   define NO_BUFSPC(e) ((e) == ENOMEM)
   26 #endif

   48 static int make_sock(void) {
   49     int i, fd;
   50
   51     for (i = 0; i < 300; ++i) {
   52 fd = socket(AF_UNIX, SOCK_STREAM, 0);
   53 if (fd != -1)
   54     return fd;
   55 else if (NO_BUFSPC(errno)) {
   56     sleep(1);
   57     speedy_util_time_invalidate();
   58 }
   59 else
   60     break;
   61     }
   62     speedy_util_die("cannot create socket");
   63     return -1;
   64 }

  180 void speedy_ipc_connect_prepare(int socks[NUMFDS]) {
  181     int i;
  182     for (i = 0; i < NUMFDS; ++i)
  183 socks[i] = make_sock();
  184 }
----------------------------------------------------------------------
FreeBSD では socket(AF_UNIX, SOCK_STREAM, 0) が ENOBUFS になりやすいということかも?
そこで,ENOBUFS になりにくいようにするにはどうしたらいいか,というのがポイントかも知れないんじゃないかと......

あと,こんなのもあるようですが......

UNIX domain sockets MFC's
http://unix.derkeiler.com/Mailing-Lists/FreeBSD/stable/2007-05/msg00206.html
0199動け動けウゴウゴ2ちゃんねる
垢版 |
2007/12/18(火) 13:44:09ID:g5P0B/l20
SpeedyCGI で speedy_backendを使わないoptionったないんでしたっけ?
もしあったら少しの間それで援用してみるとか、
0200FOX ★
垢版 |
2007/12/18(火) 13:44:42ID:???0
援用じゃなかった運用
0202 株価【851】 △△ ◆cZfSunOs.U
垢版 |
2007/12/19(水) 05:01:24ID:oWXfZ2SH0
>>201
>普通の Perl スクリプトとして動か

すようにしてみました. @qb5
0203FOX ★
垢版 |
2007/12/19(水) 05:03:31ID:???0
おおー
さてどうなるか、、、
0204 株価【851】 △△ ◆cZfSunOs.U
垢版 |
2007/12/19(水) 06:49:42ID:oWXfZ2SH0
普通の Perl スクリプトにしてからは 500 エラーは出てないようですが,しかし......
bbs.cgi の実行時間が異常に長くなってたくさんたまってしまうことが相変わらずあるようで......
今ログを取るようにしてるメインルーチンより前の段階で詰まってるってことかな?
そっちでもログを取るようにしてみるか......


last pid: 80866;  load averages:  0.08,  0.07,  0.02  up 63+17:39:52    06:41:07
18 processes:  1 running, 17 sleeping

Mem: 519M Active, 1110M Inact, 210M Wired, 63M Cache, 112M Buf, 74M Free
Swap: 4096M Total, 116K Used, 4096M Free


USER     PID %CPU %MEM   VSZ   RSS  TT  STAT STARTED      TIME COMMAND
ch2qb5 80773  0.0  0.7 15700 14792  ??  I     6:39AM   0:00.28 /usr/bin/perl bbs.cgi (perl5.8.8)
ch2qb5 80774  0.0  0.7 15700 14792  ??  I     6:39AM   0:00.28 /usr/bin/perl bbs.cgi (perl5.8.8)
ch2qb5 80775  0.0  0.7 15700 14792  ??  I     6:39AM   0:00.28 /usr/bin/perl bbs.cgi (perl5.8.8)
ch2qb5 80776  0.0  0.7 15700 14792  ??  I     6:39AM   0:00.28 /usr/bin/perl bbs.cgi (perl5.8.8)
ch2qb5 80778  0.0  0.7 15700 14792  ??  I     6:39AM   0:00.28 /usr/bin/perl bbs.cgi (perl5.8.8)
ch2qb5 80780  0.0  0.7 15700 14792  ??  I     6:39AM   0:00.28 /usr/bin/perl bbs.cgi (perl5.8.8)
ch2qb5 80781  0.0  0.7 15700 14792  ??  I     6:39AM   0:00.28 /usr/bin/perl bbs.cgi (perl5.8.8)
ch2qb5 80782  0.0  0.7 15700 14792  ??  I     6:39AM   0:00.28 /usr/bin/perl bbs.cgi (perl5.8.8)
ch2qb5 80783  0.0  0.7 15700 14792  ??  I     6:39AM   0:00.28 /usr/bin/perl bbs.cgi (perl5.8.8)
ch2qb5 80785  0.0  0.7 15700 14792  ??  I     6:39AM   0:00.28 /usr/bin/perl bbs.cgi (perl5.8.8)
ch2qb5 80788  0.0  0.7 15700 14792  ??  I     6:39AM   0:00.28 /usr/bin/perl bbs.cgi (perl5.8.8)
ch2qb5 80791  0.0  0.7 15700 14792  ??  I     6:39AM   0:00.28 /usr/bin/perl bbs.cgi (perl5.8.8)
ch2qb5 80792  0.0  0.7 15700 14792  ??  I     6:39AM   0:00.28 /usr/bin/perl bbs.cgi (perl5.8.8)
ch2qb5 80794  0.0  0.7 15700 14792  ??  I     6:39AM   0:00.28 /usr/bin/perl bbs.cgi (perl5.8.8)
ch2qb5 80809  0.0  0.7 15700 14792  ??  I     6:39AM   0:00.28 /usr/bin/perl bbs.cgi (perl5.8.8)
0207 株価【851】 △△ ◆cZfSunOs.U
垢版 |
2007/12/19(水) 12:21:29ID:oWXfZ2SH0
どうにか,SpeedyCGI モードにしても 500 エラーにならないようにできたようです.

さて,500 エラーになっていた原因ですが...... FreeBSD の Unix ドメインソケット問題とかではなく,
なんと人為的な要因(POST データの送信に時間をかける DoS 攻撃により
speedy_backend のスロットがふさがってしまっていた)だったようです.
実行時間のかかるルーチンのログをメインルーチンに入る前の段階で取るようにしたら,
フォームデータ読込のところで時間がかかっていることから判明しました.
で,それへの対策を取りました,ということで.
0213 株価【851】 △△ ◆cZfSunOs.U
垢版 |
2007/12/19(水) 13:01:43ID:oWXfZ2SH0
まぁ,攻撃元等のログも取ってあるんですが(/var/tmp の下にあります),
海外串をランダムに使ってる感じですね......
0214動け動けウゴウゴ2ちゃんねる
垢版 |
2007/12/19(水) 14:40:41ID:X9Mrh5XD0
あれどうやって対処すればいいんだろ
自分の掲示板も海外SPAMみたいなのでたまにやられてる
cgiがなかなか終わってくれないんでレン鯖の同時実行数制限がかかって困るんだよな
0215動け動けウゴウゴ2ちゃんねる
垢版 |
2007/12/19(水) 14:48:14ID:CCDDIJ0z0
全鯖でbbs.cgiが止まった予感。
0218動け動けウゴウゴ2ちゃんねる
垢版 |
2007/12/19(水) 14:52:54ID:elBHtltk0
本当に止まってるなら鯖落ちスレがあんな少人数で済むわけがないだろ
あそこのテンプレにこう書いてるだろ

◆鯖落ち報告者が少ない時は自分の環境を疑ってみましょう。
0219動け動けウゴウゴ2ちゃんねる
垢版 |
2007/12/19(水) 14:56:54ID:8+z2btza0
>>214
うちは海外ホストがCGI踏んだらdenyリストに追加する仕掛けにしてる
0221動け動けウゴウゴ2ちゃんねる
垢版 |
2007/12/19(水) 15:04:00ID:X9Mrh5XD0
>>219
それくらいしないとだめみたいだね。毎分何回も叩かれたりするし
国内ISP以外弾くようなことも考えておくか

それ以外の対策としては、どこかにタイムアウトの仕掛けでも入れるのかな
0224root▲▲ ★
垢版 |
2007/12/19(水) 15:27:11ID:???0?PLT(80222)
変更部分の diff を縦読みしました。なるほど。

DoSというか、例の「たまにここにもスレ立ったりするやつ」
とかとも関係あるのかも。

# これからかいぎ。
0226root▲▲ ★
垢版 |
2007/12/19(水) 18:17:11ID:???0?PLT(80222)
詳細は、企業秘密じゃないかなと。>>225
企業じゃなくて個人サイトだけど。

普通に考えれば、
例えば指定されたデートの時間に3時間遅れてもけなげに待っていたのを、
1時間たったら「わたし…きらわれちゃったのね、ごめんなさい。さよなら」って言って、
なきながらその場を立ち去るとか、たぶんそんなことなんじゃないかなと。
0227動け動けウゴウゴ2ちゃんねる
垢版 |
2007/12/19(水) 18:52:26ID:q03oaVzL0
いやいや
1時間たったら「おまえきらわれちゃったから、首吊って死ぬる!」って言って、
警備員のおじさんに追い出されるとか。
0231 株価【860】 △△ ◆cZfSunOs.U
垢版 |
2007/12/27(木) 01:29:39ID:5q/f2YAj0
一応今後のために...... Perl モジュールについてのドキュメントは perldoc で表示されます.
例えば,今回のように「LWP モジュールで POST するにはどうすればいいか?」なら
perldoc LWP をコマンドラインから実行すればドキュメントが表示されて,その中に書いてあります.
0232 株価【850】
垢版 |
2007/12/27(木) 12:40:14ID:E1mJJrg50
TATESUGI厳し杉
IP群を18ビットで丸めないで下位8ビットだけにしてくれよ
0233動け動けウゴウゴ2ちゃんねる
垢版 |
2007/12/28(金) 11:35:43ID:94zI+H690
新規一転。

気分を変えて新しいブログ書く事にしました。

まあ つまらないブログでしょうが(笑)

あ 不定期更新ですから あしからず。
http://webmastei.com/weeb
0235Sweta-Zinok
垢版 |
2008/01/11(金) 20:10:49ID:WrhgRf4G0
Hi. Sorry for my english. Happy New Year!!!!! ?Good Luck!
0236Sweta-Zinok
垢版 |
2008/01/11(金) 20:27:24ID:WrhgRf4G0
Hi. Sorry for my english. Happy New Year!!!!! ?Good Luck!
■ このスレッドは過去ログ倉庫に格納されています