☆負荷軽減対策委員会(Perl、PHP)★
291 :nobodyさん :03/04/30 00:11 ID:7aND3iYJ.net Perlで3MくらいのCSVを読み書きするのって、 かなりの負荷? あと、ここのみなさんは、どうして負荷について知識があるんでしょうか? 経験上?
292 :nobodyさん :03/04/30 00:21 ID:???.net >>291 一回しかやらないのなら 大した負荷にならないが BBSのログとかだったら負担になるかもね
293 :nobodyさん :03/05/02 05:14 ID:Faf7JYi+.net オブジェクト指向のプログラムは負荷軽減になるの?
294 :nobodyさん :03/05/02 06:55 ID:???.net ならない
295 :nobodyさん :03/05/02 10:25 ID:???.net >>291 DBM使え。簡単だぜ。 郵便番号ファイル(郵政省--いま何たっけ--の)で速度5倍だぜ。 http://www.ichikoro.com/webp/bk/00060.html のベンチマーク。 あれ、2Mくらいじゃなかったっけ?
296 :nobodyさん :03/05/02 11:29 ID:???.net >>288 そうそう。よほど非常識なことをしなければ、スクリプト言語で効率を考えるのはナンセンス。
297 :nobodyさん :03/05/02 15:38 ID:???.net >>296 >>295 にあるように効率はいつも考えるべき。
298 :nobodyさん :03/05/04 07:37 ID:???.net >>297 そうだね。コードの一つ一つで効率を考えることによって、 全体としてそうとうの負荷軽減になる。例えば、 http://www.mikeneko.ne.jp/~lab/perl/numerical_transform/#h4 を ベンチマークで検索してみれ。
299 :nobodyさん :03/05/05 23:05 ID:I0Mrp3iS.net >>292 そうかー、ちょっと反省。 ところでどなたか、↓の質問答えてほしいです。。。 >あと、ここのみなさんは、どうして負荷について知識があるんでしょうか? >経験上? あと、負荷軽減について詳しい本(の一部とか雑誌でも)ないでしょうか?
300 :nobodyさん :03/05/06 00:03 ID:???.net >>299 ラクダ本買っとけ。
301 :nobodyさん :03/05/07 15:10 ID:???.net 負荷がどうとかと言う人ほど、use strictしたままリリースしそう。
302 :nobodyさん :03/05/09 00:10 ID:???.net use strict すると負荷がかかるんですか?
303 :nobodyさん :03/05/09 15:22 ID:???.net >>302 検査する時間が増えるだろ、アクセスごとに検査させるのか。
304 :nobodyさん :03/05/11 11:49 ID:???.net Cでいえばassert有効にしたままリリースってのに似ているな。 わざとそうしている人もいるみたいだけど・・・
305 :nobodyさん :03/05/15 03:27 ID:zbSE5/sG.net 負荷を測るのってどうすればいいの。 自分のPCで動かしてもよーわからん。
306 :あぼーん :あぼーん.net あぼーん
307 :nobodyさん :03/05/19 07:37 ID:9ehzYSkO.net メモリについて質問させて下さい。 例えば $x="abc"; の後、 $x=""; という記述なしに $x="def"; とした場合、メモリは、 abcの○○○分と、defの○○○分の ○○○○○○分が確保されてしまいますか? $x="abc"; $x=""; $x="def"; にすれば メモリ確保は○○○だけになると思うのですが。
308 :nobodyさん :03/05/19 07:48 ID:???.net >>307 たぶん・・・ 変数へ上書きしたら、ちゃんと初期化(開放)してから、 代入してくれると思ふ。
309 :nobodyさん :03/05/19 08:57 ID:9ehzYSkO.net >>308 そうですか。 では$x="";は無駄ですね。 ありがとうございます。
310 :nobodyさん :03/05/19 09:06 ID:???.net Perlは最初に確保したメモリ空間を開放しません。 たとえ、ゼロに初期化しても。undefなら別。 http://www.mikeneko.ne.jp/~lab/perl/tuning/
311 :あぼーん :あぼーん.net あぼーん
312 :あぼーん :あぼーん.net あぼーん
313 :あぼーん :あぼーん.net あぼーん
314 :nobodyさん :03/05/19 15:55 ID:wUacqRGd.net >>310 何が言いたいのかわからん。
315 :nobodyさん :03/05/19 16:11 ID:wUacqRGd.net >>310 すんまそん。 メモリ確保を解放するかしないかは分かります。 メモリ確保は○○○分で済むのか、○○○○○○分確保してしまうのかを聞きたいのです。
316 :あぼーん :あぼーん.net あぼーん
317 :あぼーん :あぼーん.net あぼーん
318 :nobodyさん :03/05/19 17:41 ID:???.net 詳しく知りたかったら、Perlのソースを読むしかないと思うけど。
319 :nobodyさん :03/05/20 01:00 ID:???.net >>315 >>310 の記述を見ると、3バイト分しか確保しないように思えたけども。
320 :nobodyさん :03/05/21 00:27 ID:???.net apacheのログ2,3日分。約4M。PHP。極貧マシン。 while & fgets & copy -> 処理50秒前後 メモリ使用4M前後 CPU100% file & foreach(or list&each) & copy -> 処理60秒前後 メモリ使用15M前後 CPU100% fread & copy -> 処理0.5秒前後 メモリ使用4M前後 CMP100%
321 :nobodyさん :03/05/21 15:21 ID:???.net >>320 PDA以下だね・・・。
322 :山崎渉 :03/05/22 02:00 ID:???.net ━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
323 :nobodyさん :03/05/22 15:08 ID:???.net ったく、山崎のおかげでスレ順めちゃくちゃだ。
324 :nobodyさん :03/05/26 07:37 ID:Hdu0vyT1.net ファイルをコピーする時って open(IN,"Src.txt"); #コピー元ファイル Src.txt をオープン while(<IN>){ # 一行毎の読み込みループで変数$Bufに読み込む $Buf .= $_;} close(IN); #ハンドル IN が不要になったので閉じる ◇デソースに書き出す open(OUT,"> Dst.txt"); #コピー先ファイル Dst.txt をオープン print OUT,$Buf; #ソースの内容($Buf)を書き出す close(OUT); のように一行ずつ読み込んでく場合と @line=<IN>; みたいにいっきに配列に入れてしまうのはどちらが処理としてはいいのでしょうか?
325 :nobodyさん :03/05/26 08:20 ID:???.net >>324 open IN, '<' . $src or die; open OUT, '>' . $dst or die; my $buffer_size = 1024; # 適宜調整 my $buffer; print OUT $buffer while read IN, $buffer, $buffer_size; close OUT; close IN;
326 :nobodyさん :03/05/26 08:36 ID:Hdu0vyT1.net >>325 さん それが最適なのですか。 勉強になります…。 サイズ1024は何を意味しているのだろう…
327 :あぼーん :あぼーん.net あぼーん
328 :nobodyさん :03/05/26 11:18 ID:???.net >>326 1024 byte は 1 kbyte だろ? コンピュータの基礎じゃねえか。 ま、俺だったらFile::Copyモジュールを使うかも。 バグがあるかも知れないソース書くより楽だし。
329 :326 :03/05/26 14:05 ID:mARvDo9Y.net my $buffer_size = 1024; # 適宜調整 すいません。 これを記述することで何が得なのかを知りたいのでした。
330 :nobodyさん :03/05/26 14:38 ID:kKbCXT+N.net >>329 実行エンジンにもよるんだけども、メモリを確保する場合、8byte単位とかそういうのが多いから (アライメント)。 Perlだとどうだか?って気もするけども。
331 :nobodyさん :03/05/26 14:57 ID:???.net 8・・・
332 :nobodyさん :03/05/26 18:41 ID:???.net >>329 微妙に意味がわからんな…… 推測をして回答してみる。 1.$buffer_sizeを設定することで、何バイトずつコピーするのかの設定が可能になる。 この数値を小さくすると、コピー回数が増えるが、メモリーへの負担は減る。 この数値を逆にすると、その逆。 サーバーの具合を見て適宜調整することができる。 2.わざわざ変数を一つ設定することの意味は、変数の名前をわかりやすくすることで、 その変数が何に使われているのかをわかりやすくする。 「昨日の自分は他人」の言葉どおり、後から見た時になんでその数値にしたのか等が判断しやすくなる。 何が聞きたいんだろう……
333 :nobodyさん :03/05/26 21:27 ID:???.net 3. 設定(定数)と実働部分はできるだけ分離する。 >>324 のコード片がスクリプトのどこに埋もれていても、 変数 $buffer_size としてスクリプトの頭の方で定義しておけば 簡単にバッファサイズを変更できる。定数で埋め込んでしまうと 変更したい時にいちいち探し回る事になる。
334 :nobodyさん :03/05/26 21:28 ID:???.net s/324/325/
335 :nobodyさん :03/05/26 21:32 ID:kKbCXT+N.net Perlは最適化とかしないのかな? @buf = <IN> のほうが早かったりして。
336 :nobodyさん :03/05/26 21:50 ID:67MeoiMR.net open(IN, $src); open(OUT, '>'.$dst); print OUT while(<IN>); close(IN); close(OUT); こう書くかも。 readで読み出すバイト数は多い方が速いと思う。当然だけど。 ただ多過ぎるとそれはそれでメモリくったり。
337 :nobodyさん :03/05/26 22:07 ID:???.net >>335-336 ベンチ取れば分かる事だが、@buf = <IN> はメモリを一気に 確保する = System CPU time を食う。行入力演算子による 取得は「行末」を探す = 可変長入力なので潜在的に read より遅い処理。もちろん扱うデータのフォーマット & 量次第 だけどね。 どうしても行入力演算子でやりたければ $/ = \1024; while (<IN>) { ... } で 1024 byte 単位で読めるけど、素直に read 使った方が 速かったかと。
338 :336 :03/05/27 01:07 ID:???.net たしかにそうですね。 改行コードを探しながら進むので遅いと。
339 :山崎渉 :03/05/28 17:05 ID:???.net ∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉
340 :nobodyさん :03/05/28 18:05 ID:???.net age
341 :nobodyさん :03/05/28 23:45 ID:01rk8ElD.net ファイルの書き込みを追記にしたばあいの負荷ってどうなるんですか。 たとえば書き込むものは同じとして、 追記先のファイルが1行のときと1000行のときでは CPUメモリ負荷はどうなるんでしょう。 追加するだけだから大して変わらないかなと思ったんですけど。
342 :あぼーん :あぼーん.net あぼーん
343 :鷹 :03/05/29 00:29 ID:KW4sDDhu.net $kazu=(((($my_tech-int(rand($my_tech/4)))*$job_dmg[$job])*$tarou)/$mstamina)*$stamina; このように一気に計算させるのと、 いくつもに分けて計算させていくのでは 負荷は変わるのでしょうかね? 変わるのならどちらが軽いと思いますか?
344 :nobodyさん :03/05/29 00:52 ID:???.net >>341 追記の場合、元のファイルの大きさはほぼ影響しない。 Cをやっている人間ならわかる(はず)だが、 追記と言うのは、ハードディスク上のファイルの終端を探し出して、 そこから新たなデータを埋めて行き、最後にファイルの大きさを示す数値を変更する作業だ。 従って、ファイルの終端を探し出す作業だけが、ベンチマークに影響する。
345 :nobodyさん :03/05/29 00:54 ID:???.net >>343 メモリの占有率を調べたいなら、そういうソフト入れてベンチマーク取ればわかる。 そして結果を発表すると皆から感謝される。 むしろ、その式は人間が見やすいかどうかを考慮した方がいいと思う。
346 :nobodyさん :03/06/01 05:17 ID:q1DFdt/M.net 下記の中で最も負荷が少ないのはどれでしょうか? 1.printを使い一行ずつ出力 2.ヒアドキュメントで出力 3.別ファイルを作り読み取らせて出力 3は後々便利そうだけど、負荷が気になる…。
347 :nobodyさん :03/06/01 07:32 ID:???.net 2
348 :nobodyさん :03/06/01 10:16 ID:???.net >>346 負荷が少ないって、どっちの? 「省メモリ」? それとも「CPU占有の少なさ」?
349 :nobodyさん :03/06/01 11:08 ID:???.net >>346 >3.別ファイルを作り読み取らせて出力 >3は後々便利そうだけど、負荷が気になる…。 じゃあ外部ライブラリとかあまり使わない方がいいよ。CPANもね。
350 :nobodyさん :03/06/01 12:28 ID:???.net >>346 1.出力処理が遅い。 2.出力処理は早い。 3.良識ある人間のやること。 一般に、メモリ占有量の低いものの方がウェブには向いているよ。
351 :nobodyさん :03/06/01 13:28 ID:???.net >>350 そうか?次々とくる要求に迅速に対応するために処理速度を優先しない?
352 :nobodyさん :03/06/01 14:21 ID:???.net webプログラムは、サーバへの負荷も気をつけないといけないと思うけど、 それよりも、トラフィックを一番に考えてる俺は間違ってますか?
353 :nobodyさん :03/06/01 16:03 ID:j4GGBbHW.net >>347-351 どうもです。
354 :nobodyさん :03/06/01 16:59 ID:???.net そんな細かい事ぐらいでサーバーから言われる事はまず無いので 私も処理速度を優先させるべきだと思うねぇ。 というか、気にするほど大して変わらない。 基地外なほど膨大なデータを扱うならまだしも。
355 :nobodyさん :03/06/01 23:12 ID:???.net 想定同時アクセス1000くらいの小さな案件で、 鯖を用意してやるなら、保守性を一番においても問題ないと思う。
356 :nobodyさん :03/06/01 23:24 ID:8+Lq3hlg.net >>355 >想定同時アクセス1000 これって小さいの? 秒間同時アクセス数1000ってことだよね?
357 :nobodyさん :03/06/02 02:48 ID:???.net 共有メモリを活用する、繰り返し使用する正規表現はlexで、 大きなプロセスは常駐させてローカルソケットでCGIと通信してCGIは小さく作る、 データベースは下手に使わない、巧く使える場合にだけ使用する。
358 :nobodyさん :03/06/03 01:39 ID:???.net >>354 サーバーがつんでるメモリーの量によってどっち優先かは変わると思われ。 メモリー使い切ったらswapのオーバーヘッドがかかってかえって遅くなるし。 まあ、最近のサーバーはメモリーを湯水のように持っているからそんなこと考える必要ないのかな?
359 :nobodyさん :03/06/03 05:54 ID:+XIKXuw2.net Perl5からPerlでもコンパイルした状態で設置できるようになったと読んだんですがどうすればできますか?
360 :nobodyさん :03/06/03 08:09 ID:???.net >>359 perlccを使う。 使ってどの程度早くなるかは知らんけれどね。
361 :nobodyさん :03/06/03 12:08 ID:Sjj3JYUN.net >>358 共有鯖ならいくらメモリ積んでいようと割り当てられるのは 微々たるもの
362 :nobodyさん :03/06/03 21:29 ID:???.net >>360 散々言われてていることだが、perlccではモジュールはろくすっぽ使えないので注意。
363 :nobodyさん :03/06/03 21:58 ID:+XIKXuw2.net >>360 早速やってみたところかなり速くなりました。 でもサイズが2kちょいから800kほどに...
364 :nobodyさん :03/06/03 22:22 ID:???.net >>363 perlcc使ったことあるけど、2kじゃなくて2MBになったよ
365 :364 :03/06/03 22:22 ID:???.net スマソ
366 :nobodyさん :03/06/05 20:39 ID:???.net mod_perlだと数倍早くなるのに perlcc だと1割くらいじゃない?
367 :nobodyさん :03/06/08 21:06 ID:???.net >>366 ウェブサーバ組込み式にはかなわんよ。
368 :nobodyさん :03/06/20 01:47 ID:???.net ダブルクオートを極力使わないだけで結構速くなるらしい。 理由は説明しなくてもわかるよね?
369 :nobodyさん :03/06/20 22:16 ID:???.net >>368 '"'でくくると中に'$'が入っているかを検査してるから?
370 :nobodyさん :03/06/21 10:37 ID:???.net >>369 Yes she does!
371 :nobodyさん :03/06/24 04:14 ID:???.net >>370 それはホントなの?
372 : :03/06/24 08:22 ID:???.net >>371 Yes she does! PHP のメーリングリストなんかでも、 速度を少しでも稼ぎたいときの小技として紹介されることがあるね。
373 :nobodyさん :03/06/25 18:56 ID:???.net すべてのルーチンを一つのファイルにまとめてしまうのより、 ひとつひとつルーチン毎にファイルを分けて、 一度に呼び出す方が負荷が大きいですか?
374 :nobodyさん :03/06/25 22:26 ID:???.net >373 漏れもそれ思うんだが、ファイルをまとめようが分割しようが、 結局たいした大きさじゃないので、どっちもオンメモリってことない?
375 :nobodyさん :03/06/25 23:20 ID:???.net 使わないコードを解釈させない為に分割するんであって、 分割しても常に全部使うのなら、まとめた方がシステムコールが 減っていいと思う。 Perl だったら CGI.pm でやってる遅延読込が参考になるかと。 あれはあれでメモリ食いそうだけど。
376 :nobodyさん :03/06/26 03:31 ID:???.net >>375 それじゃ、useでモジュール呼び出すより、 requireで、必要な所で呼び出す方が良いって事ですね。
377 :あぼーん :あぼーん.net あぼーん
378 :nobodyさん :03/06/26 03:55 ID:???.net >>376 別に必要になったところでuseすればいいんでないかい? そうそう、SelfLoaderかまして起動時には一部しか読み込まれないように工夫しないといかんね。
379 :あぼーん :あぼーん.net あぼーん
380 :あぼーん :あぼーん.net あぼーん
381 :nobodyさん :03/06/26 13:46 ID:???.net requireはそこに来た時点で読み込まれる。 function hoge() { require('hoge.php'); } hoge(); らなければ読まない。 Perlも同じく。
382 :nobodyさん :03/06/27 16:09 ID:sG/tHFOo.net コメントを山ほど書いたら負荷になります? スクリプト自体軽くした方がいいんでしょうか。
383 :nobodyさん :03/06/27 16:19 ID:???.net >>382 富士山ほどのコメントを書いたら負荷になります。
384 :nobodyさん :03/06/27 16:25 ID:???.net >>382 わかるほどの差は出ないからちゃんと書いといたほうがいいよ
385 :あぼーん :あぼーん.net あぼーん
386 :nobodyさん :03/06/28 00:11 ID:???.net >>384 ってことは、少しは変わるんだ…。
387 :nobodyさん :03/06/28 00:19 ID:???.net >>386 体感できるほどの差ではない、つまり実質0
388 :nobodyさん :03/06/28 14:07 ID:M/F9ZoCi.net >>387 でも少しは…。 ↓以下ループ。
389 :nobodyさん :03/06/28 14:11 ID:jkMqlRkL.net >>388 ってことは、少しは変わるんだ…。
390 :nobodyさん :03/06/28 15:08 ID:???.net 変わるんだ…。
391 :nobodyさん :03/06/28 16:21 ID:???.net 速度と分かりやすさのトレードオフ
392 :nobodyさん :03/06/28 22:51 ID:???.net WWW
393 :nobodyさん :03/06/29 00:15 ID:???.net 正直言って、コメントなんか処理速度に関係なんかない。 そりゃ、数百Mとかのコメントとか入れてたら、 メモリへロードするのが遅くなるだろうが、 処理速度そのものは、何の影響もない。
394 :nobodyさん :03/06/29 08:04 ID:???.net え???? コンパイル時に無視されて、コンパイル結果もキャッシュされる わけなんだから、全く影響しないんじゃ?
395 :nobodyさん :03/06/29 13:20 ID:???.net >>394 コンパイル結果に反映されないのは当たり前 コンパイル時に無視するためには最低限の判定が必要 要はコメントかどうか判定するフラグが少ないに越したことがないのか という話でしょ
396 :nobodyさん :03/06/29 22:00 ID:???.net CgiPerl , CgiPHP , mod_php のうち速度が一番なのはmod_phpなのは知ってるけど 負荷が掛からないのはどれ?
397 :nobodyさん :03/06/29 23:38 ID:???.net >>396 その中に、なぜmod_perlがないんだ?
398 :nobodyさん :03/07/01 16:46 ID:67Ffrssk.net printで一行づつ出力するか、 変数にデータを入れて、printで一気に出力するかどちらが負荷少ない? それともヒアドキュメント使うか。 どれよ?
399 :nobodyさん :03/07/01 19:31 ID:???.net mod_perlは一般的じゃないよ。
400 :nobodyさん :03/07/01 19:43 ID:???.net 薬物使ったベンジョンソンみたいなもん?
401 :nobodyさん :03/07/01 20:02 ID:???.net >>399 mod_perlそんな速くないよ。
402 :nobodyさん :03/07/01 20:04 ID:3/m58fAf.net >>398 そうそう、オレも知りたい。結構悩むんだよなー。みんな その辺の使い分けはどうしてるの? printよりechoのが速いってのは聞いた事あるけどね。
403 :nobodyさん :03/07/01 20:06 ID:???.net とりあえずバッファリングなしは効率が悪い。
404 :403 :03/07/01 20:14 ID:???.net そういえばPerlにCのfflushのような関数はないのかな? $|=1;print "";$|=0;とやるしかない?
405 :nobodyさん :03/07/01 22:48 ID:???.net >>398 変数作って一気に出力する。 エンコード自由に変換して掃き出せるようなものの場合はどうしてもこうなる。 ヒアドキュメントは $aya=<<EOL; あやや あひゃひゃ EOL で変数ぶち込めるし。
406 :nobodyさん :03/07/01 23:25 ID:???.net >>401 どういう使い方してんだ?
407 :nobodyさん :03/07/02 00:38 ID:???.net echo " うほっ いい男! "; これでいいだろ
408 :nobodyさん :03/07/02 08:14 ID:???.net >>399 mod_phpも同じだ。 >>401 速度は、 mod_perl > mod_php > CGI Perl > CGI php の順。ちゃんと実験したサイト行って、見て来い。
409 :404NOTFOUND :03/07/02 20:09 ID:???.net >>408 >mod_phpも同じだ。 PHP可を謳っている鯖屋はmod_php可という意味で、CGI可(※)を謳っている鯖屋は、 CGI/Perl可という意味で謳っていると思うのだがどうだろうか? CGI可に比べてPHP可の鯖屋が少ないのは事実だが、mod_Perlを使える 鯖屋を見た事がないのは、漏れの調べ方が甘いからなのか・・・ ※)一般的にCGI=Perlという認識があるのでこのような書き方をあえてしたが・・・ つまり何が言いたいかと言うと、mod_php使える鯖がそんなに非一般的では ないんではないかという事だ。
410 :nobodyさん :03/07/02 21:32 ID:???.net mod_php っていう言い方、あんまきかないんだけど、 cgi版じゃない普通(というか一般的というか)のphpってこと?
411 :nobodyさん :03/07/02 21:52 ID:???.net >>409 適当な拡張子をApache::Registry上で 動くようにする事自体はむずかしくないんだけど ユーザーのモジュールの名前空間に制限がかけれないので userAが use lib (/home/userA/lib/); use myPackage; としる状態で userBが use lib (/home/userB/lib/); use myPackage; とかしてくれちゃうと、動作がめちゃくちゃになってしまうので ユーザーにmod_perlな環境を提供できません(´Д`;) >>410 mod_phpでない場合(サーバー組み込みで無い場合) 「php対応(ただしコマンドライン版)」という表記をみかけます
412 :nobodyさん :03/07/02 22:52 ID:???.net >>411 レン鯖(共有鯖)ではmod_perlを提供できないって事? って事は一般的な環境ではPHP>perlつー事?
413 :410 :03/07/02 23:27 ID:???.net >>411 なるほど。さんくすです
414 :nobodyさん :03/07/03 09:14 ID:???.net でもな、Perlには、FastCGIとかもあるからな。
415 : :03/07/04 19:40 ID:???.net >ちゃんと実験したサイト行って、見て来い。 ああいう非現実的な試行環境に統一して対照されても参考にできないよね、、 まだmsがやったベンチ結果のほうがdqnぽくない PHP5のケース別ベンチやってくれんかな 個人では実験環境が作れないしzendの情報だけでは激しく不安だし、、 話は変わって、itboostのtips「効率的な処理」に、phpのループ構造は遅いから、 コールバック関数を繰り返し呼び出すとphpではなくcレベルでループが走ってくれるて いいよってネタがあるけど、これはどうなん? (あれはcountを一度にすれば大差ないような気もしつつ、、。 個人で実行速度を計測するといえば、ループ処理のことだと言ってもいいかと おもうんだけど、これってphp特有の問題?
416 :411 :03/07/06 09:05 ID:???.net >>412 ハンドラ好きにさせるのはもってのほかなので Apache::RegistryかApache::PerlRunを提供するしかないと おもうのですが、前述の問題があり、自分の知識内では 不可能と判断しています。 (他に良い方法がないか探してるのですが...) >>414 FastCGIも、共有サーバだとデーモンプロセス上がりまくりで 現実的では無いような気がしますが^^;
417 :nobodyさん :03/07/06 09:07 ID:???.net >>ちゃんと実験したサイト行って、見て来い。 >ああいう非現実的な試行環境に統一して対照されても参考にできないよね、、 どこのサイトを見てるんですか?
418 :nobodyさん :03/07/06 13:26 ID:???.net >>417 有名なサイトだよ。35の言語の25のベンチマークによる比較。 http://www.bagley.org/%7Edoug/shootout/
419 :nobodyさん :03/07/06 13:33 ID:???.net mod_perlとmod_phpの比較は、ここな。 http://www.linc.or.jp/~takaaki/Family/takaaki/Labo/dynamic_page.shtml
420 : :03/07/06 23:45 ID:???.net >417 そのへんはコミュニケーションギャップを楽しむところだと思ったり。
421 :nobodyさん :03/07/08 03:40 ID:???.net http://member.nifty.ne.jp/hippo2000/perltips/phpperl.htm http://member.nifty.ne.jp/hippo2000/perltips/javaperl.htm このあたりかな?とか思ってました
422 :山崎 渉 :03/07/15 11:10 ID:???.net __∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
423 :nobodyさん :03/07/24 09:32 ID:???.net 保守?
424 :nobodyさん :03/07/25 23:36 ID:???.net ↑ageとかんかいッ!
425 :nobodyさん :03/07/26 17:01 ID:???.net ageんでも保守はできるでしょ ?> <html><head><title><?=$title=></title></head> <?php と echo << end <html><head><title>$title</title></head> end; はどっちが軽いんだろうね・・・
426 :nobodyさん :03/07/26 17:02 ID:???.net あぁ、 < がひとつ足りないし・・・
427 :nobodyさん :03/07/27 01:37 ID:???.net このスレいつも大変参考にさせていただいています。
428 :nobodyさん :03/07/27 04:46 ID:???.net >>425 俺は前者だと思う。
429 :nobodyさん :03/07/27 10:38 ID:???.net >>428 私もそんな気がして、なるべく上の方使うようにしてる でも変数が多いところとかは下のやつ使ってる
430 :nobodyさん :03/07/28 05:31 ID:???.net PHPに、テキスト中に変数があるかどうか判断させる後者よりも、 明示的にする前者がやっぱ速いかな?特に変数が多いほど。 でも、PHPモードに入ったり抜けたりする負荷(と言えるかな?)を考えると前者のような気もする…
431 :nobodyさん :03/07/28 11:41 ID:???.net echo ' <html><head><title>'.$title.'</title></head> '; これでいいべ
432 :nobodyさん :03/07/28 16:40 ID:???.net >>431 長い場合、echoを大量に書くわけにもいかんでしょ HTMLのフッタ部分は定型に近いから?><?phpを使ってるんだけど さほど変わらないのかなぁ・・・
433 :nobodyさん :03/07/31 10:25 ID:???.net >431-432 http://www.php.net/manual/ja/language.basic-syntax.php にもあるとーり結局内部的には echo で処理されてるから あとは可読性の問題じゃないかねぇ。
434 :山崎 渉 :03/08/02 02:24 ID:???.net ∧_∧ ( ^^ )< ぬるぽ(^^)
435 :ぼるじょあ ◆ySd1dMH5Gk :03/08/02 04:52 ID:???.net ∧_∧ ∧_∧ ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。 =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕 = ◎――――――◎ 山崎渉&ぼるじょあ
436 :nobodyさん :03/08/08 18:33 ID:???.net mod_perlで動かすと、速いときはバカみたいに速いが、 遅いときはイライラするぐらい遅い。 普通こんなにバラツキがあるものなのですか?
437 :あぼーん :あぼーん.net あぼーん
438 :nobodyさん :03/08/15 12:34 ID:???.net >>436 新しいhttpdの子プロセス上がった時とかキャッシュがないからでは? 重そうなモジュールは起動時に読み込むようにするとかして コンパイル時間短くしたら?
439 :nobodyさん :03/08/20 12:11 ID:???.net speedyCGIで負荷が高くなると、InternalServerErrorが出るのですけど、 私の書き方が間違っているだけなんですかね?
440 :nobodyさん :03/08/20 12:21 ID:???.net >438 mod_perl1.2使ってたとき、モジュールのキャッシュ無視して、別空間にロードされる場合も。 最近のバージョンで改善されているかどうかは不明ですが。
441 :nobodyさん :03/08/20 14:50 ID:???.net >>440 モジュールの更新日が変わってるとか%INC消してるとかでなく? どうやってその現象確認しました?
442 :440 :03/08/21 18:44 ID:???.net >>441 初回にロードした時間を記録するクラス作って、何度かリロードして確かめた記憶が。 他にも、子プロセス関係で何かしたと思ったけど、忘れた。 %INC消さなくても、ロードされる時はされてましたよ。 ライブラリモジュールに限らず、同一ファイル、同一パッケージ名の空間も 複数のキャッシュが存在してしまうこともしばしば。 それ知って以来、mod_perlは一切使ってませんが。 で、最近のバージョンはどうなんでしょう?
443 :nobodyさん :03/08/22 04:06 ID:???.net >>442 webDBで、mod_perlを導入したが、遅い。 まだSpeedyCGIの方がパフォーマンスが良い。 ただ、>>439 の言う通り負荷が高くなると不安定なんだよなぁ。 なんか回避方があったら、教えて欲しいよ。
444 :nobodyさん :03/08/22 13:11 ID:???.net >>443 私もWebとPostgresqlで組んでいるのですが、 mod_perlだと、速度のバラツキが尋常でなくて採用を辞めましたよ。 SpeedyCGIが安定さえしてくれれば、何も心配ないのですけどね。
445 :nobodyさん :03/08/22 15:05 ID:qLHm82v9.net PHP使えよ。。
446 :nobodyさん :03/08/22 16:34 ID:???.net >>444 DBI.pm使ってるからじゃないの? それはmod_perlのせいじゃないような気が。
447 :nobodyさん :03/08/22 17:25 ID:???.net >>446 DBI使うとダメなんですか?
448 :あぼーん :あぼーん.net あぼーん
449 :nobodyさん :03/08/22 23:56 ID:???.net >>447 >>446 じゃないが、DBIは遅い気がする。 あとDBIじゃなかったかな?サーバー名にIPアドレスじゃなくて FQDN指定するとident投げるのって。 identが繋がらないとタイムアウトするまで固まるんだよな。
450 :nobodyさん :03/08/23 00:30 ID:???.net そういえば、PostgreSQLの日本語サイト見てたら、以外にも Perl/CGIで利用しているところが多いのにビビりました。 DBMS使う以上、何らかの効率性を望んでいるのだと思うけど、何故Perl/CGIなんだと問いつめたいよ。
451 :nobodyさん :03/08/23 00:44 ID:12CD5sBt.net >>450 逆に、Perl/CGIだと何がだめなのか説明してみてください。
452 :↓このURLにぴんときたら2chビューア :03/08/23 01:44 ID:???.net http://endou.kir.jp/hankaku/ http://homepage.mac.com/hiroyuki45/hankaku
453 :nobodyさん :03/08/23 09:33 ID:???.net >>450 漏れはMysq;でPerl/CGIしてるけど、移植元がperlだったから単純に鯖の負荷軽減が目的だったりしたが・・・ それに、Phpだと複雑なソース書ききれんかったろうってのもあるわけだが、お前さんはなにでやれと?
454 :nobodyさん :03/08/23 13:18 ID:???.net PHP使えよ。
455 :nobodyさん :03/08/23 16:29 ID:IynKNpCX.net perlなんだが。 ある位置から数行くらい読み込む時、 10kbくらいのファイルと、300kbくらい(要するにでかい)ファイルでは 負荷に違いってあります? open IN, ...; for($i=0; $i<10; $i++){ $line = <IN>; ...処理 } close IN; みたいなプログラムでつ。
456 :nobodyさん :03/08/23 16:46 ID:???.net >>455 どうやって「ある位置」までファイルポインタを移動させるかに依る。 行単位で空読みさせて移動するよりは seek 一発の方が速い。 その例だとファイルの先頭からだから変わらん。
457 :nobodyさん :03/08/23 19:02 ID:V3x8NgSH.net >>453 Perlで書けてPHPで書けない「複雑ソース」って何?
458 :nobodyさん :03/08/23 19:07 ID:???.net LHA圧縮。
459 :nobodyさん :03/08/23 19:20 ID:???.net >>457 最近あまり追ってないんだが、 PHPってtermiosによる端末制御できたっけ? fork()は出来るけどpipe()は出来たっけ? あと、PHPはスコープが滅茶苦茶だから(まぁPerlも変だけど) あまり大きいソースを多人数で書くのには向いてないと思う。
460 :455 :03/08/24 10:10 ID:XoFfp7Kp.net >>456 サンクス 1行の文字数が不定なんでseekで飛ぶことが難しいんす。 2chログのように301-400だけ表示みたいな場合は やっぱ空読みしてるんかな。
461 :nobodyさん :03/08/25 08:37 ID:???.net >>460 間違いなくシークしてると思う。
462 :455 :03/08/25 11:33 ID:???.net でもどうやってx行目を見つけ出すの? 適当にread系のcgiを漁ってみたけど、やっぱ空読みしてるみたいだわ。
463 :nobodyさん :03/08/25 12:48 ID:???.net >>462 1000行程度なら空読みでいいと思う。 万単位になったら、インデックスと作るとか対策考えろ。
464 :nobodyさん :03/08/25 13:26 ID:???.net >>462 1、行ごとのファイルポインタを記録してある。 2、一定件数ごとに、ファイルポインタを記録してある。 3、2chは入力値の長さが決まっているから、固定長フォーマットにしてある。 これだけのアクセス数があるところで、空読みは考えにくいな。 板のトップで、数千行単位で空読みされるのですか?
465 :nobodyさん :03/08/25 14:55 ID:JfnblB1o.net >>464 今は知らないけど、今までのVerでは思いっきり空読みしてるよ。 ↓以前のread.cgi空読み部分。 else { if(nn_st && lineNo < nn_st) continue ; if(nn_to && lineNo > nn_to) continue ; if(nn_ls && line < lineMax - nn_ls) continue ; } ファイルのオープンってI/Oの負荷がでかいから、 ファイルポインタを記録/読出しするのも結構な負荷になる。 あぼーんの処理も面倒になるし1000行空読みの負荷がたいしたこと ない(実際やってみ)事を考えると、大してメリットはないと思われる。 ちなみに2chは固定長フォーマットではないし、板のトップは書き込み時 に更新されるだけだから、read.cgiより呼び出される回数は圧倒的に少なく それほど問題にならない気が。
466 :nobodyさん :03/08/26 10:19 ID:???.net >>465 は説得力がありますね
467 :nobodyさん :03/08/27 01:27 ID:???.net useって宣言した場所によって読み込まれる時期が違うの? それならJcodeなんかは先頭でuseせずに 送られてきたデータのチェック済ませてから読み込ませた方が良いのかな。 #チェックにJcode使うなら別だけど
468 :nobodyさん :03/08/27 02:23 ID:???.net >>467 http://www.perldoc.com/perl5.8.0/pod/func/use.html http://www.perldoc.com/perl5.8.0/pod/func/require.html
469 :nobodyさん :03/09/04 01:48 ID:???.net ホッシュホッシュ
470 :nobodyさん :03/09/05 00:46 ID:???.net SpeedyCGIでどうやったら、負荷が高いときのエラーが無くなるんだろう。 もう訳がわからん。
471 :nobodyさん :03/09/05 23:36 ID:???.net >>470 マンシスペックを上げる
472 :nobodyさん :03/09/06 18:14 ID:???.net >>471 負荷を軽減させるために、>>470 がspeedyCGIを入れたんだろ。 ここは、負荷軽減の為のスレだよ。
473 :nobodyさん :03/09/17 00:18 ID:???.net ホッシュホッシュ
474 :nobodyさん :03/09/17 21:25 ID:Rf3lCYFV.net PHPの掲示板なんですができるだけ負荷がかからないログの読み込み方法ってどんなのがありますか? 今は書き込みや読み込みの時にfile()で全部取得しているんですがログが増えると負荷が大きくなりそうな気がするので。
475 :nobodyさん :03/09/17 22:10 ID:???.net >474 DB使ってね!
476 :nobodyさん :03/09/17 22:15 ID:Rf3lCYFV.net DB使う以外にうまいやり方無いですか?
477 :nobodyさん :03/09/17 22:24 ID:???.net >476 ないですね! 逆に、なんでDB使うのいやなんですか?!
478 :nobodyさん :03/09/17 22:36 ID:???.net >>477 なんで必死なの?
479 :nobodyさん :03/09/17 22:55 ID:???.net >478 474が悩み事の矛盾に気がつかないからだよ!
480 :nobodyさん :03/09/17 22:59 ID:???.net >>477 2ちゃん程度の規模でもDBなぞ使ってないんだが。 ていうか、逆に2ちゃんをDBで書き直したらえらい事になると思うが・・・。 普通のBBSって書き込みはFIFOだし、読み出しはシリアルだから 逆にDB使うほうが負荷が大きくなる。
481 :474 :03/09/18 00:06 ID:???.net DB使うのが嫌っていうか使ったことないので DB使わずにfile()以外のやり方ないかと思ったんですが
482 : :03/09/18 00:52 ID:???.net >481 スレ読めよ。
483 :nobodyさん :03/09/18 00:58 ID:???.net ん?なんか問題あるか?
484 :nobodyさん :03/09/18 01:28 ID:???.net 問題ないだろ
485 :483 :03/09/18 07:46 ID:???.net 「スレ読めよ」か。「スレタイ読めよ」と勘違いした。
486 :nobodyさん :03/09/18 09:35 ID:???.net >474 データ構造を固定長にしてバイナリファイルに格納しておき fseek fread fwrite などを使えば部分処理が出来るから負荷は 減ると思うよ
487 :nobodyさん :03/09/18 15:34 ID:???.net SpeedyCGIでエラーが頻発したので、PerlからCに移植した。 えらく辛かったが、めちゃくちゃ速くなった。
488 :nobodyさん :03/09/24 13:10 ID:???.net apacheの軽量化が威力あると言うが、 具体的にどういったモジュールを消せば良いのだろう。
489 :nobodyさん :03/09/24 13:16 ID:???.net mod_rewrite
490 :nobodyさん :03/09/24 13:56 ID:???.net >488 とりあえずスレ違いと思われ スクリプト上で解決可能な話題が主題かと思う
491 :nobodyさん :03/09/24 14:07 ID:???.net 推敲しようぜ。
492 :nobodyさん :03/09/24 22:58 ID:Fv8u9zA+.net ★最新アダルト情報はこちらです★ http://click.dtiserv2.com/Click2/1-98-7254
493 :nobodyさん :03/09/25 07:19 ID:???.net 人よりちょっと知識の多い香具師が少ない香具師を馬鹿にするスレはここですね。
494 :nobodyさん :03/09/25 10:11 ID:???.net >>490 apacheもスクリプトも両方チューニングして、 「負荷軽減対策委員会」と呼べるような気がするのだが…
495 :nobodyさん :03/09/25 10:39 ID:???.net >>1 を見る限りそうとは思えないけどな 方針変更という事で・・・
496 :nobodyさん :03/09/25 16:05 ID:???.net Apacheのチューニングはスクリプトの有無や出来とは関係なく できることだし、別問題じゃないか?
497 :nobodyさん :03/09/25 17:02 ID:???.net ループ開始
498 :nobodyさん :03/09/25 18:44 ID:???.net ループは負荷が増えるので禁止
499 :nobodyさん :03/09/26 05:39 ID:???.net 足りない? mod_mime_magic,mod_dir,mod_auth,mod_access,mod_cgi,mod_log_config,(mod_env) (mod_perl)
500 :500 :03/09/26 12:46 ID:???.net 500
501 :nobodyさん :03/09/28 01:16 ID:Hg1oCkYh.net 負荷軽減&速度重視ならDSO http://httpd.apache.org/docs/dso.html
502 :nobodyさん :03/09/29 13:04 ID:???.net >>501 速度重視ならDSOを使わな方が良いという話で良い?
503 :とおりすがり :03/09/29 17:18 ID:???.net >>502 そういうこったな(w >>501 「あぱちのmoduleとして動作させると」とか 書いとけばつっこまれなかったのにな
504 :nobodyさん :03/09/30 17:47 ID:???.net 素直に専用鯖借りてmod_perlとgzip圧縮でも使いなさい。
505 :nobodyさん :03/09/30 18:17 ID:???.net もうgzipはいいだろ。
506 :nobodyさん :03/10/08 17:46 ID:???.net 保守
507 :nobodyさん :03/10/14 23:31 ID:???.net ホシュ
508 :nobodyさん :03/10/16 19:43 ID:???.net 出尽くしたかな。
509 :nobodyさん :03/10/18 19:58 ID:???.net 変数より定数使ったほうがやっぱ軽いのかなぁ・・・ あとは定数と直接数値を書き込むのはどっちが軽いのだろうか
510 :nobodyさん :03/10/19 00:18 ID:???.net >>509 ぐだぐだいう前にベンチしろ、このヴォケが
511 :nobodyさん :03/10/29 01:38 ID:???.net ね、みんなローカルでPerlをテストする時、何のソフト使ってるの?
512 :nobodyさん :03/10/29 01:46 ID:???.net 何のソフトとは?エディタ?ブラウザ?
513 :nobodyさん :03/10/29 01:48 ID:???.net 私はペギーパッド使ってます
514 :nobodyさん :03/10/29 01:55 ID:???.net Winで簡単なPerlだったらプロンプトで十分だけど。 Perlを始めよう、ならエディタから直接プロンプト起動できるし良い。 俺はtxt,HTML,Perl,PHP,SQL,C,Java,XMLなど全部ひとつのエディタで やりたいからEmEditor3を使ってる。
515 :511 :03/10/29 13:34 ID:???.net ね、みんなローカルでPerlをテストする時、何のソフト使ってるの?? 自分は エディタ・・・秀丸 ブラウザ・・・アパッチ
516 :nobodyさん :03/10/29 13:46 ID:???.net 特に深いことは考えてない。 エディタ:QX(慣れてる&コマンドラインに渡せるから) サーバー:ANHTTPD(既に入れてたから) なんだけど、やっぱ、アパッチの方がいいかね? ……スレ違いだけど、この話題続けていいもんかね。
517 :nobodyさん :03/10/29 15:06 ID:???.net 負荷軽減にはあまり関係ない。 エディタはPerlエディタスレ、サーバ話は何処が良いんだ。 無難に初心者質問スレでも薦めておくか。 ところでブラウザがアパッチって凄いな。
518 :511 :03/10/29 16:10 ID:???.net あ、ごめん、サーバの間違え >>512 がブラウザ?って・・・
519 :nobodyさん :03/10/29 16:31 ID:t/aBtGdw.net 変態美少女がいっぱい!http://www.bigchat.tv
520 :nobodyさん :03/10/30 00:48 ID:???.net 美少女が変態では何の価値もない
521 :nobodyさん :03/10/30 10:59 ID:???.net テストサーバーで、JAVAみたいに「;がありません。」など、 エラーの内容を出力してくれるサーバーって無いの?
522 :nobodyさん :03/10/30 12:01 ID:???.net >>521 例えばCGIでエラーを標準出力に表示するのは?
523 :nobodyさん :03/10/30 13:00 ID:???.net >>522 え?そんなのあるの?知らなかった・・・・ やり方は?
524 :nobodyさん :03/10/30 13:34 ID:???.net >>523 言語にもよるけど、rubyならこんなかんじで begin # 例外が発生する可能性がある処理 rescue 例外 puts "#{$!} (#{$!.type})" puts $@.join("\n") end perlはよく知らないけどこれでできるかな? eval 'なんかの処理'; print $@ if($@);
525 :nobodyさん :03/11/03 00:59 ID:???.net と言うかスレ違い以下略。
526 :nobodyさん :03/11/06 16:02 ID:4b5YfiKA.net 巷に出回る perl CGI って、 1. グローバル変数多し、my レキシカル変数使わず 2. 関数分割せず、ベタ書き 3. ヒアドキュメントを使わず、print '' の嵐 なものが多い。こんな手法が負荷軽減に貢献すんのか? 意見求む。
527 :nobodyさん :03/11/06 16:18 ID:???.net 誰でも負荷軽減を考えているわけではないから
528 :nobodyさん :03/11/06 21:45 ID:???.net >>526 > 2. 関数分割せず、ベタ書き について負荷軽減との関連性についてのご教授お願いします。
529 :ぺるにゃん :03/11/06 22:21 ID:???.net 軽減はしますよ。 でも、HTML を軽くするために、すべての改行を取り払ってサイズを小さくしよう的な アプローチですにゃ。そこまで必死な人は、すればいいにゃ。
530 :nobodyさん :03/11/06 22:26 ID:???.net ベタ書きのほうが負荷はかからないのは言うまでも・・・
531 :nobodyさん :03/11/07 00:48 ID:???.net ブラウザゲーム作るならやっぱりphpのほうがええかな?
532 :ぺるにゃん :03/11/07 01:30 ID:???.net >>531 負荷を考えれば、そうだけど。 普及を考えれば、どうかにゃあ。
533 :nobodyさん :03/11/07 02:57 ID:???.net ヒアドキュメントってprint"と変わらないんじゃなかったっけか?
534 :ぺるにゃん :03/11/07 03:40 ID:???.net ケース1:print 文の嵐 print '<HTML>'; print ......... print '</HTML>'; ケース2:print 文いっかいだけ print '<HTML> ....... </HTML>'; ケース3:ヒアドキュメントで print 文いっかいだけ print <<'END of HTML'; <HTML> ......... </HTML> END of HTML こういうのを比べてるってこと?
535 :ぺるにゃん :03/11/07 03:43 ID:???.net ヒアドキュメントかどうかは関係がないと思うけど。 ケース2とケース3は、(ヒアドキュメントの末尾の改行を除けば)等価でしょ? じゃなかったら首つるです。 違いが出てくるとすれば、パース・・構文解析にかかる時間。 それも有意差は出ないでしょう。 異論ありますかにゃ?
536 :nobodyさん :03/11/07 05:18 ID:???.net もういいから。わからないやつは黙っておけ。
537 :nobodyさん :03/11/07 05:19 ID:???.net >>535 ttp://boobar.hp.infoseek.co.jp/bench/print.txt
538 :nobodyさん :03/11/07 07:00 ID:H74hevQp.net >>537 へー結構差があるんだね。
539 :( _。。)_ バタ。 ◆eJlUd9keO2 :03/11/07 09:15 ID:???.net PHPAってどのくらい早くなるんだろうか。 …測定はやはり浮動小数点か何かでやったらいいのだろうか。
540 :( _。。)_ バタ。 ◆eJlUd9keO2 :03/11/07 14:43 ID:???.net PHPAってコンパイルキャッシュするだけか。 (´・ω・`)ケイゲンサレタノカ、ヨクワカンナカッタ。
541 :nobodyさん :03/11/07 19:01 ID:???.net >>540 PHPA、だいぶというかかなり違うようですが。
542 :nobodyさん :03/11/07 21:04 ID:???.net Turck MMCacheってのを使ってる奴いますか? http://turck-mmcache.sourceforge.net/ 能書きのとおりなら「最速」だそうだが。
543 :( _。。)_ バタ。 ◆eJlUd9keO2 :03/11/08 16:35 ID:???.net >>541 全然実感できない つдT)
544 :nobodyさん :03/11/11 02:37 ID:???.net >526 my 変数の方が速いの? 速度とか関係無しにstrict通るようにした方が良いだろうって話は置いといて。
545 :nobodyさん :03/11/11 03:02 ID:???.net そりゃあ速いさ シンボルテーブルに登録されないし
546 :nobodyさん :03/11/11 12:14 ID:???.net >>544-545 ttp://boobar.hp.infoseek.co.jp/bench/scope.txt
547 :nobodyさん :03/11/11 20:21 ID:???.net メモリにかかる負荷を測定するってことは出来ますかね。
548 :nobodyさん :03/11/11 21:35 ID:???.net ああ俺もそれ調べたい。 と言うかメモリ使用量とかどうやって調べてるんだろ…。 測定用のモジュールとかあるのかな?
549 :nobodyさん :03/11/11 21:57 ID:???.net >>547-548 OS に依る。Linux や *BSD なら vmstat(8) とか top(1) で 別ターミナルから測定。
550 :nobodyさん :03/11/11 22:06 ID:???.net Winは無理っすか。 タスクマネージャみたいな監視ツール作ってログ取るようにすれば良いんかな…俺にゃ無理だけど…。
551 :nobodyさん :03/11/12 20:29 ID:???.net 掲示板とかのスクリプトでHTMLを吐き出してそれにアクセスさせるってあるけど ログファイル自体をHTMLにするって効率悪いよねぇ。
552 :nobodyさん :03/11/12 22:06 ID:???.net >>551 変換するのは1回だがアクセスされるのは何度もあるからいいのよ
553 :nobodyさん :03/11/13 00:24 ID:???.net 逆にアクセス解析とかカウンターとかは変換するだけ無意味って言うか ログなんて管理人しか見らんし。
554 :nobodyさん :03/11/13 00:49 ID:???.net ↓イケイケ
555 :nobodyさん :03/11/14 16:06 ID:???.net ID:???←こいつうぜえ
556 :nobodyさん :03/11/16 09:50 ID:+X9Lai7L.net 久しぶりに見たら。このスレまだ生きてたんだー
557 :nobodyさん :03/11/17 01:02 ID:???.net 今日、会社休みます。。。 会社の負荷を減らすためにネ!
558 :nobodyさん :03/11/17 01:47 ID:???.net 1日だけとは言わずに毎日休んだらどうっすかね?
559 :nobodyさん :03/11/17 01:52 ID:???.net 人類のお荷物を減らすために?
560 :nobodyさん :03/11/25 03:00 ID:???.net ミンナリストラ
561 :nobodyさん :03/11/27 00:12 ID:fPk+Wuzv.net 堕スレ化したの? でも、結局負荷軽減ってアルゴリズム考えた方が、 myがどーの、ヒアドキュメントがどーの、言うより意味あるよね。 言語選択ではある程度答え出てるし、このスレの意義って。。。
562 :nobodyさん :03/11/27 02:12 ID:???.net ちょっとした負荷を減らすために非常に参考になりました
563 :nobodyさん :03/11/27 10:02 ID:???.net ふかふか
564 :nobodyさん :03/11/27 23:39 ID:???.net ふかきょ〜〜〜ん!
565 :nobodyさん :03/12/01 11:39 ID:???.net やっぱ表示速度を優先するか サーバの負荷を優先するか。 きわどいな…
566 :nobodyさん :03/12/01 11:41 ID:???.net おまいら、このファイルアップロード掲示板はどうよ http://kenchin9.hp.infoseek.co.jp/fupbbs.html http://kenchin9.hp.infoseek.co.jp/cgi-bin/fupbbs/bbs.cgi
567 :nobodyさん :03/12/01 13:36 ID:???.net サイトのセンスは最悪だな
568 :nobodyさん :03/12/01 14:07 ID:E1CqoPVw.net > [ネットランナー] > ベスト・オブ・ツール 2002 > サーバ&コミュニティ部門 掲示板CGIカテゴリー > (祝) 金賞受賞 これはすごいことなの?
569 :nobodyさん :03/12/01 14:16 ID:???.net >>566 宣伝ウザイ。あちこちマルチすんな!
570 :nobodyさん :03/12/01 14:17 ID:???.net >>568 ネットランナーだぞ?ネットランナー
571 :nobodyさん :03/12/01 15:14 ID:E1CqoPVw.net >>570 「ネットランナー」って読んだことないです とりあえずぐぐってみたら、 http://www.zdnet.co.jp/internet/runner/ > 超ヘビーユーザーになるためのインターネット活用誌 ( ゚д゚)ポカーン
572 :nobodyさん :03/12/01 15:31 ID:???.net >>571 厨房の愛読書だよ 賞もCGIの人気とか上っ面だけしか見てないで取ったりして、 作る人から見たらひどいソースのものも入賞してる
573 :nobodyさん :03/12/01 16:04 ID:???.net うるせぇよ、年末の賞の審査員は有名サイト管理者を寄せ集めてるんだから、 それには文句いうの(・A・)イクナイ!!
574 :nobodyさん :03/12/01 16:37 ID:???.net まあ、実際使う側からしてみれば、 たいていのやつがソースなんてどうでもいいんだがな。
575 :nobodyさん :03/12/01 17:37 ID:???.net とりあえず、あんなのに金賞をあたえるネトランは糞
576 :nobodyさん :03/12/01 17:46 ID:w243ltNf.net ちょっと使ってみた 重(・A・)イイ!! 返信で無制限にファイルをアップロードできた ファイルタイプの判別を拡張子のみでやってる 設定でどうにかなるかもしれないけど とりあえず気になったのはこんなところ
577 :nobodyさん :03/12/02 16:30 ID:???.net ていうか、コード酷すぎ。 配列の使い方すらわかってないように見えたし、変数全部グローバルだし。 関数の使い方も変だし。 ネットランナーとかいう雑誌のレベルがわかっちゃうな
578 :nobodyさん :03/12/02 18:49 ID:???.net だから対象の選考者は一般人だってば
579 :nobodyさん :03/12/02 19:09 ID:???.net 一般人だとなんだっていうのよ?
580 :nobodyさん :03/12/02 20:01 ID:???.net 俺らに責任はありません。
581 :nobodyさん :03/12/02 20:28 ID:???.net >>566 ネットランナーとやらでは金賞かもしれんがバグ放置はまずいと思うぞ。 常にSTDINから無条件で受け入れる仕様。 投稿記事がある状態で-Tを付けて起動するとrtn_gnrl.plで起こる無限ループ。 管理用ページ→基本設定→「記事ページ最大表示数」を空にして設定保存→掲示板へ戻ると Lib_gnrl.plで0除算して二度と起動しなくなる事で負荷を下げるエレガントな仕様、等他大量。
582 :nobodyさん :03/12/02 20:38 ID:???.net >>581 > 負荷を下げるエレガントな仕様 禿しくワロタ [Tue Dec 02 20:31:53 2003] [error] [client 127.0.0.1] Illegal modulus zero at ./routine/Lib_gnrl.pl line 514. [Tue Dec 02 20:31:53 2003] [error] [client 127.0.0.1] Compilation failed in require at bbs.cgi line 35.
583 :nobodyさん :03/12/03 02:06 ID:???.net こんなとこで陰口たたいててもしょうがない。 直接言ってやらないと。
584 :nobodyさん :03/12/03 08:56 ID:???.net 陰唇と陰口どっちが好きですか?
585 :nobodyさん :03/12/05 00:37 ID:???.net 陰核
586 :nobodyさん :03/12/05 16:47 ID:???.net 陰核を 叩いてわたる(^^) 585
587 :nobodyさん :03/12/07 10:59 ID:kmAZpJfG.net Linuxサーバ、topで調べてみたら 毎晩httpdにCPU20〜89%くらい使用量があって サーバが激重なんですが、原因がはっきりしない… Apacheやネットワークの設定をどうにかこうにかして 負荷を減らす方法無いですか?
588 :nobodyさん :03/12/07 11:48 ID:???.net 妙に抽象的なんですが、
589 :nobodyさん :03/12/07 16:07 ID:???.net >>587 どのようなスクリプトを実行させているか、で話は変わってくる。
590 :nobodyさん :03/12/07 23:24 ID:???.net >>587 非力なwwwサーバで山ほどモジュール組み込んで激重CGIでも置いてるんだろ
591 :nobodyさん :03/12/08 00:18 ID:???.net 鯖がリダイレクト合戦してるんだよ。
592 :587 :03/12/08 10:06 ID:ZQtmk+Sq.net >>589 2ショットチャットとか画像アップローダとか・・。 >>590 えーっとサーバは確かPenIVの2GB、RAM1GBだったかな。
593 :nobodyさん :03/12/08 10:34 ID:???.net >>592 なんだ、ネタだったのか
594 :nobodyさん :03/12/08 11:01 ID:???.net 騙りだろ
595 :nobodyさん :03/12/08 11:44 ID:???.net 釣りだろ
596 :nobodyさん :03/12/08 20:07 ID:???.net PenIVの2GB PenIVの2GB PenIVの2GB PenIVの2GB PenIVの2GB
597 :nobodyさん :03/12/09 04:16 ID:oL7UDJrs.net >>587 デテオイデ。
598 :nobodyさん :03/12/09 07:30 ID:???.net あまりに盛り上がらなかったからねぇ
599 :nobodyさん :03/12/09 10:15 ID:5gjkqVTX.net 陰口を叩く。
600 :nobodyさん :03/12/10 03:11 ID:???.net 陰唇と陰口どっちが好きですか?
601 :nobodyさん :03/12/10 12:01 ID:???.net 著作権表示を消す
602 : ◆8772606082 :03/12/24 04:28 ID:???.net すれ違いと言われたのでここにきました。 my($a,$b,$c); とするのと my($a);#コメント my($b);#コメント my($c);#コメント と書くのでは、処理速度や負荷に差がありますか? 配布とかメンテを考えると後者で書きたいんですが。
603 :nobodyさん :03/12/24 05:11 ID:???.net 大差なし。メンテしやすさが最優先。
604 :nobodyさん :03/12/28 07:34 ID:???.net 全体で150KBくらいになるCGIソースで 処理によってはルーチンのうちのほんの一部しか 使わないという場合、 処理をライブラリにしてrequireするのと 全体が1ファイルなのとどっちが効率いいのでしょうか?
605 :nobodyさん :03/12/28 08:50 ID:???.net 環境によるだろ。計測しろ。
606 :nobodyさん :03/12/28 15:28 ID:???.net 計測ってどうやってやるんですか? でっかい実行ファイルを起動するのと ちっちゃいのを起動してrequireするのと どっちが軽いかという問題だと思うんですが。
607 :nobodyさん :03/12/28 15:45 ID:???.net >>606 負荷が気になるなら負荷を調べる方法ぐらい知っておいたほうがよろしいかと
608 :nobodyさん :03/12/28 17:57 ID:???.net >606 そもそも、あなたの「軽い」ってどういう意味ですか?
609 :nobodyさん :03/12/28 18:15 ID:???.net <? exit; 〜以下長文〜 ?>
610 :nobodyさん :03/12/28 23:20 ID:???.net >>606 requireのとこまで来たら結局全部読み込まれるのではないかな?
611 :nobodyさん :04/01/12 13:26 ID:???.net 処理順では通らない部分のrequireも スクリプト内にあるとrequireされるんでしょうか? requireを見つけてからrequireする?
612 :nobodyさん :04/01/12 15:36 ID:???.net >>611 そんな簡単なことぐらい試せばわかるだろ
613 :nobodyさん :04/01/12 15:48 ID:???.net #!perl if ( 0 == 1 ) { require './存在しないスクリプト.pl'; } exit;
614 :nobodyさん :04/01/13 18:58 ID:???.net 一枚岩で作って、え〜となんだっけか名前わすれたけど 一回実行したらメモリー上にキャッシュして次回から高速実行するツール あれ使ったほうが軽さという面では圧倒的(ただしCPU負荷) 回線負荷は変わらんし大概先に満杯になるのは回線帯域のほうだ
615 :nobodyさん :04/01/13 20:44 ID:???.net 負荷を気にするならperl,phpをやめろ
616 :nobodyさん :04/01/15 16:33 ID:???.net perl、phpの中でだろ? 共有鯖での利用を考えてる人もいるだろうし
617 :nobodyさん :04/02/02 09:09 ID:???.net ACP管理者
618 :nobodyさん :04/02/22 16:00 ID:???.net 7行プログラムってスレ、すごいねアレは。 でも、短くするために敢えて重い処理をしていることもあると思うんよ。 それでも短いから負荷は感じないわけだけれども。 単純に処理を軽くする以外にも、コードを小さくする負荷軽減もあるんやねぇ。
619 :nobodyさん :04/02/22 22:12 ID:hBJi8oj3.net 言ってること矛盾してるじゃん。 >短くするために敢えて重い処理をしている >コードを小さくする負荷軽減もある ドキュンやな。
620 :nobodyさん :04/02/22 22:34 ID:???.net 翻訳を試みた。 ある処理をする際に A: 複雑な処理をする組み込み関数を使う B: 単純な処理をする組み込み関数をいろいろ組み合わせる の2種類の方法があるとして Aの負荷 < Bの負荷 ってこと?
621 :618 :04/02/23 00:56 ID:???.net >>620 YES. そういう場合もあるんじゃないかと思ったので。
622 :619 :04/02/23 04:07 ID:???.net フーン。スマソねー。
623 :nobodyさん :04/03/17 17:24 ID:???.net HTTP/1.1 のチャンクコーディングを忘れてない? 試しにnph ソースを作って、Content-Length を送信するようにしたら、 チャンクコーディングされなかったけど、接続が毎回切れるみたい。 どっちが良いのか微妙っぽい。
624 :nobodyさん :04/04/20 20:30 ID:yfis5kmt.net age
625 :nobodyさん :04/05/16 04:46 ID:2fTgoYEJ.net A.. if($aa=~/x/){$pa=1;$pb=1;}else{$pa=0;$pb=0;} B.. $aa=~/x/?($pa=1,$pb=1):($pa=0,$pb=0); 等価らしいです ソースは、ttp://ww4.tech.nu/?d=653 たしかにコードは短くできるので試したところ レスポンスが悪く、重くなった気がします
626 :nobodyさん :04/05/16 04:54 ID:???.net >>625 http://perldoc.com/perl5.8.4/lib/Benchmark.html
627 :nobodyさん :04/05/16 10:10 ID:???.net >>625 三項演算子使ってるだけでしょ、普通に使うけど。 レスポンスは落ちるのかなぁ?
628 :nobodyさん :04/05/16 11:14 ID:???.net >>627 藻前は一つ前のレスが読めねーの?
629 :nobodyさん :04/05/20 12:34 ID:NShBOzWM.net PHP普及の原因は、イスラエル・Zend社のマーケティングの成功にある。 @Perlでは別インストールで多くの人が知らないデーターベース利用を標準で使用できるようにし、「データーベースが簡単に取り扱える」というイメージを特に強く植えつけた。 Aウェブサイト作成への特化。例えば、セッション管理がそうだ。 Bソースの隠蔽による著作権保護を可能にした。 データーベースを使いたいが、使い方がわからない。そこに、PHPなら使えるという情報が先に入る。これで、PHPに入った人もかなり多いはず。 PHPの言語仕様はZendに大きく左右される。 二年ほど前、PHPが出始めた頃には、変数のスコープがPerlとまったく同じ仕様だった。 もともと、Perlのソースコードを改編して作成されたPHP。 ↓PHPの歴史 http://php.planetmirror.com/manual/ja/history.php PHPには、Perlコードの退行による高速化の意図が言語のいたるところに見える。 マイクロソフトは、オブジェクト指向への対応というのが大義にVB6.0からVB.NETに言語仕様を大幅に変えた。 今後も大きく言語仕様が変わることはないのか? オープンソースとは言っても、Zend社の http://www.zend.com/management.php の数人のスタップによって大きく左右される。 再帰的定義とされる「PHP:Hypertext Preprocessor」という名前にも理由がある。これは、要するに、正確には、「Perl Hypertext Preprocessor」としたいところだが、GNUの「GNU is Not UNIX」という再帰的な定義をもじったものだ。 要するに、「GPLのフリーソフトのライセンスには違反していませんよ!」と一つには主張し、また、一つには、「PHP is Not Perl」とでも言って、Zendの社としての姿勢を、先人の「Perl開発者たち」から擁護する意図があったのだろう。 Nではなく、Hなのが、そのための味噌だ!Perl開発者たちは、当然、面白くないはずだ。 PHP信奉者は、六芒星(hexagram)マークのユダヤ教にでも、入信せよ!
630 :nobodyさん :04/05/20 13:06 ID:9F0Z79In.net Cで組め。手っ取り早く最速で負荷を極力少なくできる。
631 :nobodyさん :04/05/20 14:55 ID:???.net 負荷を少なくするならまず、 データ構造とアルゴリズムを見直せ 次にCPUをグレードアップしろ それでもダメならCか汗ブラで
632 :nobodyさん :04/05/20 15:38 ID:???.net スタップ?
633 :nobodyさん :04/05/20 16:08 ID:???.net PHPって Personal Home Page の略?
634 :nobodyさん :04/05/20 16:11 ID:cgjPprlD.net ここできくなよ
635 :nobodyさん :04/06/24 13:00 ID:???.net 喪主
636 :nobodyさん :04/07/18 20:12 ID:Sl8hc8ID.net >>629は、洩佐渡にアボーンされるよ。
637 :nobodyさん :04/08/11 03:33 ID:2sgdWAV8.net なんで掲示板をテキストファイルに出してるんだ? データベースに入れてしまうのってよろしくないの? 最後の方を読む時とかに早いと思うんだけど。
638 :nobodyさん :04/09/07 11:18 ID:???.net 保守
639 :nobodyさん :04/10/04 17:10:56 ID:???.net ゲッシュ
640 :nobodyさん :04/10/12 03:56:07 ID:???.net 2chの話になるけどさ、sageで書き込みするとスレッド位置が変わらず、 index.htmlとsubback.htmlの更新・ソートを省略できて負荷軽減に繋がらない? と思ったけどレス数表示のために更新しなきゃならないか…。 もう少し工夫すればなんとかなる気がする。
641 :nobodyさん :04/10/17 09:28:30 ID:???.net ディスクのアドレスに直接書き込めばいいと思うよ
642 :nobodyさん :04/10/17 10:04:16 ID:???.net >641 マジレスするとそんな低レベルの操作をしたら 処理中は他の処理が出来なくなるだろうが
643 :nobodyさん :04/10/20 23:44:33 ID:gn/p6wba.net あげマン
644 :nobodyさん :04/10/21 19:27:52 ID:vF6/MaNc.net 掲示板なら静的HTML生成が一番簡単で一番効果がある。 スクリプトをあれこれこねくり回す前に試してみれ。
645 :nobodyさん :04/10/21 19:55:41 ID:???.net >644 誰に対してのレス?
646 :nobodyさん :04/10/22 21:15:01 ID:???.net javaでクッキーを保存する方法が載ってれば全部HTMLにするのに
647 :nobodyさん :04/10/23 23:24:38 ID:???.net java?javascriptじゃなくて?
648 :nobodyさん :04/10/24 01:33:51 ID:???.net >>644 それは理解した上で別の方法を模索するスレなのでは?
649 :nobodyさん :04/10/24 04:14:11 ID:???.net >>647 javascript
650 :nobodyさん :04/10/24 14:11:54 ID:???.net javascriptでクッキー出力はできるけど・・・多分違うことなんだよな
651 :nobodyさん :04/10/24 18:28:23 ID:???.net 静的HTML生成ってどうやればいいの?
652 :nobodyさん :04/10/24 19:00:16 ID:???.net >>651 ファイルに出力
653 :nobodyさん :04/10/25 05:14:38 ID:???.net >>649 ようするにHTMLでクッキー機能できるようにすりゃいいってことでしょ?
654 :nobodyさん :04/10/25 05:44:32 ID:XKm5So8L.net セットはcgiですればいいから、あとはそれをJavaScriptでゲットすればいいんだよ。
655 :nobodyさん :04/10/25 14:51:34 ID:???.net ファイルの読み書きはperlのキモの部分だから、せめてこれだけは理解しましょう。
656 :nobodyさん :04/10/25 15:08:33 ID:???.net javascriptでゲットする方法が載ったサイトきぼん
657 :nobodyさん :04/10/25 15:35:37 ID:???.net getCookie
658 :nobodyさん :04/10/25 17:09:16 ID:???.net htmlの不都合点とかあるかな? NEWマーク表示できないくらいしか思い浮かばん いらん機能だし
659 :nobodyさん :04/10/25 17:26:29 ID:7ozi48tg.net >>658 出来る。
660 :nobodyさん :04/10/25 17:29:59 ID:7ozi48tg.net HTMLの不都合は、たとえばSSI使わないとカウンターが表示できないとか。
661 :nobodyさん :04/10/25 23:10:16 ID:???.net オールHTML化するとレイアウトを変更したときが面倒なんだよなぁ。 ファイル数も結構増殖していくし。 それくらいかの。
662 :nobodyさん :04/10/26 02:14:41 ID:???.net >>656 このスレのソース。
663 :nobodyさん :04/10/26 06:22:53 ID:???.net >>662 サンクス
664 :nobodyさん :04/10/27 10:01:04 ID:???.net HTMLでクッキーとか機能させるって言ってるけどIE以外は無視? operaやMozillaだと文字化け起こすぞ
665 :nobodyさん :04/10/27 10:20:49 ID:???.net IE以外いいよってみんな思ってるんじゃない? 実際そうだし2chもそうだからいいかな、と。
666 :nobodyさん :04/10/27 10:40:24 ID:GQQpVWEo.net tcupの掲示板てどうなってんだろう。 拡張子無しで/bbsってなってるのが昔から不思議で。 googleなんかのuri表示で見ると、 http://xxx.teacup.com/yyyy/bbs だと、 www.tcup-.com/xxx/yyyy.htmlが本体らしいんだけど。
667 :nobodyさん :04/10/27 11:17:53 ID:???.net javaだとIE以外じゃ日本語取得できないのかorz みんな妥協派ですか?
668 :nobodyさん :04/10/27 11:57:31 ID:???.net >>666 >>667 http://pc5.2ch.net/test/read.cgi/php/1095633323/
669 :nobodyさん :04/10/27 12:24:58 ID:???.net >>668 だからIE以外じゃできないってのアホ
670 :nobodyさん :04/10/27 16:51:51 ID:pygimpYU.net >>668 ( ´,_ゝ`)プッ
671 :nobodyさん :04/10/27 22:34:47 ID:???.net >>666 http://www.google.co.jp/search?sourceid=navclient-menuext&ie=UTF-8&q=%E6%8B%A1%E5%BC%B5%E5%AD%90%E3%81%AA%E3%81%97%E3%81%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%A7%E3%81%8D%E3%82%8B%E8%A8%AD%E5%AE%9A
672 :nobodyさん :04/10/27 23:34:24 ID:???.net 閲覧時にクッキー使ってなにがしたいの? 投稿時ならともかく。
673 :nobodyさん :04/10/27 23:38:06 ID:???.net 例えばツリー、スレッド表示の切り替えとかじゃね?
674 :nobodyさん :04/10/27 23:48:20 ID:???.net お!早い。 切替ならそれぞれリンクを用意するだけで済むのでは? 閲覧時のクッキーってストーキング用途しか思いつかない。
675 :nobodyさん :04/10/27 23:57:22 ID:???.net >>674 それだけしか思いつかないおまいの脳に乾杯
676 :nobodyさん :04/10/28 03:33:14 ID:???.net >>664-667 あたり 2chで化けるのはbbs.cgiで発行してJavaScriptで取得してるからじゃ?
677 :nobodyさん :04/10/28 06:29:55 ID:???.net javaで発行すると問題あるんじゃなかったっけ?
678 :nobodyさん :04/10/28 07:03:35 ID:aCWpvFRR.net つーか無理にHTML表示なんかせんでもいいよ。 動的にやればインタラクション的にも手軽になんでも出来るし。
679 :nobodyさん :04/10/28 07:20:03 ID:???.net わざわざ内部に組み込むのがアレだって話してんだろ
680 :nobodyさん :04/10/28 08:43:20 ID:???.net 掲示板の1ページ目だけだけど HTMLにすんのとしないのとじゃけっこう差出るの?
681 :nobodyさん :04/10/28 09:01:31 ID:???.net htmlファイルに書き出すかどうかは、そのサイトへの訪問者の利用状況によって異なる 一概に○○なら△△とはいえない。 まあ、統計的に、そのページが更新されるまでに10回以上アクセスされるとわかれば、 一般的にはhtml化した方がいいだろうな。 式にすれば html化するコスト << html化しない場合のCGI起動コスト * not modify間での平均アクセス数 の場合は、html化のメリットが大きい
682 :nobodyさん :04/10/28 14:03:48 ID:???.net まあHTMLよりCGIの方が負担少ないなんてことはないな
683 :nobodyさん :04/10/28 15:02:48 ID:???.net >>678 このスレは負荷軽減がテーマなんだが?
684 :nobodyさん :04/10/28 15:05:59 ID:???.net まあHTMLにしないで負荷を軽減する方法を模索していくのもいいんでない?
685 :nobodyさん :04/10/28 16:23:56 ID:???.net むしろHTML化できないからプログラムの負荷を下げる必要があるんじゃね? 本当に負荷を下げたいならCGIなんか使わずサイト丸ごと圧縮しておくのが一番だろうし。 俺はCGIを作る側だけど実は↑これが一番好き。
686 :nobodyさん :04/10/28 19:02:58 ID:???.net しかしコスト(時間や手間込み)単位での効果ならやはり静的HTML生成がベストチョイスなのも事実だし。 まあ両面作戦だね。
687 :nobodyさん :04/10/29 00:44:55 ID:???.net 1, Requests per second: 2.67 [#/sec] (mean) perl/cgi 2, Requests per second: 17.53 [#/sec] (mean) mod_perl (1と全く同じソース) 3, Requests per second: 60.22 [#/sec] (mean) html (1,2のプログラムで出力された物をhtmlで保存した物) DBIやarchive等、結構重いモジュールを読み込んでDBにアクセスして表示するプログラム。mod_perlのDBアクセスは永続化している。 処理内容によって一概にいえないけど1つのパターンとして参考までに。 静的htmlだとカウンターだのダイレクトに表示出来ないしクッキーも文字化け(IEではunicode,xxxだとURLencodeだの) 等の問題が発生してめんどくさい。クライアント依存の処理はやはり気持ち悪い。
688 :nobodyさん :04/10/29 07:10:04 ID:???.net >>687 これって数字高い方がいいってことなの? ベンチマークに無知でスマソ 確かに文字化けるんだよな・・・ ユーザにHTMLとCGIモードを選ばせるようにしたらいいかも
689 :nobodyさん :04/11/04 17:30:49 ID:???.net 書き込みのときjavascriptでクッキー発行すれば化けんよ。
690 :nobodyさん :04/11/10 00:14:30 ID:???.net 「>>1 」 このアンカー、2chではタグをアクセスごとにつけてるんだっけ?
691 :nobodyさん :04/11/10 01:11:49 ID:???.net >>690 んだよ、ほれ。 http://pc5.2ch.net/php/dat/1034645635.dat サニタイジングもregist時にやってるな。 2chは書き込みも多いが、それ以上に読み込みが凄まじいからな。
692 :nobodyさん :04/12/23 11:27:06 ID:???.net でつ<喪主
693 :nobodyさん :05/01/07 17:35:04 ID:qgEKEyAA.net 質問なんですが、 リンクトレードproやThe Roomのランキングリンクのようなエロサイトによくあるランキングを PHPで作ってみました。ユーザーごとに情報を1行CSVに保存させて、それがカウントファイルも兼ねてます。 表示部分は静的です。 出来上がったところで、上司に負荷かかりそうだからDBにしてよと言われ、MySQLで作り直してみたところ、 現在ユニーク1万/日くらいのサイトであっというまにMySQL接続数多杉エラーが出ました。 サーバ管理者にMySQLの接続数多すぎと出ましたと言ったところ、 設定変えることもできるけど、トラフィック多いサイト目指すならPostgreSQLにしたほうが良いといわれました。 今とりあえず素直にPostgreをサイト見ながらソース書き直してますが、 一体どの方法がベストなんでしょうか。 ちなみにPHPは趣味レベル、DBの経験は今年からなのでソースに問題があるのかもしれません・・
694 :halc :05/01/07 18:03:52 ID:???.net >>693 postgresにすれば良いってわけじゃないような。 ユニーク1万/日ぐらいだと、squidでリバースプロクシを導入してみるとかは?
695 :693 :05/01/07 18:12:16 ID:???.net >>694 今後増える予定です。目標が10万PV/日くらいです。
696 :halc :05/01/07 18:22:54 ID:???.net >>695 同時接続数を増やせないなら、1接続あたりの接続時間の短縮をやらんといけない訳で。 もうクエリを発行しないと分かった時点でコネクション切断とか、 そのレベルの最適化はやってるよね? 初心者らしいから言ってみると、WHERE句、LIMIT, OFFSETで取得数を限定して、 DBから取得したけど使わず捨てているデータを削りこむとかやってみそ。
697 :693 :05/01/07 18:56:00 ID:???.net >>696 やってるつもりなんですが、、 inのカウント取得ファイルのソースをコピーしてみます。 http・・・xxx.php?usrid=$usridで叩いて、DB開き。 $tabledata = mysql_query("SELECT * FROM usr_table",$db); //配列に入れ while($row = mysql_fetch_array($tabledata)) {$usr_array[$row[usrid]] = $row;} //t1フィールドに直前IP記録&カウント if($rmhost != $usr_array[$usrid][t1]){ $incountup = mysql_query("UPDATE usr_table set incount = ceiling(incount + 1) where usrid = \"$usrid\""); $ipupdate = mysql_query("UPDATE usr_table set t1 = \"$rmhost\" where usrid = \"$usrid\""); } mysql_free_result($tabledata); mysql_close($db); if( !$db ) { print "接続できません。<br>\n"; exit; } header("location:{$homeurl}"); これだけです。これで動いたんですが、やっぱり記述おかしかったりしますかね、、?
698 :nobodyさん :05/01/07 19:50:01 ID:???.net まさか mysql_pconnect とか使ってないよね?
699 :nobodyさん :05/01/07 21:06:14 ID:???.net >>693 ランクカウント以外の部分(順位の表示とかカテゴリ参加数の表示とか)はどう処理してる? もしリアルタイムでやってるなら、静的なHTMLで処理するとかcronで処理させるとかすると、 劇的にコネクト数は減るよ。 ユニーク1万にも耐えられないならDB使う意味ないし、Postgresにすりゃいいってもんでもないと思ふ。 やはり、設計段階からの見直しが必要かと。。 毎秒何回ぐらいqueryの発行あるか分かるなら書いてみて。
700 :693 :05/01/07 21:46:52 ID:qgEKEyAA.net mysql_pconnect思いっきりつかってますが、、それって駄目なんですか? >>699 順位他の処理は、3600秒ごとに静的に書き出してテキストファイルをrequireしてます。 cronではなく、テキストファイルにタイムスタンプ書き出してアクセスごとにチェック、前の書き出しから+3600秒以上経っていたらランキング再書き出し、という感じです。 >ユニーク1万にも耐えられないならDB使う意味ないし、Postgresにすりゃいいってもんでもないと思ふ。 ですよね。。 毎秒何回query発行あるか、どこで見れば良いんでしょう。。 とりあえず今はサイト止まってしまうので旧テキストファイル版に戻してしまいました。
701 :nobodyさん :05/01/07 22:16:37 ID:???.net >>700 やはりそれぢゃったか mysql_pconnect して DB に接続すると mysql_close しても スクリプトが実行を終了しても それどころかクライアントがブラウザを閉じた後も DB接続が切断されずに残り続けるんぢゃよ つまり今の状態だと mysql_close が全く効いておらん これは接続をプールして再接続の負荷を減らすためのGJな機能なんぢゃが DB接続数上限が逼迫している状態では逆に足を引っ張ってしまう両刃の剣 素人にはお薦めできないとまでは言わないが、注意して使わんといかんのぢゃ mysql の最大接続数を apache の MaxClients より大きく設定する、とかぢゃな とりあえず mysql_pconnect を myqsl_connect に変更すれば mysql_close で接続が切断されるようになるので かなり状況が改善するんぢゃないかのう
702 :nobodyさん :05/01/08 00:00:05 ID:???.net >>701 勉強になったありがとう。
703 :693 :05/01/08 01:09:47 ID:???.net うわー、、そうだったんですか。 きっとそれっぽいですね。 大変勉強になります。ありがとうございました。とりあえずそれを試してみます。
704 :halc :05/01/08 04:03:06 ID:???.net >>697 なんてか、削り込み以前にDBMSの本をちゃんと読もうよ。。 header("location:{$homeurl}"); と、リダイレクト先URLしか要らないのに、 $tabledata = mysql_query("SELECT * FROM usr_table",$db); ここで全テーブルデータをぶっこ抜いているのがそもそもの間違い。 ここは $tabledata = mysql_query("SELECT * FROM usr_table WHERE usrid = \"$usrid\" ",$db); と必要な行以外は抜いてこないように直すべき。
705 :halc :05/01/08 04:13:11 ID:???.net 全テーブルぶっこ抜きの方法は、いわゆる「MySQLでかんたん掲示板」系の 入門書から取ってきたんだと思うけど、このやり方、小さな個人サイトなら またしも10万PV/日のサイトに使える方法じゃない。 という訳で入門書以外のDBMS専門書を読むことを勧める。
706 :nobodyさん :05/01/18 10:29:13 ID:???.net perl のDBMモジュールでも データーベースオープン 全データーを配列にコピー データーベースクローズ その後配列に対して処理色々なんてことをやってるスクリプトを見かけるが 全部読み込まなきゃいけない処理なら普通のファイルに保存したほうが軽くて速くないか?
707 :nobodyさん :05/01/18 13:57:10 ID:???.net >>706 早いかもしれないけど影響がでるほどの量だとすれば、 データの書き込み(更新)する必要がある場合dbでやる方が安全だと思う。
708 :nobodyさん :05/01/19 10:26:45 ID:???.net >>707 いや、だから、あのさ(w db使うなら丸ごと読み込んだりしないだろう?普通
709 :halc :05/01/20 23:11:44 ID:???.net 全ぶっこ抜きじゃトランザクション隔離のかけらも無いよなぁ
710 :nobodyさん :05/01/29 14:37:47 ID:8oiPQs40.net 大前提として、どれくらいの規模(データと一日あたりのhit数)になったときに プレーンテキストからDBに移行するべきなのかという目安を考えるべきだと思う。
711 :nobodyさん :05/01/29 15:49:02 ID:???.net サーバスペックやスクリプトの作りにもよるからなあ とりあえず思いつくのは ・アクセス頻度と平均処理時間から待ち行列を計算して「ヤバ」と判断したとき ・top の load average が 1 を超えたとき ・HDDのスワップ音が聞こえるとき ・体感的に「重い」と感じたとき
712 :nobodyさん :05/01/30 01:18:32 ID:???.net 表示用HTMLファイルとか作成しちゃうなら、場合によっては 小規模でもデータはDBで管理した方が良いね。
713 :nobodyさん :05/01/30 05:59:08 ID:???.net そうだな、俺もDBが動いてる環境なら規模によらず常にDBを使う
714 :nobodyさん :05/02/08 01:21:04 ID:???.net 私もDB使っちゃうな
715 :nobodyさん :05/02/19 00:53:49 ID:???.net orz
716 :nobodyさん :2005/05/06(金) 15:00:41 ID:???.net DB使った方がコストが安くすむ…場合もあるからDB使っちゃうな。 こんな俺はきっと駄目なPGだ orz
717 :nobodyさん :2005/05/06(金) 19:18:23 ID:???.net Plain text - 43FoldersWiki http://wiki.43folders.com/index.php/Plain_text どうでもいい;)
718 :nobodyさん :2005/10/07(金) 14:59:04 ID:???.net 落ちないもんだな・・・
719 :nobodyさん :2005/10/08(土) 16:41:55 ID:???.net w
720 :nobodyさん :2005/10/14(金) 03:04:33 ID:???.net ↑
721 :nobodyさん :2005/10/14(金) 18:19:58 ID:???.net httpd.conf 最適化とかリバースプロキシとかの話はここではしてないの?
722 :nobodyさん :2005/10/16(日) 01:53:02 ID:???.net >>721 それはWebProgを走らせる「環境」の話だから。 ここは共有鯖で使うCGIの負荷を以下に下げるかの話するスレ(機能してないけど)
723 :nobodyさん :2005/10/16(日) 12:07:20 ID:???.net httpd.confみたいに説明書と設定ファイルが同じになってると萎える コメント行削ったら半分以下になった
724 :nobodyさん :2005/10/17(月) 21:25:18 ID:???.net すいません、ちょっと負荷の意味が違うかもしれない質問なのですが CGIやPHPで大きなファイルなどのダウンロード速度の制限などを行えるのでしょうか。 検索してみても出てこなかったので やはりサーバーの方で直接設定しないと出来ないものなのでしょうか。
725 :nobodyさん :2005/10/17(月) 22:42:47 ID:???.net 普通はmod bandwidthとか使ってやると思うけど・・
726 :nobodyさん :2005/10/17(月) 23:09:28 ID:???.net >>724 スクリプトでファイルを読んで、pushするなら出来ないことも無い。 でも回線負荷は下がるかもしれんが、サーバの負荷軽減にはならんでしょ。 普通は>>725 の通り。スクリプトでファイルを送り出すなんてしない(高負荷)。
727 :nobodyさん :2005/10/17(月) 23:11:24 ID:???.net となると,DBにファイル放り込むのはよくないのかな
728 :nobodyさん :2005/10/17(月) 23:27:23 ID:???.net 教えていただき、ありがとうございました。 やはりサーバー側で直接行う方がスマートで負荷低減になるのですね。 当方サーバー側をTelnet出来ない専用サーバーをレンタルしており スクリプトでどうにかならないか考えておりました。 SQLite機能がついており、ファイル制限が出来るらしいのですが DBもやめた方がよいとのことで、 ありがとうございました。
729 :nobodyさん :2005/10/18(火) 23:51:53 ID:???.net >>727 管理上の必要があれば、DBに放り込むこと自体が悪いわけではない。
730 :nobodyさん :2005/10/19(水) 07:51:56 ID:???.net >>728 専用鯖なら負荷かかってもいいんじゃないの
731 :nobodyさん :2005/10/19(水) 11:40:17 ID:???.net >>728 専用サーバなのにTelnetできないのかww
732 :nobodyさん :2005/10/19(水) 17:29:25 ID:???.net >>731 SSHがあるというオチとか
733 :nobodyさん :2005/10/27(木) 22:33:36 ID:???.net ちょいと具体的な話でなくてもうしわけないんですがとあるWEBアプリケーション(phpからpostgresを使ってるらしい)について相談をうけまして ちょっと覗かせてもらったらapacheのプロセスがひとつ毎に10MBほどもメモリーを消費しちゃってるんで、一瞬、え?っと思ったんですが 当方phpもpostgresもあんまり詳しくありませんのでもしかしたらこの構成だと普通の状況なのかな?とも思いまして質問させていただきました phpはapache2.のモジュールとして組み込んで有ります。 それくらいふつうだろとか、直感的になんかあやしいとか、プログラムがタコだとそうなるとか、感想をお願いします
734 :nobodyさん :2005/10/27(木) 23:41:30 ID:???.net だれか>>733 の解説を頼む
735 :nobodyさん :2005/10/28(金) 00:30:42 ID:???.net ポスグレのデーモンじゃないか
736 :nobodyさん :2005/10/28(金) 00:31:21 ID:???.net >>734 要約するとapacheのモジュールとして組み込まれたphpからpostgresqlを使ったらメモリーを10MBガメるのは普通ですか? ってことだな
737 :nobodyさん :2005/10/28(金) 00:32:58 ID:???.net ただ単にApacheに色々組み込みすぎて肥大化してるんじゃない?
738 :nobodyさん :2005/10/28(金) 00:40:50 ID:???.net >>736 thx ただのリクエストで、どれだけ消費するか見てみないと、なんともいえないね。
739 :nobodyさん :2005/10/28(金) 00:48:08 ID:???.net >>733 >apacheのプロセスがひとつ毎に10MBほどもメモリーを消費しちゃってるんで 普通。
740 :739 :2005/10/28(金) 00:50:20 ID:???.net 正しくは >phpはapache2.のモジュールとして組み込んで有ります のような状況の場合、普通。 (PHPのエクステンションを極力動的に組み込めば減るけど)
741 :nobodyさん :2005/10/28(金) 02:09:42 ID:???.net PHPってメモリー食いなんですね もしかしてCGIから動かしたほうがいい?
742 :nobodyさん :2005/10/28(金) 07:50:18 ID:???.net >>741 10メガ位でけちけちすんなよ 別プロセスで立ち上げると負荷かかって遅くなるし
743 :nobodyさん :2005/10/28(金) 11:45:46 ID:???.net >>741 その代わりPHPを使うリクエストがくる度にロードすることになるから 今度はCPU負荷が高くなるよ。まあサイトの特性で考えれ。 共有サーバなんかはセキュリティを高めるにはCGIで動かすしかないしな。 (例えリクエストの度にロードされてレスポンスが悪くなるデメリットがあるとしても)
744 :nobodyさん :2005/10/29(土) 00:54:53 ID:???.net >>743 >共有サーバなんかはセキュリティを高めるにはCGIで動かすしかないしな。 何故?
745 :nobodyさん :2005/10/29(土) 13:42:20 ID:???.net >>744 パーミッションの都合
746 :nobodyさん :2005/11/05(土) 02:38:22 ID:???.net 参照渡しとかすると負荷は軽減するのか?
747 :nobodyさん :2005/11/05(土) 08:52:03 ID:mQF7x1FD.net データの無駄な二重化が無いから負荷は軽減すると考えてもいいんじゃ? 間違ってたらスマソ
748 :nobodyさん :2005/11/05(土) 09:39:48 ID:???.net データがコピーされるのは,値が変更されるときでは? $a = $b ってしてもその瞬間にはコピーされない.
749 :nobodyさん :2005/11/06(日) 12:33:12 ID:???.net らしいね。 だから、PHPでは「パフォーマンス重視の参照渡し」は ほとんど無意味ってことかな。
750 :nobodyさん :2005/11/06(日) 12:35:31 ID:???.net C ならともかく,スクリプト書きながらそういうレベルのパフォーマンス向上を考えること自体間違いな気もするね.
751 :nobodyさん :2005/11/06(日) 12:37:26 ID:v9ryuHmW.net むしろインタプリタだから「少しでも速度向上」を気にするのでは?
752 :nobodyさん :2005/11/06(日) 16:36:18 ID:???.net トレードオフだろ
753 :nobodyさん :2005/11/06(日) 17:38:39 ID:???.net >>741 eAcceleratorなんか使ったら相当違わない?
754 :nobodyさん :2005/11/06(日) 22:56:29 ID:???.net >>751 要するに PHP を選択してる時点で既にパフォーマンスよりも開発効率を取ってる,ってこと. 速度上げたいなら重い処理だけ C/C++ 使うとか,あるいはハードウェアで解決するとかしたほうがいいんじゃないかな. アルゴリズムの最適化はもちろんするけど.
755 :nobodyさん :2005/11/06(日) 23:12:20 ID:???.net まずはプロファイリングだな
756 :nobodyさん :2005/11/30(水) 18:13:41 ID:K1wk1cov.net アクセラレータつかったりFCGI化するだけで天と地ほど違うぞ インタプリタだからこそ工夫するというのはその通りだけど、 ざっくり体感に跳ね返ってくるレベルで考えたほうがいいと思う
757 :nobodyさん :2006/01/14(土) 16:02:10 ID:???.net >>733 たかだか10Mだろ? そこメモリ何Mのマシン使ってんのよ? 32Mとか?w
758 :nobodyさん :2006/04/05(水) 19:30:26 ID:zzYD4Tt9.net このスレッドで聞いていいかな・・・? DBサーバとフロントサーバを分ける場合、 両者はやはり同じLAN内に設置するのが基本ですか? 離れたところに置くと、レスポンスはけっこう遅くなります?
759 :nobodyさん :2006/04/05(水) 20:38:39 ID:???.net >>758 物理的な距離とレスポンスは関係ない。 LANであろうが回線が遅ければ遅い。 WANであっても回線が速ければ速い。
760 :nobodyさん :2006/04/05(水) 20:45:37 ID:???.net マルチだけど答えておくか。 セキュリティを重視して分けておけ。
761 :758 :2006/04/05(水) 21:03:46 ID:zzYD4Tt9.net どもです。 同じLAN内に設置すべき、っていうわけでもないんですね。 でも普通はLAN内の方が回線は速そうですね。
762 :nobodyさん :2006/04/05(水) 22:19:19 ID:???.net >>761 何かLANとドメイン(≠インターネットドメイン)を 一緒くたにしてるように思えるけど。
763 :nobodyさん :2006/04/06(木) 21:08:23 ID:???.net 一緒ですよね。
764 :nobodyさん :2006/04/07(金) 00:57:56 ID:45h+7cJz.net インターネットを介さないという意味なら、プライベートIPアドレスで構成されたLANの中にウェブサーバとDBサーバを置くのが普通。
765 :nobodyさん :2006/04/07(金) 01:16:20 ID:???.net おまいらDB間のやるとりはSSHでしょ?
766 :nobodyさん :2006/04/07(金) 01:54:59 ID:???.net AppleTalkだよ。
767 :nobodyさん :2006/04/07(金) 09:28:08 ID:???.net ウチはRFC1149準拠。夜間の速度が出ないのが悩み
768 :nobodyさん :2006/04/08(土) 09:38:51 ID:???.net >>765 ssh は重い
769 :nobodyさん :2006/04/19(水) 23:24:50 ID:???.net >>757 たかだか、というけど、メモリ上限のあるVPSとか借りてると結構辛いよ?
770 :nobodyさん :2006/04/30(日) 14:21:18 ID:???.net >>766 うちはlocalTalkですよ。
771 :nobodyさん :2006/07/22(土) 11:03:58 ID:???.net ホシュ
772 :nobodyさん :2006/09/23(土) 14:37:37 ID:???.net クシュ
773 :aaz :2006/11/05(日) 22:15:22 ID:???.net asd D
774 :aaz :2006/11/05(日) 22:18:49 ID:???.net asd D http://fitaly.com/board/wordperfect/posts/362.html
775 :nobodyさん :2006/11/11(土) 00:59:59 ID:???.net 今更だが このスレって負荷軽減の邪魔する委員会なんだろ?
776 :nobodyさん :2006/11/26(日) 22:29:27 ID:3LCl7xig.net PHP+MySqlでユーザー認証する時、DBにはユーザーのIDやパス他の情報があるとします。 仮にそれはもうめちゃくちゃユーザーが登録されていて(かなりの負荷)、DBの読み書きをする場合以下の2つのパターンだとどちらが負荷がかからないでしょうか? 速度の点についても知りたいです。 1.1つのテーブルに全員分登録しておき、普通に読み書きする。 2.ファイルに「ID+その人が使用するテーブル」を記述しておき、それを読み込んでから、複数用意されてるテーブルの中から指定されたテーブルを動的に選択して、読み書きする。 どうなんでしょ?質問+保守上げ。
777 :nobodyさん :2006/11/26(日) 22:33:49 ID:3LCl7xig.net あ、2の複数テーブルはまぁ10個くらいとします。 仮にデータが50000件あれば1つのテーブルは5000件で済むということになりますよね?
778 :nobodyさん :2006/11/26(日) 22:37:40 ID:???.net 2ちゃんねるってデータベース使ってるんですか?
779 :nobodyさん :2006/11/26(日) 23:02:42 ID:???.net >>778 あははおもしろーい
780 :nobodyさん :2006/11/26(日) 23:18:23 ID:???.net >>776 1
781 :nobodyさん :2006/11/26(日) 23:32:51 ID:???.net >>776 試して測ってみんなに報告。これで皆幸せ。 多分1の方が効率的だと思うけど。
782 :776 :2006/11/27(月) 08:15:18 ID:c6HTdBMZ.net レスありがとうございます。やっぱり1ですかね。 2だと他に色々やりたい時不便になってきますよね。 地道にプログラム面を改善していった方がいいのかもしれませんね。
783 :nobodyさん :2006/11/27(月) 20:23:19 ID:???.net >>778 2chはテキストファイルベースです 言語はC >>776 1の方 DBの負荷を下げたいのなら、テキストファイルベースの処理を上手く使うといい
784 :nobodyさん :2006/11/29(水) 02:28:09 ID:???.net 2chはperl+SpeedyCGIで、一部Cじゃなかったっけ?
785 :nobodyさん :2006/11/29(水) 02:58:52 ID:???.net bbs.cgi=Perl read.cgi=C だったかと
786 :nobodyさん :2006/11/29(水) 09:36:30 ID:???.net bbs.cgi=Perl; read.cgi=C;
787 :nobodyさん :2006/11/30(木) 03:56:05 ID:???.net リレーションがいらないなら、フラットなただのテキストファイルが早いんだね。当然か。
788 :nobodyさん :2007/01/30(火) 02:11:44 ID:yyajzISr.net 掲示板の画像をダウソツールで根こそぎかっぱらっていく不届き者を特定した さて、貴方ならどのような方法でdenyする?
789 :nobodyさん :2007/01/30(火) 07:57:33 ID:???.net アクセスポイント絞りの範囲指定で.htaccess。
790 :nobodyさん :2007/01/30(火) 10:53:36 ID:???.net 閉鎖
791 :nobodyさん :2007/02/06(火) 23:24:45 ID:???.net >>788 ダウソツールとわかるUserAgentならまずそいつを403へ 次に一定間隔の連続or同時接続を503へ それでも懲りないならFWで叩き落す。
792 :nobodyさん :2007/02/26(月) 07:23:03 ID:g5As6DDV.net 私も今、掲示板サイト作ってる途中なので、ちょっとカキコミさせてもらいますお JAVAなのでちょっとperl、PHPスレとは違うけど共通する部分はあるので。 私の場合、某フリーソースの掲示板を元々おいてたんですけど、レス数が3万をこえたあたりから ワード検索やレスのカキコミに非常に時間がかかるようになってしまいました。 そのCGI(PERL)はレスのログをテキストファイルに出力しているんですが、毎回何万行も読むんではそりゃ時間かかる なという感じになってしまいました。 そこで、新しく掲示板作る時には、DB使うべきなのか、それともログ出力用のテキストファイル使うべきなのか、HTMLファイルとして吐き出す べきなのか、どれがいいとおもいますか? 2chとかはオーバーヘッド対策でDB使わない仕様にしてると聞きました。 やっぱDBにするメリットはオーバーヘッド考えると皆無なんでしょうか? HTMLファイルに書き出すってのは軽そうだけど検索用のメソッドをHTMLファイルに走らせると早いのかどうか不安な部分もあるんです。 関係ないのでしょうか?
793 :nobodyさん :2007/02/26(月) 08:17:13 ID:???.net 日本語でおk
794 :nobodyさん :2007/02/26(月) 14:14:45 ID:???.net 過去ログを小分けにすればいいじゃん。 2chだって1000レスか512kで別のスレ立てないといけないんだし。
795 :nobodyさん :2007/02/26(月) 23:25:08 ID:???.net >>792 DBのオーバーヘッドを心配しなければいけない程アクセスが予想されるなら、 表示はHTMLで出力、読み書きはテキストファイル(もちろん分割して)すればいいし、 そうでもないならDB使えばウンコみたいに楽ちん。
796 :nobodyさん :2007/02/27(火) 01:43:49 ID:Sbf00PNr.net >>794 >>795 DB使わない前提で考えると ということは、1スレごとにHTMLファイルを作ったほうがいいんでしょうか? 1スレ、1ファイルにしたら何万ファイルもできちゃいっても大丈夫なんでしょうか?
797 :nobodyさん :2007/02/27(火) 01:53:27 ID:???.net >>796 http://www.kusastro.kyoto-u.ac.jp/~baba/wais/other-system.html
798 :nobodyさん :2007/02/27(火) 21:43:24 ID:UMgu+4mi.net >>797 大変参考になりました。 こんなに役に立った外部リンクは初めてです。 本当にありがとうございます。 最初grep型の検索しか考えてなかった自分の低脳ぶりがはずかしいですw 結局、スレごとに1ファイル書き出して、Luceneを実装してこれでインデクシングして検索に対応することにしました。 Namazuに比べるとどうかな?と最初は考えてましたが、wikipediaでの採用実績を考えると問題ないとおもいましたので。 1スレ1ファイルをテキストファイルで生成して、XSLTで整形してHTML表示しようとおもいますが、YSTやGOOGLEのSEOを考えると、 最初からHTMLとしてファイル生成したほうがいいとおもいますか? テキストファイルで生成するとpageRANKつかないですよね?
799 :nobodyさん :2007/02/28(水) 03:31:22 ID:???.net >>798 何いってんのかよくわかんねえけど ページランクはHTMLで書いてあれば、どんな形式でもつく。
800 :nobodyさん :2007/03/15(木) 00:14:36 ID:???.net
801 :nobodyさん :2007/04/19(木) 09:38:42 ID:80HBTeap.net おいコラ 1分おきに画像掲示板に底引き網かけてるやつ 死ね!おまえだよおまえ→.kngwnt01.ap.so-net.ne.jp 丸ごと永久規制してやってもまだやってやがる 何時間PC付けっぱなしなんだよ 火事になって死ね
802 :nobodyさん :2007/05/05(土) 17:01:11 ID:429gUmit.net 保守
803 :nobodyさん :2007/06/21(木) 00:36:03 ID:sn0UC2wW.net 質問させてください。 Webサーバ上にあるファイル(バイナリ含む)をファイルパス直接指定でダウンロードする(させる)のと、 以下のようにperlのcgiを通してダウンロードさせるのではどのくらい負荷が違うのでしょうか。 … binmode(STDOUT); while(1){ read(FILE, $buf, $bufsize); last unless (length($buf)); print $buf; } … 目的は、IEで日本語ファイル名のファイルをダウンロードするときに ファイル名が文字化けするのを防ぐためです。 つまりapplication/octet-streamやContent-Disposition: attachment; filename=を付けるためだけのCGIです。 もしダウンロードしている間ずっとCPU時間を使っていたら大変だと思いまして。 例えばファイルパス名指しで直接アクセスした場合の負荷を1として、 CGIを使うと10くらいになるのかあるいは1.1くらいなのかの目安が知りたいのです。 bufsizeは1024です。「bufsizeをこう変えたら負荷が減る」というアドバイスなどもあれば助かります。
804 :nobodyさん :2007/07/03(火) 19:21:20 ID:E54Y+fni.net ECサイトCGI(ZenCart)は CPU負荷が特別高いのでしょうか。 ご教授お願い致します。
805 :nobodyさん :2007/07/03(火) 23:16:16 ID:???.net スレ違い
806 :nobodyさん :2007/07/05(木) 18:22:59 ID:???.net 究極の負荷削減はクライアントPCで処理をたくさん行わせる手法である
807 :nobodyさん :2007/07/06(金) 18:02:51 ID:???.net 基地外
808 :nobodyさん :2007/07/06(金) 19:46:39 ID:ZTnm/2V7.net ttp://minkara.carview.co.jp/userid/108766/profile/
809 :nobodyさん :2007/11/24(土) 04:42:26 ID:0kYCB2/U.net やたーダウソツールで画像に底引き網をかけてる奴を .htaccessに放り込むスクリプトができたよー(^o^)ノ
810 :nobodyさん :2007/11/24(土) 11:33:11 ID:???.net うp
811 :nobodyさん :2008/01/08(火) 01:01:23 ID:hTVbQiHi.net ほ
812 :nobodyさん :2008/03/16(日) 13:10:53 ID:wXI+Q9fC.net ほ
813 :nobodyさん :2008/03/22(土) 08:30:06 ID:???.net すべてのアクセスを拒否れば負荷はほとんどなくなるアルよ。
814 :nobodyさん :2008/04/24(木) 08:07:46 ID:Ey7r9OAL.net 次のものは負荷はかかるでしょうか? ・ランキングは使わないが登録人数が300人を超すCGIゲーム(50分おきに送信) ・FLASHやJAVAを表示するCGI(1個約2MB、合計12個を1つずつ表示)
815 :nobodyさん :2008/05/13(火) 22:43:06 ID:???.net >>814 の者です。 >>814 の疑問が解決しそうです。
816 :nobodyさん :2010/11/02(火) 12:36:44 ID:ZRssODmy.net こんなのどうよ http://codezine.jp/article/detail/1027
817 : 忍法帖【Lv=40,xxxPT】(1+0:8) 【14.4m】 電脳プリオン ◆3YKmpu7JR7Ic :2012/11/23(金) 12:02:34.20 ID:???.net ?PLT(12079) ∧_∧ ( ・∀・) | | ガガッ と ) | | Y /ノ .人 / ) .人 < >_∧∩ _/し' < >_∧∩`Д´)/ (_フ彡 V`Д´)/ / ←>>434 / ←>>277
818 :nobodyさん :2015/11/02(月) 10:25:00.04 ID:QbuLzB/f.net 主食の 魚沼産コシヒカリ A5のサーロイン 大間のマグロ 高級メロン の軽減税率をお願いしますねwww
819 :nobodyさん :2015/11/06(金) 18:31:31.04 ID:tDSzu+Xy.net 転職時の注意事項。 下記の条件が全て当てはまる会社にご注意下さい。 ・IT系 in Tokyo ・転職会議で2.5点 ・転職会議の「その他>2ch情報」の欄で過去の労基2chスレが表示される
820 :nobodyさん :2017/12/30(土) 12:57:08.26 ID:YhlYw6jg.net 誰でも簡単にネットで稼げる方法など 参考までに、 ⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。 グーグル検索⇒『半藤のブブイウイウレレ』 TM7C0LN4KO
821 :nobodyさん :2018/06/21(木) 10:09:14.47 ID:VtSVJLaY.net プログラミングを誰でも習得できる方法は、「前場アキドルのプログラミングマスター方法」というブログで見られるらしいよ。ネットで調べると見られるらしいです。 AKH0N
822 :nobodyさん :2018/07/06(金) 15:30:23.76 ID:???.net age
823 :nobodyさん :2023/01/21(土) 22:10:26.78 ID:???.net ただ今制限を設けております。
824 :nobodyさん :2023/08/10(木) 03:54:28.99 ID:???.net プハァー ~~-v( =´o`=) 。o 〇 ○
825 :nobodyさん :2023/10/12(木) 17:24:00.63 ID:???.net 残念だったな!!俺はブリーフ派だ」
163 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200
本文 スレッドタイトル 投稿者