ラウンジの新規書き込み後の障害

[上に] [前に] [次に]
kita [E-Mail] [HomePage] 1999/04/09(金) 00:49:54
とほほのラウンジ1.30を設置し、2か月ほど運用しています。
その前から掲示板も立ち上げて使っています。
新規書き込みをしたあとに、そのラウンジをアクセスしてみると、読みこみに時間が掛かることがわかりました。
ブラウザーを見ると、数十KB程度のはずなのに、700KBから1MBくらいを読みこんでいました。
過去の履歴を見ると、文字化けしたエントリーが作成されていて、その中に
   Options ExecCGI Includes
など、.htaccessに書きこんだ内容が出て来たりしていました。
どうも読みこみ時に、wwwlngのtxtファイルをサーチすると同時に、余分なファイルの中もサーチしてしまっているようです。

PerlによるCGIの作成方法などを本で勉強していますが、まだ問題の切り分け方法に悩んでいます。
どうしても正常に稼動させたいのですが、アドバイスをお願いできませんでしょうか?
質問が的確でないことをお詫びします。


B-Cus 1999/04/09(金) 02:14:41
どこか改造しましたか? 改造しているならソースを公開できませんか?(*.txtとして)
その症状が発生する頻度はどうなんでしょう。常にですか? それともたまに?
書き込んだ直後だけ その症状が起こって、2度目からは起きないんですか?
書き込んだ後にディレクトリの下に何か変なファイルはできていますか?

kita [E-Mail] 1999/04/09(金) 23:49:06
早速の対応ありがとうございます。
ソースは下記に登録しました。
http://www5.airnet.ne.jp/hobby/wwwlng.txt
また、症状は新規登録をするとかならず発生します。
一旦発生すると、ラウンジを開くときに数百KBを読みこまないと開かなくなり、長時間かかるようになります。
そして暫くすると(半日とか数日だったりする)修復するので、安心して使っていると、新規登録時にまた再発します。
ディレクトリーの下に変なファイルはできないようです。
私が調査した限りでは、wwwlngディレクトリー下にラウンジの書き込みデータができて、開くときにはここだけを
見にいくべきなのに、wwwlng.cgiの入っている同じディレクトリー内の関係ないファイルの中も見に行ってしまう
ことが問題のようです。

いかがでしょうか?

B-Cus 1999/04/10(土) 08:03:48
ん〜よくわかりませんが、とりあえず
 sub printSubjectsList {
の、
 opendir(DIR, "$dirname");
 @files = readdir(DIR);
 closedir(DIR);
を、
 opendir(DIR, "$dirname");
 @files = grep(/^\d\d\d\d\d\d\d\d\.txt$/,readdir(DIR));
 closedir(DIR);
としてみるとどうでしょう。まぁ根本的な解決法ではないですけど。
あるいは、最新バージョンに上げてみるとか。

> また、症状は新規登録をするとかならず発生します。

となると、原因追求が非常に楽ですね。いろいろ調べてみてください。

kita 1999/04/10(土) 20:55:52
早速上記の修正を行ってみました。
そしてラウンジを開いてみると、今まで入っていた内容が全く表示されなくなってしまいました。
新規書き込みテストを行ったあとに、再度開いてみましたが、やはりなにも出てきません。

そこで元に戻してラウンジを開くと、やはり今までの障害が出ました。
今のところ回復しません。

過去の履歴には、
lng9902 .. txt
.. ネn.
のような文字化けがでます。
.. ネn.
を開くと、最初に書き込みましたように
Options ExecCGI Includes
などと表示されます。
cgi-binにはwwwlngと掲示板のcgiが共存していますが、問題無いですよね。

困りました。

B-Cus 1999/04/11(日) 06:48:56
ありゃ、だめでしたか。

> ラウンジを開くときに数百KBを読みこまないと開かなくなり、

この状況の意味するところがよくわからないのですが、要は
書き込んだ後、
 http://www5.airnet.ne.jp/hobby/cgi-bin/wwwlng.cgi
にアクセスすると変なデータを読んでいるらしい、ということですか?

あと、これが起こるのは新規書き込みをした時? あるいは既存の
話題に追加で書き込んだときも?

# 向こうにテストで書き込みしていいですか?

> cgi-binにはwwwlngと掲示板のcgiが共存していますが、問題無いですよね。

ファイル/ディレクトリ名がかちあってなければ問題ないです。

kita 1999/04/11(日) 10:55:27
B−Cusさん、ありがとうございます。

ラウンジを開こうとすると、すなわちwwwlng.cgiを実行すると、以下の部分までは直ぐに表示されます。
−−−−−−−−−
Low Rider's ラウンジ

Low Rider とDYNAのラウンジです。誰でも自由に書き込んでください。 テクニカル、ノンテクニカル、雑談、何でもOKです。 気
になったテーマを話題にして話し合うもよし。質問するもよし。 そふていら〜、ろうきんなども歓迎します。

[戻る] [新規質問] [過去の履歴]

質問の一覧

◎ 単語  を....
◎ ※欄にチェックした項目を....
◎ 過去  日分の項目を  ....
−−−−−−−−−−−−−−−
そして、肝心の内容の一覧を表示しようとすると、ISDNターミナルアダプターのRD(ReceiveData)の
ランプが点灯したままとなり、ブラウザーの下の部分には「xxxkb受信」の表示がどんどん増えていき、
大体1Mbくらい読みこまないと一覧がでてきません。
これが現象です。

復旧ですが、これが不思議なのです。
何もしなくても半日または1日たつと自然復旧するのです。
私には理解できません。

>あと、これが起こるのは新規書き込みをした時? あるいは既存の
>話題に追加で書き込んだときも?
現象は新規書き込み時だけです。
現象が出ていない時に、追加書き込み時しても現象はでません。

> 向こうにテストで書き込みしていいですか?
はい。もちろん結構です。
試してみてください。
ヨロシクお願いいたします。

今年になって掲示板とラウンジの設置のおかげでアクセス数も増え、といっても1日100回くらいですが、
海外在住の日本人の方までメンバーとなり、うれしい限りです。
ですから何とかラウンジの障害を克服したく、アドバイスをお願いします。







B-Cus 1999/04/12(月) 00:45:02
試してみましたが、確かに化けますね。

> 過去の履歴には、
(snip!)
> のような文字化けがでます。

その部分だけでなく、他の部分(ファイル名やタイトル名が入る部分)でも
化け化けですね。

書き込み時にperlがcoreを吐いて落ちてしまっていて、読み込み時に
coreファイルを読んでいるから時間がかかるんじゃないか、と思って
たんですが何か違うような気もしてきました。化けた文書の中には、
sjis2jisなどのjcode.plの中に書いてある文字が出ていますね。

> 何もしなくても半日または1日たつと自然復旧するのです。

うーん、OSがcoreファイルを勝手に掃除してくれるから?


ところで、このCGIスクリプトをcgi-binの下に置いてもらえますか。
wwwlng以下のファイル一覧とファイルサイズを表示するものです。
名前は適当に test.cgi とでもしてください。

#!/usr/local/bin/perl
$dir = "wwwlng";
opendir(DIR,$dir);
@files = readdir(DIR);
closedir(DIR);

print "Content-type: text/plain\n\n";
foreach ( sort @files ){
    print "$_ ".(-s ("$dir/$_"))."\n";
}

[上に] [前に] [次に]