X



トップページ運用情報
1001コメント347KB

bbs.cgi再開発プロジェクト 3

■ このスレッドは過去ログ倉庫に格納されています
00012chtubo愛用者〜ヘ(゚д゚ヘ))))))〜61 ◆yBEncckFOU
垢版 |
04/02/13 19:08ID:o3jHs/Mb
peko鯖の稼動によりボトルネックの一つである事がより明らかになった
bbs.cgi作り直しプロジェクトです。

関連スレ
【Project peko】2ch特化型サーバ構築作戦 Part6
http://qb3.2ch.net/test/read.cgi/operate/1076413123/
◆ 全サーバトリップ統一作戦
http://qb3.2ch.net/test/read.cgi/operate/1067245837/
bby -- スレッド情報一元管理システム構築スレ
http://qb3.2ch.net/test/read.cgi/operate/1073058944/
BBQ システム(公開串リストメンテ)
http://qb3.2ch.net/test/read.cgi/operate/1073061576/
【連投規制】Samba24 情報要望スレ その3
http://qb3.2ch.net/test/read.cgi/operate/1075568934/
【広告】Rock54【自動排除】 3
http://qb3.2ch.net/test/read.cgi/operate/1074735308/
■ 新しいサーバで read.cgi が正しく動かない問題。 (dat落ち)
http://qb.2ch.net/test/read.cgi/operate/1047840578/


前スレ
bbs.cgi 再開発プロジェクト
http://qb3.2ch.net/test/read.cgi/operate/1053067870/
bbs.cgi再開発プロジェクト2
http://qb3.2ch.net/test/read.cgi/operate/1069144193/
0028動け動けウゴウゴ2ちゃんねる
垢版 |
04/02/15 09:39ID:mog12nGi
>>12
今度は確実にopteron244にしませうw

>>27
開発に協力してくれるのであれば
秘密保持契約結んて開示という手はあるかと思われ。
# 対価を取るかどうかは別問題として考えています。
0030歌唄いメセナ♪ ◆OHQ5SO6eaI
垢版 |
04/02/15 15:59ID:v7AATHjg
>27
read.cgiのperlで書かれたソースがほしぃ

規制関係で・・・

#板名 規制するホスト名(正規表現) コメントの順番 *板名に"all"と書けば全板規制

all infoweb.ne.jp 広告無差別爆撃
qb3 plala.or.jp AA荒らし
の内容のファイルを配布すれば板ごとに規制できるはず
0032▲ 某ソレ511
垢版 |
04/02/15 18:05ID:ubnG3BIh
それはsamba24のために管理してるフォルダに、
いくつIPが保存されてるかの値が記録されてるのね。
だから、ほんとは1時間ごとにクリアされるのが正しいの。
で、samba24のクリア機構にエラーがあったら数字が増え続けるわけ。
0034 ◆YKYLIME5Kg
垢版 |
04/02/15 18:17ID:Zqoq2YUD
( ・∀・)つ〃∩ ヘェーヘェーヘェー
0035動け動けウゴウゴ2ちゃんねる
垢版 |
04/02/15 20:35ID:ryrlMuSB
bbs.cgiってこんな感じ?
bbs.cgi
├初期処理
├IP Address/ホスト名に依存する処理
├書き込み内容に依存する処理
└書き込み処理
0037仕事人 ★
垢版 |
04/02/15 23:21ID:???
bbs.cgi
├IP Address/ホスト名に依存する処理
├初期処理
├書き込み内容に依存する処理
├IP Address/ホスト名に依存する処理
├書き込み内容に依存する処理
├書き込み内容に依存する処理
├IP Address/ホスト名に依存する処理
├書き込み内容に依存する処理
├書き込み内容に依存する処理
├IP Address/ホスト名に依存する処理
├書き込み内容に依存する処理
├初期処理
├書き込み内容に依存する処理
├IP Address/ホスト名に依存する処理
├書き込み内容に依存する処理
├IP Address/ホスト名に依存する処理
├書き込み内容に依存する処理
├IP Address/ホスト名に依存する処理
└書き込み処理

