BBSログのサイズはどこまで許される?

[上に] [前に] [次に]
Apple&Lemon 2000/06/07(水) 21:33:17
よく、CGIで「数百件ものログを扱うプログラムは負荷がかかる」
と言われていますが、ファイルサイズに換算すると、だいたい
どのくらいまでが処理の限界でしょうか。

※プロバイダーのスペースで掲示板を運用しています。
短い書き込みは、ページの性格上どうしても難しいので、
長文の書き込みも一応許可しています。

Fuji.♪ [E-Mail] [HomePage] 2000/06/07(水) 22:07:39
それこそ環境によって差があるので一概には・・・。
一つのファイルを大きく、よりは小さなファイルをたくさん、というシステムのほうが負荷は小さいかもしれませんね。

特に、 @log = <DATAFILE>; なんてことをした場合には。(苦笑)

誰かさん♪ 2000/06/07(水) 22:22:34
サーバ次第でしょう。
#私が使ってるサーバは比較的軽いので(回線はともかく)、
#全ログを保存して@log = <IN>;なんてアレなことをしてますが。

まあ、100KBとかその辺なら問題ないんぢゃないでスカ?

Apple&Lemon 2000/06/07(水) 22:50:21
なるほどねぇ(^^;)>。質問をちょっと変えてみます。
みなさんだったら、どのサイズまでが許容範囲と考えますか?
参考にしますので、お聞かせ下さい。(あまり質問が変わってないような)

ちょうど、「とほほラウンジ」のような掲示板を使っています。

andi 2000/06/07(水) 23:58:05
>許容範囲
許容するのはCGI設置者よりもむしろ
訪問者じゃではないかと思います。
サーバ管理者も勿論そうですが。

僕はFuji♪さんの
>それこそ環境によって差があるので一概には・・・。
で結論出ていると思いました。

Apple&Lemon 2000/06/08(木) 00:19:52
[[解決]]
 私の2度目の質問が、皆さんの不快を招いたのであれば、申し訳ありません。
 ただ、どのくらいという目安がどこにも書いていないので、皆さんの意見を聞きたかっただけです。

 確かに、快適なサーバーは「500KB」、遅いサーバーは「100KB」というように、それぞれ違うでしょうね。

 以上、失礼しました。

C.Janeway 2000/06/08(木) 00:25:41
配列を一気に読み込んでforeachで回すプログラムよりも、whileで一行ずつ読む
スクリプトにするのが手軽かな、foreachで回してるのをwhileで回すようにする
改造は簡単に出来るしね。

バギンズ 2000/06/08(木) 02:03:22
便乗かもしれませんが、ある一定時間ぶん回っていると、サーバーから
止められるってのはどうなんですか?
私の場合、正確に何分とか何秒とか言われなかったのでよくわからない
のですが一般的な時間とかってあるのでしょうか?

C.Janeway 2000/06/08(木) 07:24:18
Apacheとかのhttpd.confのTimeoutの値に設定した秒数だと思います。
ちなみに、うちのサーバは300秒です。

Apple&Lemon 2000/06/08(木) 09:08:33
せっかくの機会ですので、理解を深めたいです。(^^;)>
>便乗かもしれませんが、ある一定時間ぶん回っていると、サーバーから
>止められるってのはどうなんですか?
サーバーのCPU稼働時間数のことですか?
私の場合はたしか「2秒」で止められると思います。

>foreachで回してるのをwhileで回すようにする
>改造は簡単に出来るしね。
もしよろしければ、参考になるサイトを紹介して下さい。
簡単な改造で、説明がそんなに長くないなら、その場で述べられても結構です。

Fuji.♪ [E-Mail] [HomePage] 2000/06/08(木) 15:54:32
@data = <IN>;
foreach (@data) {
    #...
}



while (<IN>) {
    #...
}

に変えるってコトじゃないのかな? (^^;

バギンズ 2000/06/08(木) 17:11:41
>Apacheとかのhttpd.confのTimeoutの値に設定した秒数だと思います。
>ちなみに、うちのサーバは300秒です。
あーなるほど、5分ですか。

>私の場合はたしか「2秒」で止められると思います。
えっ、たった2秒?...何か不安...
っていうか、ログサイズを気にする理由がわかった気がします。

C.Janeway 2000/06/08(木) 17:32:38
CPU時間の二秒ならかなりCPU負荷のかかる仕事ですね。クライアント
からCGIプログラムにアクセスがあってCGIは走り始めてそれから二秒
で止められるという訳ではなくて、CPUの割り当てが二秒を超えると
ダメという事だと思います。実際には同時にいくつものプロセスがサーバ
内で走ってますからね。普通の掲示板とかでは0.2秒以下でしょう(小生のサーバでは)
httpd.confのTimeoutの値はクライアントからの要求が来てからの秒数
だったはずです。これを超えても走ってるCGIはApacheにkillされますね。

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