サーバ上にPerlやPHPを置く場合、何よりも重視しなければ
ならないのはサーバへの「負荷」。
負荷の高いCGIの使用は削除対象となるのが目に見えてます。
負荷を軽減させるにはどうすればいいか?
どういう書き方をすればいいか?
そんな委員会を開設しました。
★負荷軽減対策委員会(Perl、PHP)★
1ジークハルト ◆VUxx/EwNXI
02/10/15 10:33ID:ifgLRUyb264nobodyさん
03/02/10 11:12ID:??? 電源から電気をもらっているわけで
HDの容量が変わると電荷の分増えたりしないのか?
HDの容量が変わると電荷の分増えたりしないのか?
266nobodyさん
03/03/01 17:02ID:??? 2ショットサイト作成中なんですが、チャットってログはテキストより
SQLにした方が負荷は低いですか?
チャット自体はモジュールのPHPで動かす予定なんですが。
SQLにした方が負荷は低いですか?
チャット自体はモジュールのPHPで動かす予定なんですが。
268nobodyさん
03/03/01 21:11ID:+zEIIVTI >>266
チャットは
mod_perlで常駐させて
配列にログ入れて
ファイルアクセスをなくすと
めっちゃ早かったでつ。
んで、保存ログは20行以下に切り詰めて
ブラウザ側でJavaScript使ってログを保存・表示させていく方式が
よろしかろう・…というか、よろしかったでつ。
チャットは
mod_perlで常駐させて
配列にログ入れて
ファイルアクセスをなくすと
めっちゃ早かったでつ。
んで、保存ログは20行以下に切り詰めて
ブラウザ側でJavaScript使ってログを保存・表示させていく方式が
よろしかろう・…というか、よろしかったでつ。
269266
03/03/02 10:48ID:???271nobodyさん
03/03/03 15:53ID:??? 辞典みたなものをCGIで作ろうと思ってるんだけど、データをHTMLで保存するか
ログファイルに保存して毎回CGIで表示するか迷ってる。
CGIサーバが5MBしか容量ないので保存データ量を節約したいけど負荷が気になる。
1日500件もアクセス無いはずだから別にいいかな?
ログファイルに保存して毎回CGIで表示するか迷ってる。
CGIサーバが5MBしか容量ないので保存データ量を節約したいけど負荷が気になる。
1日500件もアクセス無いはずだから別にいいかな?
272nobodyさん
03/03/10 14:42ID:e5Gc6Qds >>271
辞典の更新頻度、検索の手段によるのでは
辞典の更新頻度、検索の手段によるのでは
273山崎渉
03/03/13 17:03ID:??? (^^)
274nobodyさん
03/04/02 16:48ID:MBb6MhRw 質問です。
Windows2000
Apache 1.3.26 win32
ActivePerl 5.6.1
でCGIのテストをしているのですが、
CGIの負荷を数値等で表示してくれるツールってないですか?
今は、タスクマネージャーで見ているのですが、
もっと詳細に負荷の具合を調べたいのですが、
ご存じの方、よろしくお願いします。
Windows2000
Apache 1.3.26 win32
ActivePerl 5.6.1
でCGIのテストをしているのですが、
CGIの負荷を数値等で表示してくれるツールってないですか?
今は、タスクマネージャーで見ているのですが、
もっと詳細に負荷の具合を調べたいのですが、
ご存じの方、よろしくお願いします。
275nobodyさん
03/04/03 00:43ID:u5AEaj7N >>274
DProf を試してみたら?
DProf を試してみたら?
276山崎渉
03/04/17 12:10ID:??? (^^)
277山崎渉
03/04/20 06:23ID:??? ∧_∧
( ^^ )< ぬるぽ(^^)
( ^^ )< ぬるぽ(^^)
278nobodyさん
03/04/23 00:06ID:eNBdthfp あのー、
Perlで、myやlocalをほとんど使っていないってのは、
どのくらいの負荷要因でしょうか?ベスト1?
Perlで、myやlocalをほとんど使っていないってのは、
どのくらいの負荷要因でしょうか?ベスト1?
279あぼーん
NGNGあぼーん
281nobodyさん
03/04/23 12:57ID:??? >>278
perlの実行ファイルで既に1M近くあるし、モジュールとか読んだら、
もっと増える。
気にするやつは馬鹿。自己満足。知症。
たとえれば、ボルトを全部チタンにして100gの軽量化に成功!とか言ってる
車オタと同類。
perlの実行ファイルで既に1M近くあるし、モジュールとか読んだら、
もっと増える。
気にするやつは馬鹿。自己満足。知症。
たとえれば、ボルトを全部チタンにして100gの軽量化に成功!とか言ってる
車オタと同類。
282nobodyさん
03/04/24 01:07ID:Dv9rntoL このスレ的な話題をあつかった本って、あります?
283nobodyさん
03/04/24 01:31ID:Dv9rntoL プログラムとデザインをわけようとして、
テンプレート読み込み型のデザインをしていたんだけど、
そのせいなのかなー、急に重くなった気がする
テンプレート読み込み型のデザインをしていたんだけど、
そのせいなのかなー、急に重くなった気がする
284nobodyさん
03/04/24 12:43ID:UND9RBAr285あぼーん
NGNGあぼーん
286あぼーん
NGNGあぼーん
287わっしょい
03/04/27 17:57ID:??? http://www.atmarkit.co.jp/flinux/special/php5/php5a.html
速くなるのでしょうか・・・?
速くなるのでしょうか・・・?
288nobodyさん
03/04/27 23:41ID:??? >287 phpに速さを求めちゃイカン。
290nobodyさん
03/04/28 23:00ID:??? Perlもそうだよ〜
291nobodyさん
03/04/30 00:11ID:7aND3iYJ Perlで3MくらいのCSVを読み書きするのって、
かなりの負荷?
あと、ここのみなさんは、どうして負荷について知識があるんでしょうか?
経験上?
かなりの負荷?
あと、ここのみなさんは、どうして負荷について知識があるんでしょうか?
経験上?
293nobodyさん
03/05/02 05:14ID:Faf7JYi+ オブジェクト指向のプログラムは負荷軽減になるの?
294nobodyさん
03/05/02 06:55ID:??? ならない
295nobodyさん
03/05/02 10:25ID:??? >>291
DBM使え。簡単だぜ。
郵便番号ファイル(郵政省--いま何たっけ--の)で速度5倍だぜ。
http://www.ichikoro.com/webp/bk/00060.htmlのベンチマーク。
あれ、2Mくらいじゃなかったっけ?
DBM使え。簡単だぜ。
郵便番号ファイル(郵政省--いま何たっけ--の)で速度5倍だぜ。
http://www.ichikoro.com/webp/bk/00060.htmlのベンチマーク。
あれ、2Mくらいじゃなかったっけ?
298nobodyさん
03/05/04 07:37ID:??? >>297
そうだね。コードの一つ一つで効率を考えることによって、
全体としてそうとうの負荷軽減になる。例えば、
http://www.mikeneko.ne.jp/~lab/perl/numerical_transform/#h4を
ベンチマークで検索してみれ。
そうだね。コードの一つ一つで効率を考えることによって、
全体としてそうとうの負荷軽減になる。例えば、
http://www.mikeneko.ne.jp/~lab/perl/numerical_transform/#h4を
ベンチマークで検索してみれ。
299nobodyさん
03/05/05 23:05ID:I0Mrp3iS >>292
そうかー、ちょっと反省。
ところでどなたか、↓の質問答えてほしいです。。。
>あと、ここのみなさんは、どうして負荷について知識があるんでしょうか?
>経験上?
あと、負荷軽減について詳しい本(の一部とか雑誌でも)ないでしょうか?
そうかー、ちょっと反省。
ところでどなたか、↓の質問答えてほしいです。。。
>あと、ここのみなさんは、どうして負荷について知識があるんでしょうか?
>経験上?
あと、負荷軽減について詳しい本(の一部とか雑誌でも)ないでしょうか?
301nobodyさん
03/05/07 15:10ID:??? 負荷がどうとかと言う人ほど、use strictしたままリリースしそう。
302nobodyさん
03/05/09 00:10ID:??? use strict すると負荷がかかるんですか?
304nobodyさん
03/05/11 11:49ID:??? Cでいえばassert有効にしたままリリースってのに似ているな。
わざとそうしている人もいるみたいだけど・・・
わざとそうしている人もいるみたいだけど・・・
305nobodyさん
03/05/15 03:27ID:zbSE5/sG 負荷を測るのってどうすればいいの。
自分のPCで動かしてもよーわからん。
自分のPCで動かしてもよーわからん。
306あぼーん
NGNGあぼーん
307nobodyさん
03/05/19 07:37ID:9ehzYSkO メモリについて質問させて下さい。
例えば
$x="abc";
の後、
$x="";
という記述なしに
$x="def";
とした場合、メモリは、
abcの○○○分と、defの○○○分の
○○○○○○分が確保されてしまいますか?
$x="abc";
$x="";
$x="def";
にすれば
メモリ確保は○○○だけになると思うのですが。
例えば
$x="abc";
の後、
$x="";
という記述なしに
$x="def";
とした場合、メモリは、
abcの○○○分と、defの○○○分の
○○○○○○分が確保されてしまいますか?
$x="abc";
$x="";
$x="def";
にすれば
メモリ確保は○○○だけになると思うのですが。
309nobodyさん
03/05/19 08:57ID:9ehzYSkO310nobodyさん
03/05/19 09:06ID:???311あぼーん
NGNGあぼーん
312あぼーん
NGNGあぼーん
313あぼーん
NGNGあぼーん
314nobodyさん
03/05/19 15:55ID:wUacqRGd >>310
何が言いたいのかわからん。
何が言いたいのかわからん。
315nobodyさん
03/05/19 16:11ID:wUacqRGd316あぼーん
NGNGあぼーん
317あぼーん
NGNGあぼーん
318nobodyさん
03/05/19 17:41ID:??? 詳しく知りたかったら、Perlのソースを読むしかないと思うけど。
320nobodyさん
03/05/21 00:27ID:??? 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%
while & fgets & copy -> 処理50秒前後 メモリ使用4M前後 CPU100%
file & foreach(or list&each) & copy -> 処理60秒前後 メモリ使用15M前後 CPU100%
fread & copy -> 処理0.5秒前後 メモリ使用4M前後 CMP100%
322山崎渉
03/05/22 02:00ID:??? ━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
323nobodyさん
03/05/22 15:08ID:??? ったく、山崎のおかげでスレ順めちゃくちゃだ。
324nobodyさん
03/05/26 07:37ID:Hdu0vyT1 ファイルをコピーする時って
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>;
みたいにいっきに配列に入れてしまうのはどちらが処理としてはいいのでしょうか?
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>;
みたいにいっきに配列に入れてしまうのはどちらが処理としてはいいのでしょうか?
325nobodyさん
03/05/26 08:20ID:??? >>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;
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;
326nobodyさん
03/05/26 08:36ID:Hdu0vyT1327あぼーん
NGNGあぼーん
328nobodyさん
03/05/26 11:18ID:???329326
03/05/26 14:05ID:mARvDo9Y my $buffer_size = 1024; # 適宜調整
すいません。
これを記述することで何が得なのかを知りたいのでした。
すいません。
これを記述することで何が得なのかを知りたいのでした。
330nobodyさん
03/05/26 14:38ID:kKbCXT+N331nobodyさん
03/05/26 14:57ID:??? 8・・・
332nobodyさん
03/05/26 18:41ID:??? >>329
微妙に意味がわからんな……
推測をして回答してみる。
1.$buffer_sizeを設定することで、何バイトずつコピーするのかの設定が可能になる。
この数値を小さくすると、コピー回数が増えるが、メモリーへの負担は減る。
この数値を逆にすると、その逆。
サーバーの具合を見て適宜調整することができる。
2.わざわざ変数を一つ設定することの意味は、変数の名前をわかりやすくすることで、
その変数が何に使われているのかをわかりやすくする。
「昨日の自分は他人」の言葉どおり、後から見た時になんでその数値にしたのか等が判断しやすくなる。
何が聞きたいんだろう……
微妙に意味がわからんな……
推測をして回答してみる。
1.$buffer_sizeを設定することで、何バイトずつコピーするのかの設定が可能になる。
この数値を小さくすると、コピー回数が増えるが、メモリーへの負担は減る。
この数値を逆にすると、その逆。
サーバーの具合を見て適宜調整することができる。
2.わざわざ変数を一つ設定することの意味は、変数の名前をわかりやすくすることで、
その変数が何に使われているのかをわかりやすくする。
「昨日の自分は他人」の言葉どおり、後から見た時になんでその数値にしたのか等が判断しやすくなる。
何が聞きたいんだろう……
333nobodyさん
03/05/26 21:27ID:??? 3. 設定(定数)と実働部分はできるだけ分離する。
>>324のコード片がスクリプトのどこに埋もれていても、
変数 $buffer_size としてスクリプトの頭の方で定義しておけば
簡単にバッファサイズを変更できる。定数で埋め込んでしまうと
変更したい時にいちいち探し回る事になる。
>>324のコード片がスクリプトのどこに埋もれていても、
変数 $buffer_size としてスクリプトの頭の方で定義しておけば
簡単にバッファサイズを変更できる。定数で埋め込んでしまうと
変更したい時にいちいち探し回る事になる。
334nobodyさん
03/05/26 21:28ID:??? s/324/325/
335nobodyさん
03/05/26 21:32ID:kKbCXT+N Perlは最適化とかしないのかな?
@buf = <IN>
のほうが早かったりして。
@buf = <IN>
のほうが早かったりして。
336nobodyさん
03/05/26 21:50ID:67MeoiMR open(IN, $src);
open(OUT, '>'.$dst);
print OUT while(<IN>);
close(IN);
close(OUT);
こう書くかも。
readで読み出すバイト数は多い方が速いと思う。当然だけど。
ただ多過ぎるとそれはそれでメモリくったり。
open(OUT, '>'.$dst);
print OUT while(<IN>);
close(IN);
close(OUT);
こう書くかも。
readで読み出すバイト数は多い方が速いと思う。当然だけど。
ただ多過ぎるとそれはそれでメモリくったり。
337nobodyさん
03/05/26 22:07ID:??? >>335-336
ベンチ取れば分かる事だが、@buf = <IN> はメモリを一気に
確保する = System CPU time を食う。行入力演算子による
取得は「行末」を探す = 可変長入力なので潜在的に read
より遅い処理。もちろん扱うデータのフォーマット & 量次第
だけどね。
どうしても行入力演算子でやりたければ
$/ = \1024;
while (<IN>) { ... }
で 1024 byte 単位で読めるけど、素直に read 使った方が
速かったかと。
ベンチ取れば分かる事だが、@buf = <IN> はメモリを一気に
確保する = System CPU time を食う。行入力演算子による
取得は「行末」を探す = 可変長入力なので潜在的に read
より遅い処理。もちろん扱うデータのフォーマット & 量次第
だけどね。
どうしても行入力演算子でやりたければ
$/ = \1024;
while (<IN>) { ... }
で 1024 byte 単位で読めるけど、素直に read 使った方が
速かったかと。
338336
03/05/27 01:07ID:??? たしかにそうですね。
改行コードを探しながら進むので遅いと。
改行コードを探しながら進むので遅いと。
339山崎渉
03/05/28 17:05ID:??? ∧_∧
ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
340nobodyさん
03/05/28 18:05ID:??? age
341nobodyさん
03/05/28 23:45ID:01rk8ElD ファイルの書き込みを追記にしたばあいの負荷ってどうなるんですか。
たとえば書き込むものは同じとして、
追記先のファイルが1行のときと1000行のときでは
CPUメモリ負荷はどうなるんでしょう。
追加するだけだから大して変わらないかなと思ったんですけど。
たとえば書き込むものは同じとして、
追記先のファイルが1行のときと1000行のときでは
CPUメモリ負荷はどうなるんでしょう。
追加するだけだから大して変わらないかなと思ったんですけど。
342あぼーん
NGNGあぼーん
343鷹
03/05/29 00:29ID:KW4sDDhu $kazu=(((($my_tech-int(rand($my_tech/4)))*$job_dmg[$job])*$tarou)/$mstamina)*$stamina;
このように一気に計算させるのと、
いくつもに分けて計算させていくのでは
負荷は変わるのでしょうかね?
変わるのならどちらが軽いと思いますか?
このように一気に計算させるのと、
いくつもに分けて計算させていくのでは
負荷は変わるのでしょうかね?
変わるのならどちらが軽いと思いますか?
344nobodyさん
03/05/29 00:52ID:??? >>341
追記の場合、元のファイルの大きさはほぼ影響しない。
Cをやっている人間ならわかる(はず)だが、
追記と言うのは、ハードディスク上のファイルの終端を探し出して、
そこから新たなデータを埋めて行き、最後にファイルの大きさを示す数値を変更する作業だ。
従って、ファイルの終端を探し出す作業だけが、ベンチマークに影響する。
追記の場合、元のファイルの大きさはほぼ影響しない。
Cをやっている人間ならわかる(はず)だが、
追記と言うのは、ハードディスク上のファイルの終端を探し出して、
そこから新たなデータを埋めて行き、最後にファイルの大きさを示す数値を変更する作業だ。
従って、ファイルの終端を探し出す作業だけが、ベンチマークに影響する。
345nobodyさん
03/05/29 00:54ID:???346nobodyさん
03/06/01 05:17ID:q1DFdt/M 下記の中で最も負荷が少ないのはどれでしょうか?
1.printを使い一行ずつ出力
2.ヒアドキュメントで出力
3.別ファイルを作り読み取らせて出力
3は後々便利そうだけど、負荷が気になる…。
1.printを使い一行ずつ出力
2.ヒアドキュメントで出力
3.別ファイルを作り読み取らせて出力
3は後々便利そうだけど、負荷が気になる…。
347nobodyさん
03/06/01 07:32ID:??? 2
349nobodyさん
03/06/01 11:08ID:???350nobodyさん
03/06/01 12:28ID:???352nobodyさん
03/06/01 14:21ID:??? webプログラムは、サーバへの負荷も気をつけないといけないと思うけど、
それよりも、トラフィックを一番に考えてる俺は間違ってますか?
それよりも、トラフィックを一番に考えてる俺は間違ってますか?
353nobodyさん
03/06/01 16:03ID:j4GGBbHW >>347-351
どうもです。
どうもです。
354nobodyさん
03/06/01 16:59ID:??? そんな細かい事ぐらいでサーバーから言われる事はまず無いので
私も処理速度を優先させるべきだと思うねぇ。
というか、気にするほど大して変わらない。
基地外なほど膨大なデータを扱うならまだしも。
私も処理速度を優先させるべきだと思うねぇ。
というか、気にするほど大して変わらない。
基地外なほど膨大なデータを扱うならまだしも。
355nobodyさん
03/06/01 23:12ID:??? 想定同時アクセス1000くらいの小さな案件で、
鯖を用意してやるなら、保守性を一番においても問題ないと思う。
鯖を用意してやるなら、保守性を一番においても問題ないと思う。
356nobodyさん
03/06/01 23:24ID:8+Lq3hlg357nobodyさん
03/06/02 02:48ID:??? 共有メモリを活用する、繰り返し使用する正規表現はlexで、
大きなプロセスは常駐させてローカルソケットでCGIと通信してCGIは小さく作る、
データベースは下手に使わない、巧く使える場合にだけ使用する。
大きなプロセスは常駐させてローカルソケットでCGIと通信してCGIは小さく作る、
データベースは下手に使わない、巧く使える場合にだけ使用する。
358nobodyさん
03/06/03 01:39ID:??? >>354
サーバーがつんでるメモリーの量によってどっち優先かは変わると思われ。
メモリー使い切ったらswapのオーバーヘッドがかかってかえって遅くなるし。
まあ、最近のサーバーはメモリーを湯水のように持っているからそんなこと考える必要ないのかな?
サーバーがつんでるメモリーの量によってどっち優先かは変わると思われ。
メモリー使い切ったらswapのオーバーヘッドがかかってかえって遅くなるし。
まあ、最近のサーバーはメモリーを湯水のように持っているからそんなこと考える必要ないのかな?
359nobodyさん
03/06/03 05:54ID:+XIKXuw2 Perl5からPerlでもコンパイルした状態で設置できるようになったと読んだんですがどうすればできますか?
361nobodyさん
03/06/03 12:08ID:Sjj3JYUNレスを投稿する
ニュース
- 【W杯】韓国が大窮地 悪夢のシナリオ止まらず 決勝T進出順位ボーダーの8位に転落 セネガル、イランに抜かれる ★4 [尺アジ★]
- 【本】ヘルシーに見えて、「薄毛」リスクが上昇…専門医が「血流の大敵」と名指しする日本人が大好きな”白い食べ物” [少考さん★]
- 【芸能】田中みな実、実名告白「めっちゃ格好いい」「インスタもフォローした」 W杯日本代表にメロメロも「狙ってないからね?」 [冬月記者★]
- 【自維】鮭おにぎり198円に絶望、コンビニすら遠い存在に…「生き延びられない」物価高で広がる生活苦★5 [ひぃぃ★]
- 【サッカー】「昔のネイマールでしょ」サッカー日本代表・塩貝健人がブラジル戦へ痛快発言…「王国」の印象を問われ [ゴアマガラ★]
- 【サッカー】「世紀の談合マッチになる予感」J組の一戦が話題…ドローで両チーム決勝T進出の“異例事態” [ゴアマガラ★]
- 【高市朗報】専守防衛の日本、無人潜水艦導入へ!魚雷や機雷を搭載し長距離、長時間運用。AI搭載し自律型も。乗っ取られないようにしてね [219241683]
- 【高市悲報】「みんなで大家さん」持ってる中で一番価値がある宗右衛門町の駐車場、500人以上の人に仮差し押さえられた模様🥹 [616817505]
- 経団連「年内には訪中して習主席と面会したい😢レアアースもタングステンももう限界😢」 [931948549]
- 土曜プレミアム・世にも奇妙んな物語’26夏の特別編🏡
- 【高市悲報】アンソロピック、ミュトスを提供再開。ただし日本は対象外 [663382246]
- 俺が反日になった理由が深すぎるww