bbs.cgiの開発作業をすすめていくためのスレッドです。
FOXさんの努力によりSpeedyCGIへの対応が行われ、
パフォーマンスの向上が図られたbbs.cgi。
・雪だるま作戦への対応
・さらなるカスタマイズ
・パフォーマンスの向上
・微妙な虫取り
・長いメインルーチンをより短くコンパクトに
あたりがターゲットか。
前スレ:
bbs.cgi再開発プロジェクト6
http://qb5.2ch.net/test/read.cgi/operate/1113117347/
探検
bbs.cgi再開発プロジェクト7
■ このスレッドは過去ログ倉庫に格納されています
1root▲ ★
NGNG356root▲ ★
NGNG これで、うまくいったようです。
これで、datの存在チェックうんぬんのところと、
追記してクローズした後でdatをchmod 666しているところをとばせました。
Over1000処理してchmod 555datをあとから追いついて
chmod 666することがなくなったので、
より、安全にもなったはず。
# 新スレの場合、datがあったらエラー
if($GB->{NEWTHREAD})
{
sysopen(OUT, $filename, O_WRONLY|O_CREAT|O_EXCL, 0666)
or &DispError2($GB,"ERROR!","ERROR:板飛びそうなので、またの機会にどうぞ。。。");
}
# レスの場合、datに追記できなかったらエラー
else
{
sysopen(OUT, $filename, O_WRONLY|O_APPEND, 0666)
or &DispError2($GB,"ERROR!","ERROR:レスしようとしたらdatに書けませんでした。今dat落ちしちゃったかもです。");
}
これで、datの存在チェックうんぬんのところと、
追記してクローズした後でdatをchmod 666しているところをとばせました。
Over1000処理してchmod 555datをあとから追いついて
chmod 666することがなくなったので、
より、安全にもなったはず。
# 新スレの場合、datがあったらエラー
if($GB->{NEWTHREAD})
{
sysopen(OUT, $filename, O_WRONLY|O_CREAT|O_EXCL, 0666)
or &DispError2($GB,"ERROR!","ERROR:板飛びそうなので、またの機会にどうぞ。。。");
}
# レスの場合、datに追記できなかったらエラー
else
{
sysopen(OUT, $filename, O_WRONLY|O_APPEND, 0666)
or &DispError2($GB,"ERROR!","ERROR:レスしようとしたらdatに書けませんでした。今dat落ちしちゃったかもです。");
}
357root▲ ★
NGNG chmod 555datを => chmod 555したdatをあとから
358root▲ ★
NGNG 481 名前: ◆MUMUMUhnYI [sage] 投稿日:2005/11/30(水) 03:23:06 ID:vRY99gsD0 ?###
# 051130 WriteDatFile改良、sysopenを使用しより安全確実な処理に by む
# 051130 WriteDatFile改良、sysopenを使用しより安全確実な処理に by む
359root▲ ★
NGNG When opening a file, a lock with flock(2) semantics can be obtained by
setting O_SHLOCK for a shared lock, or O_EXLOCK for an exclusive lock.
If creating a file with O_CREAT, the request for the lock will never fail
(provided that the underlying file system supports locking).
ふむ、、、。
しかし、どうなんだろう。
setting O_SHLOCK for a shared lock, or O_EXLOCK for an exclusive lock.
If creating a file with O_CREAT, the request for the lock will never fail
(provided that the underlying file system supports locking).
ふむ、、、。
しかし、どうなんだろう。
360root▲ ★
NGNG これは、index.html / subject.txt / subback.html i/index.html(qb5とbbspinkのみ)
といったファイルの話です。
今は、
index.html subject.txt … 一時ファイル(*1)を作ってそっちで作り、それをrename
subback.html i/index.html … ロックなしでいきなり本ファイル作成(カミカゼ状態)
に、なっているです。
で、animeサーバやmorningcoffee、news4vipなど、たくさんの書き込みがあるところで、
かつlive系と違ってスレ数が多くてファイル生成にコストがかかるところを中心に、
上記の一時ファイルがだんだんと溜まっていき、
例えばanimeサーバではメモリディスクを圧迫していき、何回か破綻状態になりました。
で、このへんをなんとかできると、こういったことも減るんじゃないかなと。
上のほうでもおじさんが書いていたような気がしますが、
まずはopenやsysopenのエラーチェックをまじめにやるべきなのかもですね。
といったファイルの話です。
今は、
index.html subject.txt … 一時ファイル(*1)を作ってそっちで作り、それをrename
subback.html i/index.html … ロックなしでいきなり本ファイル作成(カミカゼ状態)
に、なっているです。
で、animeサーバやmorningcoffee、news4vipなど、たくさんの書き込みがあるところで、
かつlive系と違ってスレ数が多くてファイル生成にコストがかかるところを中心に、
上記の一時ファイルがだんだんと溜まっていき、
例えばanimeサーバではメモリディスクを圧迫していき、何回か破綻状態になりました。
で、このへんをなんとかできると、こういったことも減るんじゃないかなと。
上のほうでもおじさんが書いていたような気がしますが、
まずはopenやsysopenのエラーチェックをまじめにやるべきなのかもですね。
361root▲ ★
NGNG あとは、renameでやる手法でやる時の、最後のrenameのところをどうするかか。
今は、こんな処理をしているですね。
my $resuc = 0;
until($resuc)
{
$resuc = rename($subtemp, $subject);
}
これだと、何らかの形でrenameが失敗し続けると、ブロックしてしまうような。
…といったところで、今日はここまでか。
http://qb5.2ch.net/test/read.cgi/operate/1130482779/248
は、またあとで。
今は、こんな処理をしているですね。
my $resuc = 0;
until($resuc)
{
$resuc = rename($subtemp, $subject);
}
これだと、何らかの形でrenameが失敗し続けると、ブロックしてしまうような。
…といったところで、今日はここまでか。
http://qb5.2ch.net/test/read.cgi/operate/1130482779/248
は、またあとで。
my $rename_status = eval {
for (1..10){
rename($subtemp, $subject) and return 0;
}
return $!;
}
if (defined $rename_status) {
&DispError2($GB,"ERROR!","ERROR:subject.txtは変更出来ませんでした。($rename_status)")
}
こんなかんじかな?
for (1..10){
rename($subtemp, $subject) and return 0;
}
return $!;
}
if (defined $rename_status) {
&DispError2($GB,"ERROR!","ERROR:subject.txtは変更出来ませんでした。($rename_status)")
}
こんなかんじかな?
363▲ ◆cZfSunOs.U
2005/11/30(水) 08:23:38ID:0+e07y/o0 >>355 乙です.
>2番目のにも、0666 が必要すね。
mode (0666) が反映されるのはファイル作成時だけなので,
単に追記するだけなら不要です(指定しても実害はないでしょうが).
で subject.txt 等の更新処理ですが,ロックなしだと例えば
bbs.cgi-1: subject.txt 読み込み
bbs.cgi-2: subject.txt 読み込み
bbs.cgi-1: 1111111111.dat レス数インクリメント
bbs.cgi-2: 1111111112.dat レス数インクリメント
bbs.cgi-1: subject.txt.1 に書き出し
bbs.cgi-2: subject.txt.2 に書き出し
bbs.cgi-1: subject.txt.1 -> subject.txt にリネーム
bbs.cgi-2: subject.txt.2 -> subject.txt にリネーム
のようになると「1111111111.dat レス数インクリメント」は反映されなく
なってしまいますね.これならいっそのこと,一時ファイル名は固定にして
O_EXCL 付きで sysopen() して,失敗したら subject.txt の更新処理自体
スキップするようにしてしまってもいいかも知れません.
きっちりやるとしたら,やはりロックせざるを得ないでしょう.
ちなみに,bbsd ではファイルロックより軽い mutex で排他制御してます.
# もっとも,この前の負荷試験では mutex の保護下でやってるのに
# 1000 越え発生という奇妙な現象も起こってしまったので,
# その点は要観察なわけですが......
>2番目のにも、0666 が必要すね。
mode (0666) が反映されるのはファイル作成時だけなので,
単に追記するだけなら不要です(指定しても実害はないでしょうが).
で subject.txt 等の更新処理ですが,ロックなしだと例えば
bbs.cgi-1: subject.txt 読み込み
bbs.cgi-2: subject.txt 読み込み
bbs.cgi-1: 1111111111.dat レス数インクリメント
bbs.cgi-2: 1111111112.dat レス数インクリメント
bbs.cgi-1: subject.txt.1 に書き出し
bbs.cgi-2: subject.txt.2 に書き出し
bbs.cgi-1: subject.txt.1 -> subject.txt にリネーム
bbs.cgi-2: subject.txt.2 -> subject.txt にリネーム
のようになると「1111111111.dat レス数インクリメント」は反映されなく
なってしまいますね.これならいっそのこと,一時ファイル名は固定にして
O_EXCL 付きで sysopen() して,失敗したら subject.txt の更新処理自体
スキップするようにしてしまってもいいかも知れません.
きっちりやるとしたら,やはりロックせざるを得ないでしょう.
ちなみに,bbsd ではファイルロックより軽い mutex で排他制御してます.
# もっとも,この前の負荷試験では mutex の保護下でやってるのに
# 1000 越え発生という奇妙な現象も起こってしまったので,
# その点は要観察なわけですが......
364root▲ ★
NGNG >>362
そんなようなことを考えていたです。
ただ、エラーにするんじゃなくて、たぶん単にあきらめて一時ファイル消して次に行くかんじで。
(新スレの時はもうちょっといい加減じゃないほうがいいかもですが)
>>363
> のようになると「1111111111.dat レス数インクリメント」は反映されなく
> なってしまいますね.
そですね。
いわゆる「不可視スレ」ができちゃうのも、同じ原因だとにらんでいるです。
news4vip morningcoffee newsplus とかで起きやすいことも、それを裏付けているかんじで。
> これならいっそのこと,一時ファイル名は固定にして
> O_EXCL 付きで sysopen() して,失敗したら subject.txt の更新処理自体
> スキップするようにしてしまってもいいかも知れません.
これ、直感的にはよさげな気がしますが、
いきなり全サーバに入れるのは、ちとどきどきするですね。
ex11 ex14 anime ぐらいで、ちょっと試したいなと。
あと固定にするとしても、新スレの時とレスの時では、
一時ファイル名として別のを用意したほうがいいような肝するです。
なんてことを、だらだらと。
そんなようなことを考えていたです。
ただ、エラーにするんじゃなくて、たぶん単にあきらめて一時ファイル消して次に行くかんじで。
(新スレの時はもうちょっといい加減じゃないほうがいいかもですが)
>>363
> のようになると「1111111111.dat レス数インクリメント」は反映されなく
> なってしまいますね.
そですね。
いわゆる「不可視スレ」ができちゃうのも、同じ原因だとにらんでいるです。
news4vip morningcoffee newsplus とかで起きやすいことも、それを裏付けているかんじで。
> これならいっそのこと,一時ファイル名は固定にして
> O_EXCL 付きで sysopen() して,失敗したら subject.txt の更新処理自体
> スキップするようにしてしまってもいいかも知れません.
これ、直感的にはよさげな気がしますが、
いきなり全サーバに入れるのは、ちとどきどきするですね。
ex11 ex14 anime ぐらいで、ちょっと試したいなと。
あと固定にするとしても、新スレの時とレスの時では、
一時ファイル名として別のを用意したほうがいいような肝するです。
なんてことを、だらだらと。
366root▲ ★
NGNG 流れとしては
1) あんま排他とか考えない太古代 (2001)
2) 排他しまくりで壊れない中生代 (2002-)
3) 排他なんてやってる余裕なし、壊れてもok の戦国時代 (2004-)
となっています。
わざわざ、排他は全部はずしたのだー
1) あんま排他とか考えない太古代 (2001)
2) 排他しまくりで壊れない中生代 (2002-)
3) 排他なんてやってる余裕なし、壊れてもok の戦国時代 (2004-)
となっています。
わざわざ、排他は全部はずしたのだー
簡単に言えば排他等を組み込んでコスト(お金)を払うのもひとつの戦術ではあるけど、
それによって負荷増大、キャパシティ減少になったとき
それをやめて現状復帰が容易なようなコーディングを切に希望
それによって負荷増大、キャパシティ減少になったとき
それをやめて現状復帰が容易なようなコーディングを切に希望
369root▲ ★
NGNG >>367
はい、知っているです。
bbs.cgiにばっちり、コメントで残っているですね。
3) は、live8 とともに私もリアルタイムで経験したです。
で、そろそろ世代交替を狙っているということすね。
雪だるまのほうは、こうなったのかな。
4) コストの低い排他制御で、スマートにこなす現代(2005-)
従来バージョンのほうは、2006年かなぁと。
はい、知っているです。
bbs.cgiにばっちり、コメントで残っているですね。
3) は、live8 とともに私もリアルタイムで経験したです。
で、そろそろ世代交替を狙っているということすね。
雪だるまのほうは、こうなったのかな。
4) コストの低い排他制御で、スマートにこなす現代(2005-)
従来バージョンのほうは、2006年かなぁと。
371root▲ ★
NGNG で、flockでやる方法は「いやーんばかーん」なわけで、
もうちょっと「はやいうまいやすい」方法は、ないもんかなと。
もうちょっと「はやいうまいやすい」方法は、ないもんかなと。
あと 大きな流れとしては「雪だるま」に全部置き換え、
と思っているんで、旧世代の捨て去られる bbs.cg の面倒見ても
意味内科と、
と思っているんで、旧世代の捨て去られる bbs.cg の面倒見ても
意味内科と、
2005/11/30(水) 23:16:00ID:BgKaphH50
過去ログ倉庫のやつはこっちかな
■http://qb5.2ch.net/test/read.cgi/operate/1105909861/405
■http://qb5.2ch.net/test/read.cgi/operate/1105909861/405
2005/11/30(水) 23:53:00ID:yD2pFeo50
baseでtarget指定してるからね。
そこだけ_selfにでもするか。
そこだけ_selfにでもするか。
2005/12/01(木) 00:48:07ID:AW478pq70
1.一時ファイルに新スレをどんどん追加
2.一時ファイルからsubject.txtを生成
…ダメかな?
2.一時ファイルからsubject.txtを生成
…ダメかな?
378root▲ ★
NGNG リネーム部分 改良案
#############################################################################
# ファイルのリネームを行う
# 入力: $src、$dst
# 戻り値: 0またはエラーメッセージ
#############################################################################
sub TryRename
{
my ($src, $dst) = @_;
my $status = undef;
my $count = 100;
my $debug = 0;
# ex11で実験することにする
# 他サーバには、うまくいったら入れよう
if($ENV{'SERVER_NAME'} =~ /ex11/)
{
$debug = 1;
}
# 100回、renameを試行してみる
for (1..$count)
{
rename($src, $dst) and return 0;
}
# だめだったらステータスを保存する
$status = $!;
# デバッグしている時は、ユーザの画面にその旨表示する
if($debug)
{
print "bbs.cgiデバッグ中。。。<br>\n";
print "renameに失敗しましたが、そのまま処理を続けます。<br>\n";
print "($src)($dst)($status)<br>\n";
print "<br>\n";
print "このメッセージをコピペして、運用情報板の以下のスレッドに報告していただけるとありがたいです。<br>\n";
print "<br>\n";
print "bbs.cgi再開発プロジェクト7<br>\n";
print "<a href=\"http://qb5.2ch.net/test/read.cgi/operate/1130918407/\">http://qb5.2ch.net/test/read.cgi/operate/1130918407/l50</a><br>\n";
print "<br>\n";
}
# デバッグしてない時は、ゴミファイルを消す
else
{
unlink($src);
}
return $status;
}
#############################################################################
# ファイルのリネームを行う
# 入力: $src、$dst
# 戻り値: 0またはエラーメッセージ
#############################################################################
sub TryRename
{
my ($src, $dst) = @_;
my $status = undef;
my $count = 100;
my $debug = 0;
# ex11で実験することにする
# 他サーバには、うまくいったら入れよう
if($ENV{'SERVER_NAME'} =~ /ex11/)
{
$debug = 1;
}
# 100回、renameを試行してみる
for (1..$count)
{
rename($src, $dst) and return 0;
}
# だめだったらステータスを保存する
$status = $!;
# デバッグしている時は、ユーザの画面にその旨表示する
if($debug)
{
print "bbs.cgiデバッグ中。。。<br>\n";
print "renameに失敗しましたが、そのまま処理を続けます。<br>\n";
print "($src)($dst)($status)<br>\n";
print "<br>\n";
print "このメッセージをコピペして、運用情報板の以下のスレッドに報告していただけるとありがたいです。<br>\n";
print "<br>\n";
print "bbs.cgi再開発プロジェクト7<br>\n";
print "<a href=\"http://qb5.2ch.net/test/read.cgi/operate/1130918407/\">http://qb5.2ch.net/test/read.cgi/operate/1130918407/l50</a><br>\n";
print "<br>\n";
}
# デバッグしてない時は、ゴミファイルを消す
else
{
unlink($src);
}
return $status;
}
379root▲ ★
NGNG これに対応したbbs.cgiを、ex11に入れてみよう。
で、1日動かしてみると。
で、1日動かしてみると。
380root▲ ★
NGNG ex11に入れてみた。
狼のスレに、お知らせしてこよう。
これでまずは、現状把握と。
うまくいけば、おじさんが手で消している一時ファイル消去の頻度が、減るかも、かも。
狼のスレに、お知らせしてこよう。
これでまずは、現状把握と。
うまくいけば、おじさんが手で消している一時ファイル消去の頻度が、減るかも、かも。
381root▲ ★
2005/12/01(木) 02:58:07ID:???0382root▲ ★
2005/12/01(木) 11:23:40ID:???0 中間報告
・animeサーバは、切り替えて以降500エラーはなしでした。
・ex11は、出ているようです。
メッセージが悪さしているかもしれないので、
ex11でも、画面にメッセージが出ないようにしてみた。
試験継続で。
・animeサーバは、切り替えて以降500エラーはなしでした。
・ex11は、出ているようです。
メッセージが悪さしているかもしれないので、
ex11でも、画面にメッセージが出ないようにしてみた。
試験継続で。
383root▲ ★
2005/12/01(木) 11:24:35ID:???0 なお、rename試行回数を100回から1000回にしてみた。< ex11
384root▲ ★
2005/12/01(木) 13:00:18ID:???0 だらだらと観察中。
-rw-rw-rw- 1 ch2ex11 ch2 16384 Nov 30 18:54 237491133170255.tmps
-rw-rw-rw- 1 ch2ex11 ch2 32768 Nov 30 19:41 252251133408443.tmps
-rw-rw-rw- 1 ch2ex11 ch2 0 Nov 30 18:33 443801133404390.tmp
ううむ、きりのいい数字が。
このへんにヒントがあるのかもね。
-rw-rw-rw- 1 ch2ex11 ch2 16384 Nov 30 18:54 237491133170255.tmps
-rw-rw-rw- 1 ch2ex11 ch2 32768 Nov 30 19:41 252251133408443.tmps
-rw-rw-rw- 1 ch2ex11 ch2 0 Nov 30 18:33 443801133404390.tmp
ううむ、きりのいい数字が。
このへんにヒントがあるのかもね。
385root▲ ★
2005/12/01(木) 14:08:05ID:???0 banana723.maido3.com から、アクセスがあるようです。
どこか、臭いかいでいる板があるのかも。
banana723.maido3.com のDNSキャッシュも、リスタートいただけますか。
他には、2ch内部からのアクセスはないようです。
どこか、臭いかいでいる板があるのかも。
banana723.maido3.com のDNSキャッシュも、リスタートいただけますか。
他には、2ch内部からのアクセスはないようです。
389root▲ ★
2005/12/01(木) 14:16:26ID:???0 ということで、リスタート自体は必要になります。
よろしくお願いいたします。
よろしくお願いいたします。
2005/12/01(木) 17:55:08ID:L5aUvDTn0
すいません
前スレでも検討中だった2ch規約承諾問題ですが、まだ
> 消費者契約法上、確認を取ってクッキーを発行するのならば契約の成立の主張を主張するのならば分かるが、確認取る前の表示の段階でクッキーを発行しているんだぜ。
> パンフ送れば申し込まなくても契約成立みたいな感じ。
>
> 当然、俺はこの書き込みの著作権を主張するし、2chに2ch以外での著作権の複製権があるなんて俺は今でも認めていない。
>
> 匿名組合との契約書で、契約書を貰った段階で申し込みを止めたら契約は不成立だよな。
> 2chのクッキーの発行のタイミングがおかしいんだよ。確認画面を表示したら契約成立って考えだろ。
> そんな訳ないじゃん。
ttp://live19.2ch.net/test/read.cgi/stock/1131996799/501
こんなたわけた理屈を言っているコテハンがいますので、何とか対処のほどよろしくお願いします。
前スレでも検討中だった2ch規約承諾問題ですが、まだ
> 消費者契約法上、確認を取ってクッキーを発行するのならば契約の成立の主張を主張するのならば分かるが、確認取る前の表示の段階でクッキーを発行しているんだぜ。
> パンフ送れば申し込まなくても契約成立みたいな感じ。
>
> 当然、俺はこの書き込みの著作権を主張するし、2chに2ch以外での著作権の複製権があるなんて俺は今でも認めていない。
>
> 匿名組合との契約書で、契約書を貰った段階で申し込みを止めたら契約は不成立だよな。
> 2chのクッキーの発行のタイミングがおかしいんだよ。確認画面を表示したら契約成立って考えだろ。
> そんな訳ないじゃん。
ttp://live19.2ch.net/test/read.cgi/stock/1131996799/501
こんなたわけた理屈を言っているコテハンがいますので、何とか対処のほどよろしくお願いします。
393root▲ ★
2005/12/01(木) 21:44:42ID:???0 animeサーバは、全くゴミファイルが出なかったようです。
%ls */*.tmp
ls: No match.
%ls */*.tmps
ls: No match.
狼はまだ出ています(減った気がするけど)。
%ls */*.tmp
morningcoffee/443801133404390.tmp morningcoffee/830051104688508.tmp
%ls */*.tmps
morningcoffee/131501133424226.tmps morningcoffee/593171133422110.tmps
morningcoffee/192241133416590.tmps morningcoffee/626701133426337.tmps
morningcoffee/237491133170255.tmps morningcoffee/725821133439300.tmps
morningcoffee/252251133408443.tmps morningcoffee/832991133434947.tmps
morningcoffee/322941133409115.tmps morningcoffee/960071133431171.tmps
morningcoffee/364681133435025.tmps
上記のすべてのファイルが16384の倍数(0倍も含む)なので、
ひょっとすると、printが異常終了している、、、のかも。
%ls */*.tmp
ls: No match.
%ls */*.tmps
ls: No match.
狼はまだ出ています(減った気がするけど)。
%ls */*.tmp
morningcoffee/443801133404390.tmp morningcoffee/830051104688508.tmp
%ls */*.tmps
morningcoffee/131501133424226.tmps morningcoffee/593171133422110.tmps
morningcoffee/192241133416590.tmps morningcoffee/626701133426337.tmps
morningcoffee/237491133170255.tmps morningcoffee/725821133439300.tmps
morningcoffee/252251133408443.tmps morningcoffee/832991133434947.tmps
morningcoffee/322941133409115.tmps morningcoffee/960071133431171.tmps
morningcoffee/364681133435025.tmps
上記のすべてのファイルが16384の倍数(0倍も含む)なので、
ひょっとすると、printが異常終了している、、、のかも。
395root▲ ★
2005/12/01(木) 21:46:07ID:???0 ごみファイルを消す => renameに失敗したらごみファイルを消す
396root▲ ★
2005/12/01(木) 22:01:19ID:???0 http://www.google.com/search?hl=ja&lr=&ie=UTF-8&oe=UTF-8&q=Perl+buffer+16384&num=50
なんかいっぱい呪文が出てきたけど、今はbanana404を最優先で。
なんかいっぱい呪文が出てきたけど、今はbanana404を最優先で。
unlink($src) while -f $src;
してみるとか?
Rock54方面で、わざわざこんなことした覚えがあるです。。。@FreeBSDだとちゃんと消してくれないようなふいんき?
してみるとか?
Rock54方面で、わざわざこんなことした覚えがあるです。。。@FreeBSDだとちゃんと消してくれないようなふいんき?
>>398
あっと、renameではなくってunlinkの方です。。。
あと気になるのは未だにRock54/BBQの起動スクリプトがちゃんと終了せずにzombieになっちゃうことかなぁ。@cron起動の時だけ
あっと、renameではなくってunlinkの方です。。。
あと気になるのは未だにRock54/BBQの起動スクリプトがちゃんと終了せずにzombieになっちゃうことかなぁ。@cron起動の時だけ
400root▲ ★
2005/12/01(木) 22:59:45ID:???02005/12/01(木) 23:30:32ID:l2xHH5sZ0
>>375
そうそれ
そうそれ
2005/12/02(金) 02:30:03ID:lGChLQf70
もう報告して下さいは終わりですか@ex11
--------------------
書込み中・・・
--------------------
書込みに失敗した模様
--------------------
HTTP/1.1 500 Internal Server Error
--------------------
書き込みは反映されてます
--------------------
書込み中・・・
--------------------
書込みに失敗した模様
--------------------
HTTP/1.1 500 Internal Server Error
--------------------
書き込みは反映されてます
404root▲ ★
NGNG animeサーバで2日ぐらい動かしてみたけど、とりあえずゴミは残っていなかったので、
今よりもコストが上がらない範囲ということで、>>378 のデバッグ部分を取ったものを入れてみた。
やっぱ、unlinkしてもunlinkされないからそこまでチェックするってのは
あまりにもあれだし、コストも無駄そうな気がするし。
今よりもコストが上がらない範囲ということで、>>378 のデバッグ部分を取ったものを入れてみた。
やっぱ、unlinkしてもunlinkされないからそこまでチェックするってのは
あまりにもあれだし、コストも無駄そうな気がするし。
2005/12/03(土) 04:10:33ID:Mjw2iBRm0
2005/12/04(日) 22:51:11ID:WZdSz2iJ0
忙しい中どうも乙
2005/12/06(火) 22:28:44ID:DWGz9qeJ0
適当なスレが不明なのでとりあえずここに
http://developer.yahoo.co.jp/
http://developer.yahoo.co.jp/
409root▲ ★
NGNG # 051207 ItabetsuSpecialサブルーチン化、板別の特殊処理
# ProcessMaru サブルーチン化(●のプロセス部分)、
# NanashiProcess => NanashiReplace4Heaven 名称変更
# ProcessNanashi サブルーチン化(名無し補完処理)
# FormInfoCheck サブルーチン化(フォーム情報のチェック)
# これでbbs_mainからのサブルーチン化は概ね終了のはず by む
http://qb6.2ch.net/test/read.cgi/operate2/1131481715/508
>408
これ、どんなものなんでしょか。
# ProcessMaru サブルーチン化(●のプロセス部分)、
# NanashiProcess => NanashiReplace4Heaven 名称変更
# ProcessNanashi サブルーチン化(名無し補完処理)
# FormInfoCheck サブルーチン化(フォーム情報のチェック)
# これでbbs_mainからのサブルーチン化は概ね終了のはず by む
http://qb6.2ch.net/test/read.cgi/operate2/1131481715/508
>408
これ、どんなものなんでしょか。
410root▲ ★
NGNG クリーンナップが一段落したので、久しぶりに、プロファイリングしてみた。
qb6で●なしBEありで、sageでレス。
予想通り、index.html を作るところが一番重かった。
IsKoukokuは、相対的に相当軽くなっている(DBのSJIS化等が効果発揮と思われ)。
これがbbs.cgiからまるごとなくなるんだから、雪だるまはやはり効果絶大ということで。
%dprofpp tmon.out
Total Elapsed Time = 0.687158 Seconds
User+System Time = 0.410596 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c Name
24.3 0.100 0.136 1 0.1005 0.1356 main::MakeIndex4PC
9.50 0.039 0.265 1 0.0389 0.2646 main::bbs_entryXXX
9.50 0.039 0.163 30 0.0013 0.0054 main::BEGIN
5.60 0.023 0.023 1 0.0234 0.0234 main::IsKoukoku
5.60 0.023 0.023 20 0.0012 0.0012 main::GetDatInfo
5.60 0.023 0.022 10 0.0023 0.0022 LWP::UserAgent::BEGIN
3.90 0.016 0.016 1 0.0156 0.0156 Net::HTTP::Methods::my_read
3.90 0.016 0.015 74 0.0002 0.0002 main::PutLines
3.90 0.016 0.015 2 0.0078 0.0076 URI::implementor
3.90 0.016 0.052 3 0.0052 0.0174 Net::DNS::Resolver::UNIX::BEGIN
3.90 0.016 0.037 11 0.0014 0.0033 Net::DNS::Resolver::Base::BEGIN
3.65 0.015 0.020 1 0.0150 0.0198 main::initFOX
3.65 0.015 0.028 21 0.0007 0.0013 main::MakeWorkFile
1.95 0.008 0.007 72 0.0001 0.0001 strict::bits
1.95 0.008 0.008 1 0.0078 0.0078 DynaLoader::dl_findfile
qb6で●なしBEありで、sageでレス。
予想通り、index.html を作るところが一番重かった。
IsKoukokuは、相対的に相当軽くなっている(DBのSJIS化等が効果発揮と思われ)。
これがbbs.cgiからまるごとなくなるんだから、雪だるまはやはり効果絶大ということで。
%dprofpp tmon.out
Total Elapsed Time = 0.687158 Seconds
User+System Time = 0.410596 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c Name
24.3 0.100 0.136 1 0.1005 0.1356 main::MakeIndex4PC
9.50 0.039 0.265 1 0.0389 0.2646 main::bbs_entryXXX
9.50 0.039 0.163 30 0.0013 0.0054 main::BEGIN
5.60 0.023 0.023 1 0.0234 0.0234 main::IsKoukoku
5.60 0.023 0.023 20 0.0012 0.0012 main::GetDatInfo
5.60 0.023 0.022 10 0.0023 0.0022 LWP::UserAgent::BEGIN
3.90 0.016 0.016 1 0.0156 0.0156 Net::HTTP::Methods::my_read
3.90 0.016 0.015 74 0.0002 0.0002 main::PutLines
3.90 0.016 0.015 2 0.0078 0.0076 URI::implementor
3.90 0.016 0.052 3 0.0052 0.0174 Net::DNS::Resolver::UNIX::BEGIN
3.90 0.016 0.037 11 0.0014 0.0033 Net::DNS::Resolver::Base::BEGIN
3.65 0.015 0.020 1 0.0150 0.0198 main::initFOX
3.65 0.015 0.028 21 0.0007 0.0013 main::MakeWorkFile
1.95 0.008 0.007 72 0.0001 0.0001 strict::bits
1.95 0.008 0.008 1 0.0078 0.0078 DynaLoader::dl_findfile
2005/12/08(木) 16:28:32ID:sF2I17Rs0
報告いる?いらなきゃスルーで
--------------------
書込み中・・・
--------------------
書込みに失敗した模様
--------------------
HTTP/1.1 500 Internal Server Error
--------------------
書き込み反映されてました
--------------------
書込み中・・・
--------------------
書込みに失敗した模様
--------------------
HTTP/1.1 500 Internal Server Error
--------------------
書き込み反映されてました
2005/12/08(木) 20:06:47ID:sF2I17Rs0
せっかくだからもう一回
--------------------
書込み中・・・
--------------------
書込みに失敗した模様
--------------------
HTTP/1.1 500 Internal Server Error
--------------------
書き込み反映されてなかった
--------------------
書込み中・・・
--------------------
書込みに失敗した模様
--------------------
HTTP/1.1 500 Internal Server Error
--------------------
書き込み反映されてなかった
2005/12/09(金) 16:54:18ID:kxsnZ4kL0
>>411-412とは別人だけど昨日morningcoffeeで2回500エラー出ました
確か2回とも書き込みは反映されたはず
確か2回とも書き込みは反映されたはず
2005/12/10(土) 00:51:19ID:2HzYjAxR0
>>415
旧式bbs.cgiのように継ぎ接ぎだらけのようなのでかなりオススメ出来ないです(w
旧式bbs.cgiのように継ぎ接ぎだらけのようなのでかなりオススメ出来ないです(w
2005/12/10(土) 01:16:56ID:DdhdPbxW0
>>413
ごめんex11です
>>412のスレはたぶんhttp://ex11.2ch.net/test/read.cgi/morningcoffee/1133671551/
>>411はちょっと思い出せない
ごめんex11です
>>412のスレはたぶんhttp://ex11.2ch.net/test/read.cgi/morningcoffee/1133671551/
>>411はちょっと思い出せない
2005/12/11(日) 14:26:59ID:HwDIzzWl0
419root▲ ★
NGNG またしても、ご相談です。
Perlで、結果が返ってこなくてもブロックしないgethostbyaddr()をするには、
どうしたらいいんでしょうか。
SpeedyCGI前提なので、alermするのはなしで。
BBx のところみたいにNet::DNS 使う?
それとも、何かほかにもっとうまい方法があるのかしら。
Perlで、結果が返ってこなくてもブロックしないgethostbyaddr()をするには、
どうしたらいいんでしょうか。
SpeedyCGI前提なので、alermするのはなしで。
BBx のところみたいにNet::DNS 使う?
それとも、何かほかにもっとうまい方法があるのかしら。
2005/12/14(水) 17:27:59ID:J3Y/UqxK0
某所のやつで・・・
$ip_address = "219.101.194.170";
@addr = split(/\./, $ip_address);
$packed_addr = pack("C4", $addr[0], $addr[1], $addr[2], $addr[3]);
($name, $aliases, $addrtype, $length, @addrs) = gethostbyaddr($packed_addr, 2);
print $name."\n";
反応無し orz
>>419
ブロックって?
$ip_address = "219.101.194.170";
@addr = split(/\./, $ip_address);
$packed_addr = pack("C4", $addr[0], $addr[1], $addr[2], $addr[3]);
($name, $aliases, $addrtype, $length, @addrs) = gethostbyaddr($packed_addr, 2);
print $name."\n";
反応無し orz
>>419
ブロックって?
2005/12/14(水) 17:28:57ID:ph7PVQZB0
422root▲ ★
NGNG2005/12/14(水) 18:07:09ID:qttmXmhc0
timeout させるとか?
2005/12/14(水) 18:13:33ID:J3Y/UqxK0
>422
これくしー 1.08 の作者に任せましょう
これくしー 1.08 の作者に任せましょう
2005/12/14(水) 18:17:58ID:J3Y/UqxK0
と思ったら
alerm 使ってるようだ
bbs.cgiが使ってるdns側で何かしないとダメっぽい
alerm 使ってるようだ
bbs.cgiが使ってるdns側で何かしないとダメっぽい
426root▲ ★
NGNG いや、Net::DNS 使えばできるのはわかってるんですが、
手抜きしちゃおうかなとか思っただけです。
ぼちぼち、Net::DNS使う方法に変えるです。
手抜きしちゃおうかなとか思っただけです。
ぼちぼち、Net::DNS使う方法に変えるです。
2005/12/14(水) 18:50:29ID:LE2aS7aP0
モジュールから都合の良いところだけを切り貼りしてもってくるのは良くやるなぁ。
2005/12/14(水) 19:03:52ID:dBgotRnr0
429root▲ ★
2005/12/14(水) 19:16:18ID:???0431▲ ◆cZfSunOs.U
2005/12/15(木) 00:18:17ID:p57+vtBb0 gethostby*() と同じような感覚で使える Net::DNS 用のラッパ関数を作るとか.
2005/12/15(木) 02:33:23ID:n13+qVYDO
@SIGで強引に…(w
2005/12/18(日) 02:37:40ID:gyZpJXbj0
1000に達したスレがまだ見れるんですけど、●を買う必要がなくなったって事ですか?
2005/12/18(日) 02:45:31ID:Qugi63cy0
質問・雑談スレ209@運用情報板
http://qb5.2ch.net/test/read.cgi/operate/1134074624/
http://qb5.2ch.net/test/read.cgi/operate/1134074624/
435root▲ ★
NGNG リモホの逆引きで、すくんでいるなぁ。< 一部サーバ
このへんも、ぼちぼちってかんじかなと。
このへんも、ぼちぼちってかんじかなと。
436root▲ ★
NGNG BBS.CGI - 2006/01/11
650 名前: ◆MUMUMUhnYI [sage] 投稿日:2006/01/11(水) 16:47:41.95 ID:lEMnCwRm0 ?
# 060111 トラックバックで受け取ったものから \r を除去するコードを追加 by む
650 名前: ◆MUMUMUhnYI [sage] 投稿日:2006/01/11(水) 16:47:41.95 ID:lEMnCwRm0 ?
# 060111 トラックバックで受け取ったものから \r を除去するコードを追加 by む
2006/01/11(水) 22:21:58ID:Baqz8lkU0
2006/01/12(木) 21:46:29ID:RrUJBZAa0
http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/rc.initdiskless#rev1.49
MFSだとsoftupdatesしないほうが良いって修正入ったね。
2chでも前にMFSのこのあたりをチューンしたっけ?
MFSだとsoftupdatesしないほうが良いって修正入ったね。
2chでも前にMFSのこのあたりをチューンしたっけ?
440root▲ ★
NGNG441root▲ ★
NGNG 660 名前: ◆MUMUMUhnYI [sage] 投稿日:2006/01/13(金) 02:13:28.46 ID:ERBncrZx0 ?
# 060113 トラックバックの時は★でもIDが出るように(060107で入った虫の修正)
# トラックバックでもSamba24/Rock54/BBQを有効に(機能追加) by む
# 060113 トラックバックの時は★でもIDが出るように(060107で入った虫の修正)
# トラックバックでもSamba24/Rock54/BBQを有効に(機能追加) by む
2006/01/13(金) 06:08:37ID:iyeDoheO0
>440
その時のOSの問題でMFSのasyncダメポだったのかも。
後は特化スレで。
その時のOSの問題でMFSのasyncダメポだったのかも。
後は特化スレで。
443root▲ ★
NGNG read.cgi再開発スレ Part2
http://qb5.2ch.net/test/read.cgi/operate/1105909861/497-504
ということの模様。
優先度は低そうですが、とりあえず。
http://qb5.2ch.net/test/read.cgi/operate/1105909861/497-504
ということの模様。
優先度は低そうですが、とりあえず。
2006/01/17(火) 00:13:24ID:mq5c9UJn0
>>2-はこれになるといいのにね
http://qb5.2ch.net/test/read.cgi/operate/1130918407/n2-
http://qb5.2ch.net/test/read.cgi/operate/1130918407/n2-
2006/01/17(火) 11:30:18ID:MosUnkCa0
bbs.cgi を、スレッド毎のワーカプロセス化したら
排他処理周りが一気に楽になるんでね?
と思った折れであった。
実況系ではてきめん効きそうだけど
爆撃系には弱くなりそ。
排他処理周りが一気に楽になるんでね?
と思った折れであった。
実況系ではてきめん効きそうだけど
爆撃系には弱くなりそ。
446root▲ ★
2006/01/17(火) 18:52:26ID:???0 >>445
雪だるまで使っているbbsdって、まさにその思想だったりするですね。
で、期待通りに絶大な効果を発揮したわけですが、
どうもOS(FreeBSD)のマルチスレッド周りに難ありのようで、
現在シングルプロセスシングルスレッドで動作。
でも、これまでの数倍はパフォーマンスよくなったです。
雪だるまで使っているbbsdって、まさにその思想だったりするですね。
で、期待通りに絶大な効果を発揮したわけですが、
どうもOS(FreeBSD)のマルチスレッド周りに難ありのようで、
現在シングルプロセスシングルスレッドで動作。
でも、これまでの数倍はパフォーマンスよくなったです。
2006/01/17(火) 18:58:49ID:MosUnkCa0
2006/01/17(火) 19:18:36ID:QXVcuArQ0
2006/01/24(火) 05:53:41ID:c7x7QDR50
DragonFlyを使って「サーバーが安定しねぇ」なんて書こうものならhrsさんが激怒しそうだ。
2006/01/31(火) 09:02:48ID:BuE5aEmp0
>>449
7-current使う方がまだ安定してそう
7-current使う方がまだ安定してそう
452root▲ ★
NGNG あとで、VIP931のところを確認してみるか。
あと、BBEのところも気になるかも。
とメモメモ。
あと、BBEのところも気になるかも。
とメモメモ。
454root▲ ★
NGNG BBEのところ見てみた。
タイムアウト処理は入っている(ありのサブルーチン呼んでいる)ですね。
これなら、すぐに対応しなくても(とりあえず)いいかなと。
頻度が上がってくれば他のBBx同様、非常呼び出しストッパーを組み込む感じで。
タイムアウト処理は入っている(ありのサブルーチン呼んでいる)ですね。
これなら、すぐに対応しなくても(とりあえず)いいかなと。
頻度が上がってくれば他のBBx同様、非常呼び出しストッパーを組み込む感じで。
455無外流削除宿酔 ★
2006/02/24(金) 23:31:36ID:???0 えーと、すいません。
感染すると、埋立てスクリプトマシーンと化すウイルスがあるようで、
ttp://security.s182.xrea.com/
先日からは、同人板を荒らす亜種が出現しています。
http://comic6.2ch.net/test/read.cgi/doujin/1140253315/l50
http://comic6.2ch.net/test/read.cgi/doujin/1096731547/884-1000
こちらのほうで、何か対策って執れます?
感染すると、埋立てスクリプトマシーンと化すウイルスがあるようで、
ttp://security.s182.xrea.com/
先日からは、同人板を荒らす亜種が出現しています。
http://comic6.2ch.net/test/read.cgi/doujin/1140253315/l50
http://comic6.2ch.net/test/read.cgi/doujin/1096731547/884-1000
こちらのほうで、何か対策って執れます?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「新宿駅から出られず半泣き」…トラブルも 大学受験、親も同行すべき? ★2 [おっさん友の会★]
- 【フジテレビ】渦中の佐々木恭子アナ「社長とのディナー賞」受賞していた 現在は出社停止★2 [ネギうどん★]
- 新幹線でたこ焼きを食べたら「臭え」「迷惑」と批判殺到 改札内で売ってるのに…JR東海の見解は ★3 [Ailuropoda melanoleuca★]
- 今田耕司、中居正広のトラブルは「驚いたとしか言いようがない」“ホテル飲み”は「僕はない」 [ひかり★]
- 武井壮「本当いちいちうるせえ」SNSでの攻撃的なリプ、憶測投稿に苦言「芸能人はあなた方のサンドバッグでもなんでもない」 [muffin★]
- 《中居正広に新たな女性アナ告発報道の裏で》トラブル発覚前に「あの子いいべ…」関心寄せた元NHKアナ ★2 [Ailuropoda melanoleuca★]
- 【実況】博衣こよりのえちえちロマサガ2リメイク🧪 ★8
- 【実況】博衣こよりのえちえちロマサガ2リメイク🧪 ★7
- 【動画】中国人「日本の焼豚ってただの煮豚じゃん。本物の焼豚ってのはこれ」 [271912485]
- ワイとお前らの愛の巣🏡💕
- コンビニ売れ残り、困窮家庭に無償提供へ。住民税非課税世帯と児童扶養手当の受給世帯が対象。※マイナンバーと連携した専用アプリ必要 [256556981]
- 家出少女「えっちを求めるオジさんばかりです・・・」 [948070945]