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されますね。
[上に]
[前に]
[次に]