簡単に書くと、こんな感じかな
00392chtubo愛用者〜ヘ(゚д゚ヘ))))))〜61 ◆2CHTUBOC5A
垢版 |
04/02/16 00:03ID:xhMVzQKy
>>37
少しはまとめなよ、、、
0040マァヴ ◆jxAYUMI09s @マァヴ ★
垢版 |
04/02/16 00:06ID:???
しかも>37の各処理で8番目と15番目は二つ組みでひとつの処理を・・・・(^_^;)っつー感じなんだよな
0041▲ 某ソレ511
垢版 |
04/02/16 00:07ID:uCfv1eT9
>>37
さすが何十人もの手で作られた
インスタントラーメンのようなものだな。
0044root ★
垢版 |
04/02/16 00:54ID:???
>>40
うーむ、昔ひ(りゃ がperlccしてだめだったわけだ、、、。
ひょっとしてoyster901でperlccが通ったのって、奇跡に近い?
0047▲ 某ソレ511
垢版 |
04/02/16 00:59ID:uCfv1eT9
2ちゃんねるの9割は奇跡でできてます。
0048仕事人 ★
垢版 |
04/02/16 01:00ID:???
残りの一割は
ま・さ・か・・・・


いわゆる「おいらのギャグ」?
00502chtubo愛用者〜ヘ(゚д゚ヘ))))))〜61 ◆2CHTUBOC5A
垢版 |
04/02/16 01:17ID:xhMVzQKy
>>48
0052root ★
垢版 |
04/02/16 01:28ID:???
>>45
同じPerl 5.6.1なのに、news8では通りませんね。
本当に奇跡かも。

cc -DAPPLLIB_EXP="/usr/local/lib/perl5/5.6.1/BSDPAN" -fno-strict-aliasing -I/usr/local/include -O -pipe -I/usr/local/lib/perl5/5.6.1/mach/CORE /usr/local/lib/p
erl5/5.6.1/mach/auto/IO/IO.so /usr/local/lib/perl5/5.6.1/mach/auto/Fcntl/Fcntl.so -o ../../bbs.cgi bbs.pl.c -Wl,-E -L/usr/local/lib -L/usr/local/lib/perl5/5.6.1/mach/CORE -lperl -lm -lc -lcrypt -lutil
/tmp/cc2iTuIB.o: In function `xs_init':
/tmp/cc2iTuIB.o(.text+0x5927): undefined reference to `boot_DynaLoader'
ERROR: In compiling code for bbs.pl.c !
0053root ★
垢版 |
04/02/16 01:30ID:???
gccのバージョンが違うせいかもね。

こうして、偶然と奇跡のめぐり合わせで、今日も回っているわけだ。
0054仕事人 ★
垢版 |
04/02/16 01:32ID:???
んだ んだ

