bbs.cgi再開発プロジェクト4
■ このスレッドは過去ログ倉庫に格納されています
peko鯖の稼動によりボトルネックの一つである事がより明らかになった bbs.cgi作り直しプロジェクトです。 開発環境の工事現場 また挑戦。@2ch掲示板http://dso.2ch.net/myanmar/ 関連は>>2- >>155 書き込みの確認画面がでるときです。 未確認ですがスレ立て時も出てるような。 確認画面だすとこ なんと二箇所あるのよ@bbs.cgi どっちかわかる? たまに<br>になってる人見かけるけど原因はわからんとです 自分も試して見たが再現できなかった 問題点は ・クッキー画面を出す前に改行を変換してしまっている ・MESSAGEに対して " → " の変換を行っていない の2つかな? >>163 " の問題? それとも <br> のもんだい? そうではなくて、確認画面出すときにタグのエスケープや改行の変換をしていて なおかつ書き込み時も同じ処理をしているからではないかと。 cookie無しでも <br> がでなくなった模様 うーむ何度も書き込み失敗してしまう。 あと2秒が待てない(ry 今度は ERROR:もうちょっと落ち着いて書きこみしてください。1秒ぐらい。 だったorz なんかへんかも知れないです?書けません・・・・ cookie無しの投稿 みゃんまーは連闘規制どれくらいですか? みゃんまーでcookieなし投稿の実験しました。 書き込み&クッキー確認画面が出た後一定の時間(=連投規制時間以上) 待ってから書き込みボタンを押さないとエラーになります。 処理の流れを想像してみました。 『書き込む』ボタン押す ↓ 書きこみ&クッキー確認画面(たぶんこのときcookie発行) ↓ ↓ 『上記全てを承諾して書き込む』ボタン押す ↓ (たぶん)書き込み処理でcookieを使用した連続投稿チェック まあ確認画面はよーく読んで下さいってことでいいのかな。 >書き込み&クッキー確認画面が出た後一定の時間(=連投規制時間以上) >待ってから書き込みボタンを押さないとエラーになります。 えらーというと 500error ? それとも何かメッセージでるやつ? 餅付け 規制をはずしてみようかな、 何がおこるんだろ。。。 &bbs_main; exit; ######################################################### sub bbs_main { use CGI::SpeedyCGI; my $sp = CGI::SpeedyCGI->new; my $spv = $sp->i_am_speedy ? 'yes' : 'no' ; $ENV{'TZ'} = "JST-9";#日本 #$ENV はそのまま使う #対応シグナル $SIG{'PIPE'} = $SIG{'INT'} = $SIG{'HUP'} = $SIG{'QUIT'} = $SIG{'TERM'} = "SigExit"; $SIG{'ALRM'} = sub { die 'timeout' }; my $GBX = {}; このように my $BGX はローカルな変数なんですが、 逆にグローバルな変数を宣言するには Perl ではどうすればいいのか教えてください。 use vars qw($FOO %BAR @ZOT); >>181 をsubbbs_mainのそと、 1行目の&bbs_main; の前あたりに書く、という感じですか。 #!/usr/local/bin/speedy -- -b1048576 use strict 'vars'; #use vars qw($FOO %BAR @ZOT);グローバルー use vars qw($FOX); $FOX = {}; $FOX->{NOWTIME} = time;#現在時刻 &bbs_main; exit; なんと今度は逆の悩み・・・ 毎回 $FOX->{NOWTIME} の中身が変わる @dso $FOX->{NOWTIME} = time unless defined $FOX->{NOWTIME}; こうかな? だめみたい、毎回入る@dso #use vars qw($FOO %BAR @ZOT);グローバルー use vars qw($FOX); $FOX = {}; #$FOX->{NOWTIME} = time;#現在時刻 $FOX->{NOWTIME} = time unless defined $FOX->{NOWTIME}; あー、$FOXも初期化してるからか、 $FOX = {} unless defined $FOX これで広告等をファイルから読み込んでいる処理は 全廃できる 結構効くと思う。 広告を定義しているところは 起動時一回だけ読み込みにした @dso あとは・・・ カスタムフラッシュと、ローカルルールか? 1000.txt もあるか・・・ ちなみに最長で何分常駐するんだろか? < bbs.cgi(speedyCGI版) なんか ちゃんと動かなかったようだ ex7 は屍のようだ >>197 屍とか言わずに頼むよ、マジで['A`] >>197 >ex7 は屍のようだ 書けませんよ(涙 735 名前:名無し募集中。。。 [] 投稿日:04/12/05(日) 01:27:14 New!! 何だろうね 1102177518←これが出るとこまでは予想どおりなのか? >>197 てめー屍ししてやろうかゴルァ、 さっさと直せや雑談できねーし おい、誰か見せしめに、きつねうどん持ってこい!!!!!!! 読み込めるようになったけど書き込みは出来ないな['A`] 屍とか言わずに頼むよ、マジで['A`] キタ━━━━(゚∀゚)━━━━!! やっと書き込めたよ。 #!/usr/local/bin/speedy -- -b1048576 use strict 'vars'; use vars qw($FOX);#グローバルー &initFOX unless defined $FOX; &bbs_main; exit; sub initFOX { $FOX->{NOWTIME} = time; my $adFname = "./・・・・・.txt"; if($ENV{'SERVER_NAME'} =~ /bbspink\.com/i){$adFname = "../・・・・.txt";} open(ADFILE,"$adFname"); my @headad = <ADFILE>; close(ADFILE); $FOX->{headad} = "@headad"; #フッター(下の広告) $FOX->{footad} = ''; $FOX->{topad} = ''; #掲示板一覧表の表示 $FOX->{links} = '<Center><a href=http://www.ff.iij4u.or.jp/ ~ch2/bbstable.html Target=_blank>■<b>掲示板一覧</b>■</a></Center>'; #2ちゃんねる特別リンク $FOX->{specialad} = ' | <a href="http://irc.2ch.net ">チャット</a>'; return 1; } このようにしただけなんだけどなぁ。。。 なんで落ちたんだろ、だろ >>217 にもわからん事か・・・ オレには_だ・・・orz #&initFOX unless defined $FOX; unless(defined $FOX) { $FOX = {}; &initFOX; } こんな感じにしなきゃだめなのか? sub initFOX { $FOX = {}; か? >>223 再挑戦は構わないが下に出てくる数字には何の意味があるかだけ教えてくれ。 どんどん どんどん Speedy が起動されていくみたいですなぁ なんでなんだろか、 だから use vars は our でいいと何度いったら(r NOWTIMEってどの時点でのtimeなんだろう・・・よくわからん >>277 #!/usr/local/bin/speedy -- -b1048576 use strict 'vars'; our $FOX ;#グローバルー &initFOX unless defined $FOX; &bbs_main; exit; これでいいのかな? なんだよあの数字は しかもランダムに代わってるっぽいし 太字だし NOWTIMEは一応投稿時間と同じになるのが理想なわけ? あの数字は時刻?んなわけないよな 書き込むたびに増えたり減ったりしてるし bbs.cgiも数個のプロセスからなるから数種類の数字だけになればいい気がするけど違うのか・・・? うーむ our にしてみたけど、結局はどんどん増え続けるようですなぁ さっきより増え方がゆるくなった気もするけど、(気のせいかも) $FOX->{NOWTIME} = time; これだろ。プロセスごとのIDだと思えばいい。 同じ数字が出てくるのでうまくいってる予感。 ある数字を引くとズワイガニが当たるって聞いたんですが本当ですか? __ __ ヽ'::':/ }:::{ |:::l r:ャ l:::| l:(.ノ:::l ,.r:::'':::!:::ヽ゚;~ __, .〈;;;:::::::::::::::゙:i,,__,〃 ` /~:::y'''::::-:::〈ー‐’ /::::::/:::::::::::::〈:、 /:::::/:::::::::::::/ ヾ! ,:'!::::/:::::::::::::〈:、 l:! 〃ゝ〈_:::;;;:::ノ .l:l ヽ、 _〃 l:! . ´ ヽ、 ちなみに 現在 #use vars qw($FOO %BAR @ZOT); #use vars qw($FOX);#グローバルー our $FOX;#グローバルー #&initFOX unless defined $FOX; unless(defined $FOX) { $FOX = {}; &initFOX; } &bbs_main; exit; >全てのperlプロセスが忙しいときに他のリクエストが来たならば、別のperlプロセスが開始されます。 とあるからどんどん起動されてるんでは?-Mで制限できるみたいだけど 「すくなくとも今よりも忙しくならないようにしたい」というのが目的ですからねぇ これだけで挑戦してみよう。ex7 our $FOX;#グローバルー unless(defined $FOX) { $FOX = {}; } &bbs_main; exit; >>229 -r0とすると再起動しなくなるらしいですね 1102182422 1102182437 1102182455 1102182427 1102182454 1102182498 1102182499 いくつも数字でますね・・・ そして年末ジャンボワロタ くそ笑わしてもらいました。 FOXってなかなかいい人だったんですねwwwwwwwwww dsoのちゃっかりカウンターと「どのような形の削除依頼であれ公開させていただきます」が 増殖してるー ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.0 2024/04/24 Walang Kapalit ★ | Donguri System Team 5ちゃんねる