サーバ上にPerlやPHPを置く場合、何よりも重視しなければ
ならないのはサーバへの「負荷」。
負荷の高いCGIの使用は削除対象となるのが目に見えてます。
負荷を軽減させるにはどうすればいいか?
どういう書き方をすればいいか?
そんな委員会を開設しました。
★負荷軽減対策委員会(Perl、PHP)★
1ジークハルト ◆VUxx/EwNXI
02/10/15 10:33ID:ifgLRUyb414nobodyさん
03/07/03 09:14ID:??? でもな、Perlには、FastCGIとかもあるからな。
>ちゃんと実験したサイト行って、見て来い。
ああいう非現実的な試行環境に統一して対照されても参考にできないよね、、
まだmsがやったベンチ結果のほうがdqnぽくない
PHP5のケース別ベンチやってくれんかな
個人では実験環境が作れないしzendの情報だけでは激しく不安だし、、
話は変わって、itboostのtips「効率的な処理」に、phpのループ構造は遅いから、
コールバック関数を繰り返し呼び出すとphpではなくcレベルでループが走ってくれるて
いいよってネタがあるけど、これはどうなん?
(あれはcountを一度にすれば大差ないような気もしつつ、、。
個人で実行速度を計測するといえば、ループ処理のことだと言ってもいいかと
おもうんだけど、これってphp特有の問題?
ああいう非現実的な試行環境に統一して対照されても参考にできないよね、、
まだmsがやったベンチ結果のほうがdqnぽくない
PHP5のケース別ベンチやってくれんかな
個人では実験環境が作れないしzendの情報だけでは激しく不安だし、、
話は変わって、itboostのtips「効率的な処理」に、phpのループ構造は遅いから、
コールバック関数を繰り返し呼び出すとphpではなくcレベルでループが走ってくれるて
いいよってネタがあるけど、これはどうなん?
(あれはcountを一度にすれば大差ないような気もしつつ、、。
個人で実行速度を計測するといえば、ループ処理のことだと言ってもいいかと
おもうんだけど、これってphp特有の問題?
416411
03/07/06 09:05ID:???417nobodyさん
03/07/06 09:07ID:??? >>ちゃんと実験したサイト行って、見て来い。
>ああいう非現実的な試行環境に統一して対照されても参考にできないよね、、
どこのサイトを見てるんですか?
>ああいう非現実的な試行環境に統一して対照されても参考にできないよね、、
どこのサイトを見てるんですか?
418nobodyさん
03/07/06 13:26ID:???419nobodyさん
03/07/06 13:33ID:???421nobodyさん
03/07/08 03:40ID:???422山崎 渉
03/07/15 11:10ID:???__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
423nobodyさん
03/07/24 09:32ID:??? 保守?
424nobodyさん
03/07/25 23:36ID:??? ↑ageとかんかいッ!
425nobodyさん
03/07/26 17:01ID:??? ageんでも保守はできるでしょ
?>
<html><head><title><?=$title=></title></head>
<?php
と
echo << end
<html><head><title>$title</title></head>
end;
はどっちが軽いんだろうね・・・
?>
<html><head><title><?=$title=></title></head>
<?php
と
echo << end
<html><head><title>$title</title></head>
end;
はどっちが軽いんだろうね・・・
426nobodyさん
03/07/26 17:02ID:??? あぁ、 < がひとつ足りないし・・・
427nobodyさん
03/07/27 01:37ID:??? このスレいつも大変参考にさせていただいています。
430nobodyさん
03/07/28 05:31ID:??? PHPに、テキスト中に変数があるかどうか判断させる後者よりも、
明示的にする前者がやっぱ速いかな?特に変数が多いほど。
でも、PHPモードに入ったり抜けたりする負荷(と言えるかな?)を考えると前者のような気もする…
明示的にする前者がやっぱ速いかな?特に変数が多いほど。
でも、PHPモードに入ったり抜けたりする負荷(と言えるかな?)を考えると前者のような気もする…
431nobodyさん
03/07/28 11:41ID:??? echo '
<html><head><title>'.$title.'</title></head>
';
これでいいべ
<html><head><title>'.$title.'</title></head>
';
これでいいべ
432nobodyさん
03/07/28 16:40ID:???433nobodyさん
03/07/31 10:25ID:??? >431-432
http://www.php.net/manual/ja/language.basic-syntax.php
にもあるとーり結局内部的には echo で処理されてるから
あとは可読性の問題じゃないかねぇ。
http://www.php.net/manual/ja/language.basic-syntax.php
にもあるとーり結局内部的には echo で処理されてるから
あとは可読性の問題じゃないかねぇ。
434山崎 渉
03/08/02 02:24ID:??? ∧_∧
( ^^ )< ぬるぽ(^^)
( ^^ )< ぬるぽ(^^)
435ぼるじょあ ◆ySd1dMH5Gk
03/08/02 04:52ID:??? ∧_∧ ∧_∧
ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
436nobodyさん
03/08/08 18:33ID:??? mod_perlで動かすと、速いときはバカみたいに速いが、
遅いときはイライラするぐらい遅い。
普通こんなにバラツキがあるものなのですか?
遅いときはイライラするぐらい遅い。
普通こんなにバラツキがあるものなのですか?
437あぼーん
NGNGあぼーん
438nobodyさん
03/08/15 12:34ID:???439nobodyさん
03/08/20 12:11ID:??? speedyCGIで負荷が高くなると、InternalServerErrorが出るのですけど、
私の書き方が間違っているだけなんですかね?
私の書き方が間違っているだけなんですかね?
440nobodyさん
03/08/20 12:21ID:??? >438
mod_perl1.2使ってたとき、モジュールのキャッシュ無視して、別空間にロードされる場合も。
最近のバージョンで改善されているかどうかは不明ですが。
mod_perl1.2使ってたとき、モジュールのキャッシュ無視して、別空間にロードされる場合も。
最近のバージョンで改善されているかどうかは不明ですが。
442440
03/08/21 18:44ID:??? >>441
初回にロードした時間を記録するクラス作って、何度かリロードして確かめた記憶が。
他にも、子プロセス関係で何かしたと思ったけど、忘れた。
%INC消さなくても、ロードされる時はされてましたよ。
ライブラリモジュールに限らず、同一ファイル、同一パッケージ名の空間も
複数のキャッシュが存在してしまうこともしばしば。
それ知って以来、mod_perlは一切使ってませんが。
で、最近のバージョンはどうなんでしょう?
初回にロードした時間を記録するクラス作って、何度かリロードして確かめた記憶が。
他にも、子プロセス関係で何かしたと思ったけど、忘れた。
%INC消さなくても、ロードされる時はされてましたよ。
ライブラリモジュールに限らず、同一ファイル、同一パッケージ名の空間も
複数のキャッシュが存在してしまうこともしばしば。
それ知って以来、mod_perlは一切使ってませんが。
で、最近のバージョンはどうなんでしょう?
443nobodyさん
03/08/22 04:06ID:???444nobodyさん
03/08/22 13:11ID:??? >>443
私もWebとPostgresqlで組んでいるのですが、
mod_perlだと、速度のバラツキが尋常でなくて採用を辞めましたよ。
SpeedyCGIが安定さえしてくれれば、何も心配ないのですけどね。
私もWebとPostgresqlで組んでいるのですが、
mod_perlだと、速度のバラツキが尋常でなくて採用を辞めましたよ。
SpeedyCGIが安定さえしてくれれば、何も心配ないのですけどね。
445nobodyさん
03/08/22 15:05ID:qLHm82v9 PHP使えよ。。
448あぼーん
NGNGあぼーん
449nobodyさん
03/08/22 23:56ID:???450nobodyさん
03/08/23 00:30ID:??? そういえば、PostgreSQLの日本語サイト見てたら、以外にも
Perl/CGIで利用しているところが多いのにビビりました。
DBMS使う以上、何らかの効率性を望んでいるのだと思うけど、何故Perl/CGIなんだと問いつめたいよ。
Perl/CGIで利用しているところが多いのにビビりました。
DBMS使う以上、何らかの効率性を望んでいるのだと思うけど、何故Perl/CGIなんだと問いつめたいよ。
451nobodyさん
03/08/23 00:44ID:12CD5sBt >>450
逆に、Perl/CGIだと何がだめなのか説明してみてください。
逆に、Perl/CGIだと何がだめなのか説明してみてください。
03/08/23 01:44ID:???
453nobodyさん
03/08/23 09:33ID:??? >>450
漏れはMysq;でPerl/CGIしてるけど、移植元がperlだったから単純に鯖の負荷軽減が目的だったりしたが・・・
それに、Phpだと複雑なソース書ききれんかったろうってのもあるわけだが、お前さんはなにでやれと?
漏れはMysq;でPerl/CGIしてるけど、移植元がperlだったから単純に鯖の負荷軽減が目的だったりしたが・・・
それに、Phpだと複雑なソース書ききれんかったろうってのもあるわけだが、お前さんはなにでやれと?
454nobodyさん
03/08/23 13:18ID:??? PHP使えよ。
455nobodyさん
03/08/23 16:29ID:IynKNpCX perlなんだが。
ある位置から数行くらい読み込む時、
10kbくらいのファイルと、300kbくらい(要するにでかい)ファイルでは
負荷に違いってあります?
open IN, ...;
for($i=0; $i<10; $i++){
$line = <IN>;
...処理
}
close IN;
みたいなプログラムでつ。
ある位置から数行くらい読み込む時、
10kbくらいのファイルと、300kbくらい(要するにでかい)ファイルでは
負荷に違いってあります?
open IN, ...;
for($i=0; $i<10; $i++){
$line = <IN>;
...処理
}
close IN;
みたいなプログラムでつ。
456nobodyさん
03/08/23 16:46ID:???457nobodyさん
03/08/23 19:02ID:V3x8NgSH >>453
Perlで書けてPHPで書けない「複雑ソース」って何?
Perlで書けてPHPで書けない「複雑ソース」って何?
458nobodyさん
03/08/23 19:07ID:??? LHA圧縮。
459nobodyさん
03/08/23 19:20ID:??? >>457
最近あまり追ってないんだが、
PHPってtermiosによる端末制御できたっけ?
fork()は出来るけどpipe()は出来たっけ?
あと、PHPはスコープが滅茶苦茶だから(まぁPerlも変だけど)
あまり大きいソースを多人数で書くのには向いてないと思う。
最近あまり追ってないんだが、
PHPってtermiosによる端末制御できたっけ?
fork()は出来るけどpipe()は出来たっけ?
あと、PHPはスコープが滅茶苦茶だから(まぁPerlも変だけど)
あまり大きいソースを多人数で書くのには向いてないと思う。
460455
03/08/24 10:10ID:XoFfp7Kp462455
03/08/25 11:33ID:??? でもどうやってx行目を見つけ出すの?
適当にread系のcgiを漁ってみたけど、やっぱ空読みしてるみたいだわ。
適当にread系のcgiを漁ってみたけど、やっぱ空読みしてるみたいだわ。
464nobodyさん
03/08/25 13:26ID:??? >>462
1、行ごとのファイルポインタを記録してある。
2、一定件数ごとに、ファイルポインタを記録してある。
3、2chは入力値の長さが決まっているから、固定長フォーマットにしてある。
これだけのアクセス数があるところで、空読みは考えにくいな。
板のトップで、数千行単位で空読みされるのですか?
1、行ごとのファイルポインタを記録してある。
2、一定件数ごとに、ファイルポインタを記録してある。
3、2chは入力値の長さが決まっているから、固定長フォーマットにしてある。
これだけのアクセス数があるところで、空読みは考えにくいな。
板のトップで、数千行単位で空読みされるのですか?
465nobodyさん
03/08/25 14:55ID:JfnblB1o >>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より呼び出される回数は圧倒的に少なく
それほど問題にならない気が。
今は知らないけど、今までの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より呼び出される回数は圧倒的に少なく
それほど問題にならない気が。
467nobodyさん
03/08/27 01:27ID:??? useって宣言した場所によって読み込まれる時期が違うの?
それならJcodeなんかは先頭でuseせずに
送られてきたデータのチェック済ませてから読み込ませた方が良いのかな。
#チェックにJcode使うなら別だけど
それならJcodeなんかは先頭でuseせずに
送られてきたデータのチェック済ませてから読み込ませた方が良いのかな。
#チェックにJcode使うなら別だけど
468nobodyさん
03/08/27 02:23ID:???469nobodyさん
03/09/04 01:48ID:??? ホッシュホッシュ
470nobodyさん
03/09/05 00:46ID:??? SpeedyCGIでどうやったら、負荷が高いときのエラーが無くなるんだろう。
もう訳がわからん。
もう訳がわからん。
473nobodyさん
03/09/17 00:18ID:??? ホッシュホッシュ
474nobodyさん
03/09/17 21:25ID:Rf3lCYFV PHPの掲示板なんですができるだけ負荷がかからないログの読み込み方法ってどんなのがありますか?
今は書き込みや読み込みの時にfile()で全部取得しているんですがログが増えると負荷が大きくなりそうな気がするので。
今は書き込みや読み込みの時にfile()で全部取得しているんですがログが増えると負荷が大きくなりそうな気がするので。
475nobodyさん
03/09/17 22:10ID:??? >474
DB使ってね!
DB使ってね!
476nobodyさん
03/09/17 22:15ID:Rf3lCYFV DB使う以外にうまいやり方無いですか?
477nobodyさん
03/09/17 22:24ID:??? >476
ないですね!
逆に、なんでDB使うのいやなんですか?!
ないですね!
逆に、なんでDB使うのいやなんですか?!
479nobodyさん
03/09/17 22:55ID:??? >478
474が悩み事の矛盾に気がつかないからだよ!
474が悩み事の矛盾に気がつかないからだよ!
480nobodyさん
03/09/17 22:59ID:??? >>477
2ちゃん程度の規模でもDBなぞ使ってないんだが。
ていうか、逆に2ちゃんをDBで書き直したらえらい事になると思うが・・・。
普通のBBSって書き込みはFIFOだし、読み出しはシリアルだから
逆にDB使うほうが負荷が大きくなる。
2ちゃん程度の規模でもDBなぞ使ってないんだが。
ていうか、逆に2ちゃんをDBで書き直したらえらい事になると思うが・・・。
普通のBBSって書き込みはFIFOだし、読み出しはシリアルだから
逆にDB使うほうが負荷が大きくなる。
481474
03/09/18 00:06ID:??? DB使うのが嫌っていうか使ったことないので
DB使わずにfile()以外のやり方ないかと思ったんですが
DB使わずにfile()以外のやり方ないかと思ったんですが
483nobodyさん
03/09/18 00:58ID:??? ん?なんか問題あるか?
484nobodyさん
03/09/18 01:28ID:??? 問題ないだろ
485483
03/09/18 07:46ID:??? 「スレ読めよ」か。「スレタイ読めよ」と勘違いした。
486nobodyさん
03/09/18 09:35ID:??? >474
データ構造を固定長にしてバイナリファイルに格納しておき
fseek fread fwrite などを使えば部分処理が出来るから負荷は
減ると思うよ
データ構造を固定長にしてバイナリファイルに格納しておき
fseek fread fwrite などを使えば部分処理が出来るから負荷は
減ると思うよ
487nobodyさん
03/09/18 15:34ID:??? SpeedyCGIでエラーが頻発したので、PerlからCに移植した。
えらく辛かったが、めちゃくちゃ速くなった。
えらく辛かったが、めちゃくちゃ速くなった。
488nobodyさん
03/09/24 13:10ID:??? apacheの軽量化が威力あると言うが、
具体的にどういったモジュールを消せば良いのだろう。
具体的にどういったモジュールを消せば良いのだろう。
489nobodyさん
03/09/24 13:16ID:??? mod_rewrite
490nobodyさん
03/09/24 13:56ID:??? >488
とりあえずスレ違いと思われ
スクリプト上で解決可能な話題が主題かと思う
とりあえずスレ違いと思われ
スクリプト上で解決可能な話題が主題かと思う
491nobodyさん
03/09/24 14:07ID:??? 推敲しようぜ。
492nobodyさん
03/09/24 22:58ID:Fv8u9zA+493nobodyさん
03/09/25 07:19ID:??? 人よりちょっと知識の多い香具師が少ない香具師を馬鹿にするスレはここですね。
496nobodyさん
03/09/25 16:05ID:??? Apacheのチューニングはスクリプトの有無や出来とは関係なく
できることだし、別問題じゃないか?
できることだし、別問題じゃないか?
497nobodyさん
03/09/25 17:02ID:??? ループ開始
498nobodyさん
03/09/25 18:44ID:??? ループは負荷が増えるので禁止
499nobodyさん
03/09/26 05:39ID:??? 足りない?
mod_mime_magic,mod_dir,mod_auth,mod_access,mod_cgi,mod_log_config,(mod_env)
(mod_perl)
mod_mime_magic,mod_dir,mod_auth,mod_access,mod_cgi,mod_log_config,(mod_env)
(mod_perl)
500500
03/09/26 12:46ID:??? 500
501nobodyさん
03/09/28 01:16ID:Hg1oCkYh504nobodyさん
03/09/30 17:47ID:??? 素直に専用鯖借りてmod_perlとgzip圧縮でも使いなさい。
505nobodyさん
03/09/30 18:17ID:??? もうgzipはいいだろ。
506nobodyさん
03/10/08 17:46ID:??? 保守
507nobodyさん
03/10/14 23:31ID:??? ホシュ
508nobodyさん
03/10/16 19:43ID:??? 出尽くしたかな。
509nobodyさん
03/10/18 19:58ID:??? 変数より定数使ったほうがやっぱ軽いのかなぁ・・・
あとは定数と直接数値を書き込むのはどっちが軽いのだろうか
あとは定数と直接数値を書き込むのはどっちが軽いのだろうか
511nobodyさん
03/10/29 01:38ID:??? ね、みんなローカルでPerlをテストする時、何のソフト使ってるの?
レスを投稿する
ニュース
- 【自維】鮭おにぎり198円に絶望、コンビニすら遠い存在に…「生き延びられない」物価高で広がる生活苦★5 [ひぃぃ★]
- 【サッカー】ブラジル戦、NHKは地上波なし 本田圭佑はBSで解説… 悲鳴続出「マジかよ」 地上波はフジテレビが生中継、解説は小野伸二 [冬月記者★]
- 【芸能】田中みな実、実名告白「めっちゃ格好いい」「インスタもフォローした」 W杯日本代表にメロメロも「狙ってないからね?」 [冬月記者★]
- 【サッカー】「世紀の談合マッチになる予感」J組の一戦が話題…ドローで両チーム決勝T進出の“異例事態” [ゴアマガラ★]
- 【サッカー】W杯の「日本VSブラジル」を他で例えると…Xで問いかけ話題「湘北vs山王」「明徳義塾vs大阪桐蔭」「ドトウvsオペラオー」★2 [o(^・-・^)o★]
- 野党が全法案審議に応じない方針、自民ベテラン「先が見通せず打開策がない」 国会緊迫化 [蚤の市★]
- 【高市悲報】今国会の全法案が廃案へ。。。飲みィのヤリィのしてきた結果がこれなのか・・・ [252835186]
- 経団連「年内には訪中して習主席と面会したい😢レアアースもタングステンももう限界😢」 ★2 [904151406]
- ハンドスピナー ← この急速に流行ったと思ったら好きな奴はAHDHの烙印をなぜか押されて急速に消えた哀れな謎の謎物体
- お台場、次々閉館してただの廃墟と化してしまう [709039863]
- マンコがオナホ並にキツイ女の子っているんですか? [856698234]
- 【悲報】眞子さま、皇族としての気品のカケラも無くなってしまうwwwwwwwwwwwwwwwwwwww [802034645]