だから触れないところが在る訳だ。
00562chtubo愛用者〜ヘ(゚д゚ヘ))))))〜61 ◆2CHTUBOC5A
垢版 |
04/02/16 01:37ID:xhMVzQKy
な、なんだ(ry
0058root ★
垢版 |
04/02/16 01:43ID:???
ちょっと風邪薬を配合したら、make通っちゃった。どうする?

%ls -l bbs.cgi
-rwxr-xr-x 1 service service 806530 Feb 15 08:41 bbs.cgi
%file bbs.cgi
bbs.cgi: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 4.9, dynamically linked (uses shared libs), not stripped
0060root ★
垢版 |
04/02/16 01:46ID:???
時間がとれたら、新oysterと旧oysterでもやってみよっかな。
今日はちょっと無理だけどね。

まぁ、奇跡があと2回ぐらい起こってもいいかなと。
0063root ★
垢版 |
04/02/16 01:54ID:???
まぁ、桃色方面ででも試せるかなと。

>>61
DynaLoader.a の位置を探し出して、直接くべたのですよ。
とりあえずいんちきバイナリを作る時のテクとしては、定番かと。
このへんは昔とった(りゃ。
0072動け動けウゴウゴ2ちゃんねる
垢版 |
04/02/17 04:58ID:k6b32fPR
yahoo串なんですけどね
すぐ規制されちゃいますよね、で規制される前に使おうと思ったら「スレッド立てすぎです」
先にこの串で立てられたっぽくないんですけどね
0075仕事人 ★
垢版 |
04/02/18 17:18ID:???
後は。。。

携帯&●のスレ立て規制の兼ね合いですなぁ
規制の種を携帯固有番号or●固有文字列にすればいいんだが

また解読の日々か・・・
0080動け動けウゴウゴ2ちゃんねる
垢版 |
04/02/19 12:09ID:6uR1qJHV
っていうか、●の規制抜けの穴埋めは一番最後でいいじゃん・・・
何なら埋めなくても、●で荒らせば●剥奪なんだし。
0081
垢版 |
04/02/19 23:53ID:I8XCxW0P
過去ログが読めるだけなら、●の更新しませんわ……。

保証されてないとは言え、現状でスレッドが立てられるから、
●購入した一人です。
0084鳥取恥丘 ◆Dream/3P/.
垢版 |
04/02/24 15:07ID:PtfxF+tK
●買った瞬間に2chつぶれたりしませんよね?

それが怖くて買えない17の夏
0086 ◆LBZUBURIYM
垢版 |
04/02/24 22:42ID:lM393Id+
1000ストッパー素突破対策はこのスレと見たがどうか。
0092動け動けウゴウゴ2ちゃんねる
垢版 |
04/02/25 00:00ID:ckGpaSOf
qmail-localのパクリアイデアの続き。

/queue以下
/スレ番号
/スレ番号/cur
/スレ番号/new
/スレ番号/tmp

・投稿用bbs.cgiはtmpにひたすら書く。tai64time.pid.とか重複しないようなファイル名で
 書き込みに失敗したらcurをみて1000から始まるファイルがないかどうかチェック。なかったらウェイトしてはじめに戻る。
・tmpに書き込めたらnewにハードリンクしてtmpをunlinkする(投稿成功)
・dat追記デーモンはnewからひたすらcurに追記する。その際に0000から1000までの番号をファイル名の頭に追加する
 curに追加したファイル名でハードリンクして成功したらcurをunlinkする。
 999を追記した段階でtmpをreadonlyにchmodする。1000を書く
・dat書き出しデーモンがcur以下をcatして*.datとして出力。
・あぼーんするときはcur以下の数字を消してdat書き出しデーモンを呼び出す。

※もし出来るならqueueをファイルシステムじゃなくてMySQlとかにするほうが性能がいいかもしれない
0093動け動けウゴウゴ2ちゃんねる
垢版 |
04/02/25 00:04ID:ckGpaSOf
curをcatする方法だと、スレ番号/l50とかスレ番号/1-100とかも別途書き出すのが楽。
まぁ*.datを直接読んでくれる専用ブラウザには関係ない話だけど。
IE対策にはなりそげ。
0094動け動けウゴウゴ2ちゃんねる
垢版 |
04/02/25 00:07ID:fQT1CoFa
読み出す側で1001以上出力しないようにして、
レス数1000超えてたら自動的に1001のレスを付加してやったらええんでないの?
見た目1001超えなければ、書き込みも減る=妙な鯖負荷も減るだろうし。
で、状況見て書き込み側を改良していけばいいような。
0097/ノ、゚ ヮ゚ノ、,ヽ ◆HEHARUKAoo
垢版 |
04/02/25 00:43ID:jxRad/Uw
「絶対に上がらないスレ」ってできませんかね?
bbs.cgiで>>1のメール欄を見て「sagesage」だったら
書き込みのメール欄の先頭に「sage」を追加する、とか。
重くなるだけで利用価値ないかな。
0098▲ 某ソレ511
垢版 |
04/02/25 00:43ID:saa3Iepe
それに何の意味があるのか分からない。
0100▲ 某ソレ511
垢版 |
04/02/25 00:49ID:saa3Iepe
ていうか、そんなことを2ちゃんねるでやる必要性が感じられないな。
sageだかageだか知らないけど、2ちゃんねるはスレッドフロート式なんだから、
0102▲ 某ソレ511
垢版 |
04/02/25 00:58ID:saa3Iepe
sage進行信仰に対する一つの答えを出すことに意味があるのですか?
0103/ノ、゚ ヮ゚ノ、,ヽ ◆HEHARUKAoo
垢版 |
04/02/25 01:00ID:jxRad/Uw
さあ?意味なんて考えてもみませんでした。
やったら、できたら、そうなったら面白さの幅が広がるかな、と思っただけですよ。
0104▲ 某ソレ511
垢版 |
04/02/25 01:03ID:saa3Iepe
それがおもしろそうな機能には見えなかったんでね。
わざわざcgiを改造してまで追加する価値があるような
おもしろい機能とは思えないですよ。ageらないスレなんて。
0106▲ 某ソレ511
垢版 |
04/02/25 01:08ID:saa3Iepe
ただ、おもしろいかどうかは個人の主観なので、
おれは全然おもしろくない機能だと思うのですが、
ひろゆきがおもしろいと思えばありだとは思うんですけどね。
あと、sageっぱなしだと他の人が入ってこないのでどうしても馴れ合いが
進んでしまう、と考えられる点もマイナスポイントかも。
0107/ノ、゚ ヮ゚ノ、,ヽ ◆HEHARUKAoo
垢版 |
04/02/25 01:15ID:jxRad/Uw
ああ、馴れ合いの問題はありますね。

適用してみたいと思ったのは次のようなスレです。
・+系板の雑談スレ
・AA系の板のスレ
・自己紹介板のスレ
・bbspinkの一部スレ
・ネタスレ

ひ(ryは面白がらないっぽいなあ。
なんかそんな気がしてきますた。
0109動け動けウゴウゴ2ちゃんねる
垢版 |
04/02/25 01:46ID:snkhENhU
1.スレッド立てる人はスレが荒れてほしくないと思い強制sage進行スレに指定
2.70%のスレが強制sage進行スレとなる
3.スレはだいたい立てた順番にならぶ
4.sageの価値そのものが低くなる

こうなっちゃうんじゃない?
0110動け動けウゴウゴ2ちゃんねる
垢版 |
04/02/25 02:53ID:q+SvPxKC
むかしむかし、スレタイに「(10000)」と入れると上げられないスレにできたけど
「バグ」として修正されたことを考えると望み薄では
0112動け動けウゴウゴ2ちゃんねる
垢版 |
04/02/25 21:53ID:6mZyPruH
一応こちらで。

2chの動作報告はここで。 パート10
http://qb3.2ch.net/test/read.cgi/operate/1076174286/528
528 :FOX ★:04/02/25 21:44 ID:???
問題は処理の順番というか・・・
1) bbs.cgi の中盤で dat に追記
2) bbs.cgi の後半で subject.txt を書き換え
3) この時 dat 内のレス数カウント
4) ついでに 1,000 超え判定 → 1,001 書き込んでパーミッション変更
5) しかし既にこのときには次のbbs.cgiが目前までせまっているらしい。

1)の前に3)4)を入れられないのかと。
それだけでover 1000の書き込みははねられ、
それだけDisk I/Oの負荷が減ると思われ。

何でこんな処理になっていたんでしょ。
理由が知りたい。
0114動け動けウゴウゴ2ちゃんねる
垢版 |
04/02/25 22:06ID:6mZyPruH
>>112
529 :FOX ★:04/02/25 21:47 ID:???
dat のopen , close で行くと、

1) 512 超え判定、超えていたらDispError();
2) 追記のために open -> write -> close
3) subject.txt 書き換えのために res数取得 open -> read -> close
4) 超えていたら 1,001 書き込み open -> write -> close ->chmod

これなら、
open(+<);# 読み書き(追記用)両用フラグを与える
write;
read;
if(over 1000){ white; close; chmod};
else close;
endif;

とすればopenの手間は一発(=1/3)ですむ。
0116サザン ★
垢版 |
04/02/25 22:10ID:???
4) のところで、

A) 999以上で書き込めるの?
B) んじゃdatに1000ストッパー追記しよう
C) んでもって、パーミッション切っちゃおう
D) おしまい

となってます。

B) に詰まっちゃって、A) をすり抜けてきちゃうのがたくさんできる予感。
0117仕事人 ★
垢版 |
04/02/25 22:11ID:???
>>114

まさしく dat 追記する瞬間だけど

open(OUT, ">>$DATAFILE");
print OUT "$outdat\n";
close(OUT);


ここで dat 数を数えて DispError() するってこと?

そのあとで subject.txt を書き換えるときに
また dat数数えるってこと ?
0118サザン ★
垢版 |
04/02/25 22:12ID:???
>>116
あ、A) は

A) 1000以上で書き込めるの?

だ。
0119▲ 某ソレ511
垢版 |
04/02/25 22:12ID:XARNcXSJ
でも、実際の1000大幅超えスレでは、1000ストッパーが何回も書き込まれているのに
その後から書き込みしたレスも書き込めちゃってるんだよね。
だから、Bに詰まっちゃってるのはないんじゃないかな。。
0120サザン ★
垢版 |
04/02/25 22:15ID:???
>>119
datへの書き込み後に1000越え判定するんで、有り得ないこともないですね、
0121仕事人 ★
垢版 |
04/02/25 22:15ID:???
512kB 超えの判定は bbs.cgi のかなり序盤
ここだとうまく行くから ここで dat数も数える?
んで数を保持しておいて、、、

後半の subject.txt 書き換え部分でその数使う?
すでにずれている予感もするのだが、、

ピーク時 bbs.cgi は 20回/sec くらい呼ばれているぞ
それも同じ subject.txt に対して
0122動け動けウゴウゴ2ちゃんねる
垢版 |
04/02/25 22:18ID:HY3kIJLP
>>117
こういうことでは?

open(OUT, $DATAFILE, "a+");
print OUT "$outdat\n";
@logdat = <OUT>;
if (scalar @logdat > 999) {
print OVER "1001<><>Over 1000 Thread<>このスレッドは1000を超えました。 <br> もう書けないので、新しいスレッドを立ててくださいです。。。 <>\n";
close(OUT);
chmod(0555, $DATAFILE);
} else {
close(OUT);
}
0126動け動けウゴウゴ2ちゃんねる
垢版 |
04/02/25 22:32ID:6mZyPruH
そういえばbbs.cgiのcputimeってどのくらいです?

それ如何によってはある程度のdat(レス)数(の意でいいのだろうか)で
filelockかけるっていうことも視野に入れてもいいかなと。
まちがいなく1000近くになれば重たくなりますが、
over 1000の膨大なdisk I/Oでリソースを食うよりはましかと。

# peko級でcputimeが50ms程度でおさまっていればいいのですが・・・。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況