【激速】mod_perl Spe ..
116:nobodyさん
06/06/15 18:41:07
>>115
応答時間の短縮≠スループットの向上。
ちょっと理解に苦しむが、どういう意味?
117:nobodyさん
06/06/15 18:53:08 0MUuG1/E BE:133237-#
処理が早いだけで、
多くの処理がこなせるようになるわけじゃないってことすかね?
118:nobodyさん
06/06/15 18:57:53
理解に苦しむといわれても、そのまんまなんだけど。
プロセス間通信がないmod_perlのほうが速いはずだけどベンチマークとったら差がない、ということだから、
mod_perlのほうが応答時間は短くなるかもしれないけど、それはスループットには影響を与えないんだろうね、ちうこと。
応答時間の短縮=スループットの工場とは誰もいってないよ。
それを主張したら>>115とすごく矛盾してしまうんだけど。
119:115
06/06/15 18:58:33
そういう意味ならその通りだね。
話が脱線してるけど。
120:nobodyさん
06/06/15 18:59:24
↑115→116
121:nobodyさん
06/06/15 19:03:12
む?どこらへんが脱線してる?ふつうにmod_perlの話だと思うし、>>83の話からなんら飛躍してないと思うが。
122:116
06/06/15 19:03:57
>>118
言ってることはよくわかる。
しかし、ベンチの速度の話をしているときに、いきなりスループットは脱線だよ。
スループットが大きく影響するベンチもあれば、そうでないものもある。
ベンチ次第。
123:116
06/06/15 19:07:09
>>121
飛躍しているよ。
言っていることは、一般論としては正しいが、ベンチには反映されにくい。
124:nobodyさん
06/06/15 19:52:51
>>122
どんなベンチマークを想像してんだろ。
おれは ab -c 10 -n 1000 みたいなのを想像してたんだけど。
サーバーサイドの話なんだから、ふつうにスループット重視だと思うんだが、
サーバーサイドのベンチで、スループットじゃないベンチおしえてくれ。
つーか、ベンチマークの話のときにスループットだすのがなんで脱線なんだ。理解に苦しむ。
125:116
06/06/15 20:35:31
こういう事はあまり言いたくないが、スループットの意味を解って使っているのか?
スループットとは単位時間に処理できる量のことだ。
> mod_perlのほうが応答時間は短くなるかもしれないけど、それはスループットには影響を与えないんだろうね、ちうこと。
この話は、mod_perlはメモリを食うのでセッション数を捌けない。
だから、応答時間は短くても単位時間当たりの処理数はあがらない。
こういう意味なんだろうが、それは単純にベンチには出ない。
まずmod_perlへのリクエスト量が多く、mod_perlの処理に支障がある状態のベンチかどうか。
そうでなければ、何の関係もない。
くだらない話だ。
126:nobodyさん
06/06/15 21:01:02
>>125
どういうベンチの取り方だったらいいわけ?
127:nobodyさん
06/06/15 21:44:18
>>126
どういうベンチがいいとかいう問題じゃない。
ベンチは取った条件を考慮しないと、意味がない。
128:nobodyさん
06/06/15 21:58:26
SpeedyCGI,FastCGIを試してみようかなと思い、とりあえずrpmがあるかと調べてみたら、
dagに、
perl-CGI-SpeedyCGI-2.22-1.2.el4.rf.i386.rpm
perl-FCGI-0.67-1.c4.i386.rpm
がありました。
RHEL,CentOS,Fedoraだと、rpmでインストール出来る様ですね。
ちなみに、ファイルの更新日付は、SpeedyCGIが2005/12/25,FastCGIが2006/2/11。
upされたのは、比較的最近だったので、ちょっとびっくり。
129:nobodyさん
06/06/15 22:35:45 BE:212256746-#
URLリンク(daemoninc.com)
130:nobodyさん
06/06/16 03:06:13
>>125
おいおい、今までの話で、「スループット」を誤用したところがあるか?なんでこんな心配されなきゃならん。
まず、
>ベンチの速度の話をしているときに、いきなりスループットは脱線だよ
を説明してくれ。
>こういう意味なんだろうが、それは単純にベンチには出ない。
>まずmod_perlへのリクエスト量が多く、mod_perlの処理に支障がある状態のベンチかどうか。
>そうでなければ、何の関係もない。
あれー、今はmod_perlのベンチマークの話だよね?mod_perlに負荷がかからないようなベンチを勝手に想像されてもなー。
>どういうベンチがいいとかいう問題じゃない。
>ベンチは取った条件を考慮しないと、意味がない。
じゃあどういうベンチマークテストで、どういう条件を考慮すればいいわけ?
おまえの話きいてると、逃げてるだけじゃん。
131:nobodyさん
06/06/16 04:22:13
喧嘩するときはbeか鳥付けないと誰の発言か確認できないよね
132:nobodyさん
06/06/16 05:14:48
>>127
だぁかぁらぁ、どういう条件よ?
133:116
06/06/16 10:29:15
>>130
>>132
mod_perlはそのベンチの条件でセッション数が飽和しているか?
これをふまえて発言しろ。
134:nobodyさん
06/06/16 12:44:16
>>130
> あれー、今はmod_perlのベンチマークの話だよね?mod_perlに負荷がかからないようなベンチを勝手に想像されてもなー。
「mod_perlに負荷がかからないような」ではなくて、
mod_perlにどれくらいの負荷がかかっていて、mod_perlがセッションさばけるかが問題ってことじゃねえ?
「mod_perlに負荷がかかって」いても>129のような軽い負荷だと関係ないっていうことかな。
135:nobodyさん
06/06/16 16:44:07
>>130
(・∀・)ニヤニヤ
136:nobodyさん
06/06/16 18:48:56
>>133
してない。
それで?
137:nobodyさん
06/06/16 21:19:55
>>136
beか鳥をつけた方がよくね?
138:nobodyさん
06/06/16 21:22:19
>>136
> してない。
> それで?
それだと>116氏や>134氏の言うとおりになるんじゃない?
> 「mod_perlに負荷がかかって」いても>129のような軽い負荷だと関係ないっていうことかな。
139:nobodyさん
06/06/16 21:26:06
> beか鳥をつけた方がよくね?
beも鳥もつけずにデマだけ並べるといいということ?
140:nobodyさん
06/06/16 21:36:09
>>139
>116や>134がデマってことは、
mod_perlのスコアがのびない理由はセッション数以外にも理由があるって理解でええの?
141:140
06/06/16 21:37:17
だとしたら、まだ出てない意見なんだけど?
142:nobodyさん
06/06/16 21:40:51
>>140
> >116や>134がデマってことは、
>116や>134は、デマなんですか?
はつみみです。
143:140
06/06/16 21:49:45
漏れは頭悪いんで、>139が誰に対してデマっていってるのかわからんのやけど。
144:140
06/06/16 22:01:28
それ以前に、>139=>142ってことでいいん?
145:nobodyさん
06/06/16 22:02:25
>>143
> 漏れは頭悪いんで、>139が誰に対してデマっていってるのかわからんのやけど。
そもそも、誰かの発言がデマであるというようなことは >>139 では述べられて
ないのでは?
146:nobodyさん
06/06/16 22:03:25
>>144
> それ以前に、>139=>142ってことでいいん?
どのように解釈しようと、各人の自由だと思いますよ。
147:nobodyさん
06/06/16 22:08:18
(・∀・)ニヤニヤ
148:nobodyさん
06/06/16 22:12:47
必死だな
149:nobodyさん
06/06/16 22:36:39
Perl厨わかなくなったと思えば次はmod_perl厨。
収まったと思えば今度は匿名理屈厨。
すごいな。
このスレは。
150:nobodyさん
06/06/16 22:45:16
(・∀・)ニヤニヤ 厨
必死だな 厨
>>149 みたいなの
も定期的に湧くな。
すごいな。
このスレは。
151:nobodyさん
06/06/16 22:47:47
オマエモナー
152:nobodyさん
06/06/16 22:48:45
さて、どこらへんの話からループすればいい?
153:nobodyさん
06/06/16 22:48:57 BE:283008184-#
煽り耐性なさ杉w
154:nobodyさん
06/06/16 22:50:17
>>150
お前が一番変。
155:nobodyさん
06/06/16 22:52:21
>>154
まあ、一番と順位づけをするためには、ベンチマーク等と同様に
客観的な基準が必要だよね。
- 何をもって「変」とするかの基準
- 上記「変」の順位付けの方法
156:nobodyさん
06/06/16 22:53:23
でたあ、客観厨。
157:nobodyさん
06/06/16 22:54:27
何をもって...とするかの基準。
だってよ。
158:nobodyさん
06/06/16 22:56:08
>>155
>> ベンチマーク等と同様に客観的な基準が必要だよね。
このへんで頭の悪さがばれる。
159:nobodyさん
06/06/16 22:56:15
クマー
160:nobodyさん
06/06/16 22:57:54
>>158
まあ、ベンチが客観的と信じるのは個人の自由だし。
ええんでない?
161:nobodyさん
06/06/16 22:58:30
だな。w
162:nobodyさん
06/06/16 22:59:18
>>160
んだな。
宗教の自由ってやつだ。
163:nobodyさん
06/06/16 23:00:45
そんな宗教もあるのか。
164:nobodyさん
06/06/16 23:02:01
まあほとんど宗教だわな。
165:nobodyさん
06/06/16 23:02:50
宗教に、ほとんどとか程度があるのか。
このスレすごいなー。w
166:nobodyさん
06/06/16 23:04:07
>>165
マジレスすんなよ。
おもろないやつ。
167:nobodyさん
06/06/16 23:05:16
マジレスっておいしいの?
168:nobodyさん
06/06/16 23:14:23
ここまで俺の自演
169:nobodyさん
06/06/16 23:15:31
いや、俺の自演だよ。
170:nobodyさん
06/06/16 23:31:31
mod_perl と SpeedyCGI どっちがいいの?
171:nobodyさん
06/06/16 23:35:07
>>170
mod_perl以外クソに決まってるだろ!
172:nobodyさん
06/06/16 23:36:35
>>171
マジレスすんなよ。
おもろないやつ。
173:nobodyさん
06/06/16 23:38:52
>>170
mod_perl以外を選ぶメリットは何もない。
174:nobodyさん
06/06/16 23:41:09
>>172
そのまま返す。
コピペだし。
175:nobodyさん
06/06/16 23:41:20
>>171 さん >>173 さん、ありがとうございます!
176:nobodyさん
06/06/16 23:43:17
>>175
わかってるようだな。
世界で一番優れた言語mod_perl!
177:nobodyさん
06/06/16 23:45:16
>>176
mod_perl って言語だったんですね!
明日早速会社のサーバに mod_perl 言語を入れて実稼働はじめます!
178:nobodyさん
06/06/16 23:46:13
>>175
いや、言語ではなく神だ。
まだまだだな。
179:nobodyさん
06/06/16 23:48:01
>>177
神を汚れたサーバに入れるなどおそれおおい。
神棚に飾っておけ。
180:nobodyさん
06/06/16 23:49:07
>>178-179
神などという抽象的な存在の話なら、板違いじゃないのかな。
181:nobodyさん
06/06/16 23:53:19
つまらんこというな。
182:nobodyさん
06/06/16 23:54:01
>>181
つまらんこというな。
183:nobodyさん
06/06/16 23:54:12 BE:371448476-#
面白いと思ってるのが痛い
184:nobodyさん
06/06/16 23:56:18
痛いと思ってるのが面白い
185:nobodyさん
06/06/16 23:56:23
このスレは脱線かバトル以外話題がないからな。
そんときだけ異様にのびる。
186:nobodyさん
06/06/16 23:57:03
> そんときだけ異様にのびる。
だって全部おれの自演だし
187:nobodyさん
06/06/16 23:58:02
俺の自演だって言ってるだろ。
188:nobodyさん
06/06/17 00:01:32
まあ、誰が何を主張しようと、言論の自由だもんね!
189:nobodyさん
06/06/17 00:10:56 BE:283008184-#
もっと有益な話をしてくれ
190:nobodyさん
06/06/17 00:11:32
煽り耐性なさ杉w
191:nobodyさん
06/06/17 00:14:20 BE:159191892-#
SpeedyCGIってlighttpdでも使えるん?
今実行できる環境にないので
192:nobodyさん
06/06/17 00:16:56
> SpeedyCGIってlighttpdでも使えるん?
使えないということにでもしたい?
193:nobodyさん
06/06/17 00:19:17 BE:318384094-#
ほぇ?
194:nobodyさん
06/06/17 00:23:38
> SpeedyCGIってlighttpdでも使えるん?
使えるよ。
Perlで完結するので、webサーバーは問わない。
195:nobodyさん
06/06/17 00:25:33 BE:283008184-#
>>194
ありがとう
バックエンドとか云うのは最初起動させとかなくていいの?
shebang行をspeedyに変えるだけでいいの?
196:nobodyさん
06/06/17 00:25:51
> Perlで完結するので、webサーバーは問わない。
デマですね。
/usr/bin/speedy は perl なのかと。
197:194
06/06/17 00:27:22
ただし、ActivePerlの場合は俺は知らん。
PC-UnixでPerlCGIが使えれば問題ない。
SpeedyCGIが入れられないとかいうなら別だが。
198:nobodyさん
06/06/17 00:29:35
> Perlで完結するので、webサーバーは問わない。
と
> ただし、ActivePerlの場合は俺は知らん。
> PC-UnixでPerlCGIが使えれば問題ない。
> SpeedyCGIが入れられないとかいうなら別だが。
とでは、異なる内容になっていますね。
199:194
06/06/17 00:35:58
>>195
> バックエンドとか云うのは最初起動させとかなくていいの?
> shebang行をspeedyに変えるだけでいいの?
変えるだけでOK。
最初に実行した時に勝手にインタプリタが常駐しネイティブコードもキャッシュされるよ。
ただし、デフォルト設定では1時間Callがなければ、すべて解放されてしまうので自分の環境に合わせてコマンドラインスイッチを。
URLリンク(perldoc.jp)
>>196
> /usr/bin/speedy は perl なのかと。
CPANでインストールできるし、Perlドキュメントにも載ってますが...?
Perlの公式リリースと思っても間違いではないはず。
200:nobodyさん
06/06/17 00:39:12
> CPANでインストールできるし、Perlドキュメントにも載ってますが...?
> Perlの公式リリースと思っても間違いではないはず。
CPAN に登録されていることと、Perl の公式リリースは何ら関係がありませんね。
そもそも「Perlの公式リリース」とは、具体的に何ですか?
201:nobodyさん
06/06/17 00:39:17 BE:141503982-#
凄い
ありがとう
環境が整ったらコンパイルしてみます
202:194
06/06/17 00:39:46
>>198
こだわるね。
正確に言えば、ActivePerlの場合は俺は知らんが、それ以外ならPerlで完結してるよ。
これでいいんだべか?
203:194
06/06/17 00:40:54
しつこい人は苦手でね。
疑うなら、自分でどうぞ。
204:nobodyさん
06/06/17 00:41:21
> 正確に言えば、ActivePerlの場合は俺は知らんが、それ以外ならPerlで完結してるよ。
バックエンドプロセスへ通信するために起動される実行ファイルは
Perl なのかと。
205:nobodyさん
06/06/17 00:42:30
デマばかり流している >>194 氏がかわいそうなので、
間違いを指摘するのは、このくらいでやめてあげてください。
206:194
06/06/17 00:44:43
お好きにどうぞ。
207:nobodyさん
06/06/17 00:45:18
間違いを認めないのは、みっともないねぇ。
208:194
06/06/17 00:47:06
何とでもお好きなように。
209:nobodyさん
06/06/17 00:50:36
>>204
> バックエンドプロセスへ通信するために起動される実行ファイルは
> Perl なのかと。
つ、SpeedyCGIのバックエンドはwebサーバーと無関係。
210:nobodyさん
06/06/17 00:56:47
>>209
> > バックエンドプロセスへ通信するために起動される実行ファイルは
> > Perl なのかと。
は、
>>198
> Perlで完結するので、webサーバーは問わない。
に関しての発言ですね。
> つ、SpeedyCGIのバックエンドはwebサーバーと無関係。
shebang を speedy の変更した場合、
httpd から perl 以外のバイナリが呼び出されて SpeedyCGI の
バックエンドプロセスとやりとりをするわけだから、
> Perlで完結
ということにはならない。
211:nobodyさん
06/06/17 01:03:48
>>210
まあ理屈ではなんとでも言えるよな。
誰もそんなことに関心はないわけだが。
212:nobodyさん
06/06/17 01:05:09
>>211
> 誰もそんなことに関心はない
という思考をしていると思われる人が、
何で >>211 のような記述をしてるのか謎ですね。
213:nobodyさん
06/06/17 01:05:55
???
214:nobodyさん
06/06/17 01:09:13
>>210
ほとんどカラミ癖だなw
215:nobodyさん
06/06/17 01:09:20
as you like
216:nobodyさん
06/06/17 01:11:10 BE:212256746-#
> shebang を speedy の変更した場合、
日本語でおk
217:nobodyさん
06/06/17 03:46:46 v+LZ4Y9O
このスレッドも高速化されてますね。
218:nobodyさん
06/06/17 04:07:05
speedyCGI試してみたけど、確かに速いね。
最初、dagのrpmを入れてみたけど、mod_speedycgiが入っていないのでsourceから起こしてみた。
手始めにhello worldを表示するだけのスクリプトで試すと、通常のCGIと、CGI版speedyCGIは
大差が無かったが、mod_speedycgiだと5倍程度のスピードが出た。
次に、上記hello worldにuse CGI; use DBI を付けてみたら、CGI版speedyCGIは、10〜20倍程度、
mod_s;peedycgiだと、100〜150倍程度のスピードになった。
ちなみに、PHP5.0.4でhello worldを出力すると、mod_speedycgiより、2割位遅い感じ。
PEAR DBをrequireすると、use CGI; use DBIしたCGI版speedyCGIと同程度のスピード。
普通のCGIや、PHP使うのが馬鹿らしくなってきた。
219:nobodyさん
06/06/17 09:36:53
>>218
マジ?
URLリンク(tbox.jpn.org)
ここマシンがリナザウだけどノーマルSpeedyCGIよりかなりベンチが落ちてたんだけど。
自分でも使ったが、自分の場合は体感差はなかった。
Apacheの設定はほとんど無いに近いが。
220:nobodyさん
06/06/17 09:43:47
日本語でおk
221:nobodyさん
06/06/17 09:49:36
>>218
> 通常のCGIと、CGI版speedyCGIは大差が無かった
CGI版SpeedyCGIで鯖運用してるが、通常のCGIから劇的に速くなったよ。
どこもそういうことになってるみたいだが。
CGI版SpeedyCGIは1発目の動作は
インタープリタ起動→常駐→コンパイル→キャッシュ→実行
となるから、遅い。
次回からは
最初の4ステップがなくなり実行のみになるので、急激に速度が向上する。
2回以上実行した?
222:nobodyさん
06/06/17 11:17:34
>>219
自分でも信じられなかったので、2台のマシン(Opteron ?GHz CentOS4.3とPen2 200MHz RH9)
で試したけど、同じような傾向が出た。
ザウルスのサイトも見ているんだけど、本当にmod_speedycgiで動かしているのかなという
気がしている。お恥ずかしながら、私も最初、大差無しの結果を出していたが、原因は、
LoadModuleをしただけで、cgi-binの下でcgiとして動かしてしまっていた事。マニュアルにある
様に、ディレクトリ切って、SetHandlerしたら、桁が上がった。
#!/usr/bin/speedy
use CGI;
use DBI;
print << "EOT";
Conent-Type: text/html
<html>
<head>
<title>test speedy</title>
</head>
<body>
Hello World
</body>
</html>
EOT
を、遅いマシンの方で、ab -n 10 URLリンク(localhost) みたいな事を今やったら、
CGI 1726.281 [ms]
SpeedyCGI(CGI版): 44.240 [ms]
mod_speedycgi: 10.990 [ms]
てな感じになりました。(Time per requestの値)
223:nobodyさん
06/06/17 11:19:33 BE:106128926-#
shebangをspeedyに変えても
ApacheでSuExecは有効になるんですかね?
224:nobodyさん
06/06/17 11:24:38
>>223
実際にはやってないのですまそ。
SpeedyCGIはSuExecはOKだったはず。
225:221
06/06/17 11:29:26
ソースは
URLリンク(rintaro.dip.jp)
ここを参考に作ったSpeedyCGI版nicky.cgi
ベンチ
ab -n 100 -c 10
CGI SpeedyCGI mod_speedycgi mod_perl
1回目 0.54 6.12 74.24 6.93
2回目 0.54 6.38 74.24 7.16
3回目 0.54 6.41 72.25 7.09
4回目 0.53 6.41 73.86 7.15
5回目 0.54 6.45 74.46 7.19
平均 0.538 6.354 73.81 7.104
あり得ない...
速い...
アパッチモジュール版SpeedyCGI最強。
>218は発見者
誰もmod_speedycgiは無視してたからな。
226:nobodyさん
06/06/17 11:39:03
>>221
上記のスクリプトから、use CGI; use DBI;を抜くと、
CGI: 49.640 [ms]
SpeedyCGI(CGI版): 43.361 [ms]
mod_speedycgi: 10.968 [ms]
という結果。
スクリプトの中身がほとんど無い状態だと、スピードに差が出なかった。
意味のあるスクリプトは、当然、ぐっと長くなるので、SpeedyCGI(CGI版)でも、劇的に
速くなったと感じられる筈。use CGI; use DBI;しただけで、150倍以上の差が出るので、
3桁の差が出る事も十分あり得そう。(普通のCGIが遅すぎるんだけど)
ちなみに、SpeedyCGIについては、2回立て続けにabし、2回目の結果を書いてます。
自分でも、速くなっている様だけど、???な所がある結果なので、追試して貰えれば、
何よりです。
227:nobodyさん
06/06/17 11:47:46 BE:433356577-#
おぉ凄い
228:225
06/06/17 11:49:50
>>226
確かに信じがたいよね。
検証します。
229:218,222,226
06/06/17 11:59:40
>>225
追試ありがとうございます。しかも、mod_perl付き。(^^)
それにしても、mod_speedycgi速いですね。
> 誰もmod_speedycgiは無視してたからな。
私は、一昨日あたりから真面目に調べ出したんで詳しくないんだけど、何でmod_speedycgi
は無視されてたんでしょうか?
あと、FastCGIは、speedyCGIよりも速度的に有利みたいな記述を見かけるけど、比較対象は
speedyCGI(CGI版)なんでしょうか?
これなら、Catalystを試してみても良いかなという気がして来た。
230:nobodyさん
06/06/17 12:47:40
とりあえず。
FastCGI:CGI一般
mod_perl, speedyCGI:perl用
って考えでok?
231:nobodyさん
06/06/17 13:09:03
> >218は発見者
> 誰もmod_speedycgiは無視してたからな。
アメリカ大陸を発見したような話か?
232:225
06/06/17 13:40:36
追試結果。
ぬかよろこびさせてすまそ。
>225の異常な高スコアはただのファイルとしてアクセスされていたためです。
修正後のベンチです。
CGI SpeedyCGI mod_speedycgi mod_perl
1回目 0.45 5.89 7.36 6.35
2回目 0.45 6.06 7.36 6.34
3回目 0.44 6.05 7.37 6.38
4回目 0.45 6.03 7.18 6.4
5回目 0.44 5.92 7.39 6.12
平均 0.446 5.99 7.332 6.318
(Requests per second)
お騒がせして申し訳ない。
233:nobodyさん
06/06/17 13:44:59 BE:397980195-#
SpeedyCGI単体でも十分速いな
234:nobodyさん
06/06/17 13:52:48
print するだけって、とても無意味なベンチですね。
235:nobodyさん
06/06/17 13:57:30
完璧なベンチ希望。
236:225
06/06/17 13:59:41
俺は貴重な時間を割いたので、これ以上はゴメンです。
完璧ではないのは確かですが。
完璧なベンチは難しい。
237:nobodyさん
06/06/17 14:00:00
まずは「完璧なベンチ」の要件から定義していかないとね。
238:218
06/06/17 14:31:37
>>232
お騒がせしました。
そうすると、mod_speedycgiは確かに速いけど、実際のアプリではファイルやDBへの
アクセスがあるから、speedyCGI(CGI版)との速度差はほとんど無くなると言う事の様
ですね。(ほとんどがオンメモリーで済む処理だと差が出るけど)
ちなみに、テストに使った Hello world をhtmlにして同じサーバに入れてベンチ取った
所、4.298 [ms]でした。
mod_speedycgiは、10.968 [ms] だったので、この2.5倍程度しか掛かっていない、という
事は、ぼちぼち限界。
アクセラレータとして、mod_perl,FastCGI,SpeedyCGIの比較で、>>52 の
「スピードはどれも意味のある差はない。」
は、正論だったんだなと再認識しました。
239:nobodyさん
06/06/17 14:32:11
じゃあ、無意味じゃないベンチでいいよ。
240:nobodyさん
06/06/17 14:37:42
>>239
例えばどんな条件?
241:nobodyさん
06/06/17 15:20:32
>>225
そのmod_perlはまさかpreforkじゃあるめぇな?是非workerでのベンチも宜しく。
242:225
06/06/17 15:37:55
>>241
> そのmod_perlはまさかpreforkじゃあるめぇな?是非workerでのベンチも宜しく。
まさかのpreforkだよ。
Apache1.3.33なのでworkerは使えないはず。
ボランティアではないから、Apache2インスコは勘弁してくれ。
243:225
06/06/17 15:40:36
まあ、時間ができた時にやってもいいな。
今日はもう時間がない。
無期限でというならやってもいいよ。
244:nobodyさん
06/06/17 16:48:09
ほら、やっぱり飽和させないと>ベンチ
245:nobodyさん
06/06/17 16:49:21 uEg75/Hh
いろいろ参考になります。ありがトン。
ところで、perlccでperlスクリプトをバイナリにしとくのって
cgiが速くなるのでしょうか。やってみればいいんでしょうけど。
246:nobodyさん
06/06/17 17:42:44 PIdwd3B2
SpeedyCGIってWindowsでは動かないのか?
247:nobodyさん
06/06/17 18:13:28
>>133の続きマダー?
248:nobodyさん
06/06/17 19:57:24
URLリンク(www.drk7.jp)
によると、FastCGIは、Segmentation Fault に悩まされる事がある様だけど、
ぶち当たった事がある人いる?
249:nobodyさん
06/06/17 23:26:08
なんかmod_perlというとmixiやhatenaが出てくるけど、
老舗/.もわるれないでほしいなぁ。
250:nobodyさん
06/06/18 05:24:04
糞遅いcrc計算とかmd5計算とかどうよ
251:nobodyさん
06/06/18 05:31:43
いやぁ、どうもこうもないですよ
252:nobodyさん
06/06/18 08:57:02
>>234
>>235
>>239
同じWebサーバを使い、同じPerlインタプリタと同じコンパイル済みのコードをメモリ上に
常駐させて処理するんだから、その処理時間は、mod_perl,SpeedyCGI,FastCGIのどれも
掛かる時間は一緒。
せいぜい差が出るのは、起動の際の時間。
コードの量が増えれば、起動時間の差が占める割合が低くなるから、コードの規模が
大きくなるに従って、三者の差は無くなって行く。
凝ったコードでベンチを取っても、「CGIは遅いが、mod_perl,SpeedyCGI,FastCGIはほとんど
差が出ない」という結果が出るだけ。
だから、「最小限のコード」でベンチを取るのは正解。
ただ、処理時間の「差」を見るのは良いが、「比率」を見てしまうと、間違いの基。
あとは、メモリを喰いすぎてswapを起こして遅くならないかとか、マルチ*な環境を有効に
使えるかとか、一度に多くのリクエストが集中した時に、適切に捌けるかと言った比較を
するのは意味がある。
253:nobodyさん
06/06/18 11:01:42
>>252
> あとは、メモリを喰いすぎてswapを起こして遅くならないかとか、
> マルチ*な環境を有効に使えるかとか、一度に多くのリクエストが
> 集中した時に、適切に捌けるかと言った比較をするのは意味がある。
よく意味がわかりません。
254:nobodyさん
06/06/18 11:12:02
>>252
> だから、「最小限のコード」でベンチを取るのは正解。
そうかな、むりやり差を出すのが正解とは思わないが。
> あとは、メモリを喰いすぎてswapを起こして遅くならないかとか
mod_perlは自分に対してのswapは、許してないよ。
プロセスごとkillされる。
255:nobodyさん
06/06/20 22:59:20
誰かPerlの本格的コンパイラ作らんかな。
できるはずなんだけど。
Basicのようにスクリプト、実行ファイル両立方式になればなあ。
一々グローバル変数初期化しなくてもよくなる。
スピードも上がる。
絵に描いた餅ですまそ。
256:nobodyさん
06/06/21 02:12:20
妄想するのは構わないがリサーチもせんと書き込むな
257:nobodyさん
06/06/21 07:25:59 vwMWqBxm BE:151564-#
perlccってあんまりはやらんですよね。
258:255
06/06/21 10:21:51
確かに妄想なんだがリサーチしようがないだろう。
似たような事例にGCC-JAVAがあるのは知ってる。
これ、Javaソースからネイティブコードにコンパイルする。
でもJava自体にJITコンパイラがあるから、Javaでは無視されている。
GCC-PERLがあればなあ。
259:nobodyさん
06/06/21 18:48:07
>リサーチしようがないだろう。
>リサーチしようがないだろう。
>リサーチしようがないだろう。
URLリンク(www.google.co.jp)
260:nobodyさん
06/06/21 18:50:21 BE:238789139-#
PARはPerlのDLL全部ぶち込んで
スクリプトをZIP圧縮してるだけだし
261:nobodyさん
06/06/21 19:23:28
>>259
perlccばっかりやん。
役にたたんのはわかってるんでねえ?
262:nobodyさん
06/06/21 19:26:27
gcc-perlってある意味理想でねえ?
263:nobodyさん
06/06/22 16:38:10
perlccはバイトコードに変換してるだけだからね。
バイトコード間でもバージョンが違うと動かないし。
264:nobodyさん
06/06/23 02:29:54 ybv8oJFI
漏れが>>245で、2006/06/17(土) 16:49:21にperlccのこと
質問したのに、無視しといて、>>257が質問したら、急に
レスが付くって、本当にありがとう。
265:nobodyさん
06/06/23 06:47:43
ここにはレスしなければならないという義務が存在するのか?レスをするのもしないのも自由。
大人は質問に答えたりしない
それが基本だ お前たちはその基本をはきちがえているから
今朽ち果てて こんな船にいるのだ
無論中には 答える大人もいる
しかし それは答える側にとって
都合のいい内容だからそうしているのであって
そんなものを信用するってことは
つまりのせられているってことだ
なぜそれがわからない・・・・?
なぜ・・・・ そのことに気付かない・・・・?
266:nobodyさん
06/06/23 12:15:30 BE:132660735-#
カイジ厨乙
267:243
06/06/23 12:38:21
>>264
今度、ベンチとるときにperlccもやるつもりだったよ。(-Bオプションのみ)
レスはしなかったが。
268:nobodyさん
06/06/23 15:46:55 6y25kE0L
mod_perlのPerlRegistry + Apache::DBIな永遠DBI接続みたいなもんは
mod_speedycgiにあるのかな?
DBをあつかってるシステムならPerlRegistry+Apache::DBIがベストだと思ってたけど
ApacheとDBのプロセスで食いつぶれるメモリの配慮でツカレタよ。
なんかmod_speedycgiよさげだね。
269:nobodyさん
06/06/23 15:51:08
最大メモリ使用量 積めるだけ
270:nobodyさん
06/06/23 22:15:44
>>268
フロントコントローラしてくれる手軽なFWがあれば便利なんだけど。
perl -MCPAN -e "Bundle::Maypole" したら、あまりにも大袈裟なんで、めげた。
271:nobodyさん
06/06/25 04:11:20
>>245
バイトコードへの変換はそれほどコストが掛かる訳じゃないので
perlccでバイトコードへ変換してもそれほど高速にはなりません。
とはいえ実測では1割程度の速度アップが見られました。
誰もが初めからレス見てると思うなよ、ガラスの十代め。
272:245
06/06/25 09:47:47 HMa92uFN
>>271
誰をガラスの十代って言ってるのかとおもたらこの漏れのことか。
とてもご親切にありがとう。これから「ガラスの十代」ググってきまつ。
273:nobodyさん
06/06/25 09:56:40
涙で見えなくてカに「゛」を打ち忘れるなよ。
274:267
06/06/25 22:58:06
workerのベンチをある程度とれたので公開。
測定環境
K6-2 475MHz
SDRAM 512MB
Vine3.2最小構成+α
Apache2.0.58、mod_perl、SpeedyCGIはソースからコンパイル。
httpd.conf、コマンドラインスイッチはデフォルトのまま使用(Alias等のみhttpd.confに追加)。
mod_speedycgiはworkerで動かない模様(エラーログにスレッド下で動かしたとでる)なのでとっていない。
ノーマルCGIとperlcc -Bは一度クラッシュすると数分間CPU全開になるため、1回目で×の場合2回目以降はとっていない。
mod_perl、SpeedyCGIはクラッシュ後すぐに回復するのでその後も継続。
mod_perl、SpeedyCGIは1回目に必ず初期化が起こる条件で測定。
(mod_perlはApache再起動、SpeedyCGIはソースをtouch)
(これはリソースの解放の意図も含む)
以下、結果レポート。
275:267
06/06/25 22:59:21
ab -n 20 -c 1
CGI perlcc -B SpeedyCGI mod_perl worker
1回目 0.45 1.24 2.33 2.37
2回目 0.45 1.25 6.90 7.87
3回目 0.45 1.25 6.90 7.95
4回目 0.45 1.25 6.91 7.95
5回目 0.45 1.25 6.95 7.89
平均 0.45 1.25 6.00 6.81
Requests per second
ab -n 20 -c 10
CGI perlcc -B SpeedyCGI mod_perl worker
1回目 0.44 1.14 1.87 0.59
2回目 0.44 1.16 5.53 4.28
3回目 0.43 1.16 5.53 5.52
4回目 0.37 1.13 5.13 4.82
5回目 0.44 1.16 5.09 4.61
平均 0.42 1.15 4.63 3.96
Requests per second
ab -n 20 -c 20
CGI perlcc -B SpeedyCGI mod_perl worker
1回目 ABORT 0.97 1.75 0.59
2回目 ABORT 1.00 4.64 4.60
3回目 ABORT 0.97 4.77 ABORT
4回目 ABORT 0.95 5.43 3.01
5回目 ABORT 0.95 4.86 4.31
平均 #DIV/0! 0.97 4.29 3.13
Requests per second
276:267
06/06/25 23:00:12
ab -n 20 -c 40
CGI perlcc -B SpeedyCGI mod_perl worker
1回目 ABORT 0.69 1.13 ABORT
2回目 ABORT 0.50 5.19 ABORT
3回目 ABORT 0.60 5.29 5.05
4回目 ABORT 0.54 5.57 0.80
5回目 ABORT 0.69 4.99 5.05
平均 #DIV/0! 0.60 4.43 3.63
Requests per second
ab -n 20 -c 100
CGI perlcc -B SpeedyCGI mod_perl worker
1回目 ABORT 0.51 1.25 ABORT
2回目 ABORT ABORT 4.48 1.88
3回目 ABORT ABORT 4.39 0.85
4回目 ABORT ABORT 2.32 0.92
5回目 ABORT ABORT 3.99 2.42
平均 #DIV/0! 0.51 3.29 1.52
Requests per second
ab -n 20 -c 150
CGI perlcc -B SpeedyCGI mod_perl worker
1回目 ABORT 0.54 1.14 ABORT
2回目 ABORT ABORT 2.23 0.40
3回目 ABORT ABORT 1.57 1.14
4回目 ABORT ABORT 4.77 1.28
5回目 ABORT ABORT 4.73 0.97
平均 #DIV/0! 0.54 2.89 0.95
Requests per second
277:267
06/06/25 23:00:54
ab -n 20 -c 200
CGI perlcc -B SpeedyCGI mod_perl worker
1回目 ABORT 0.50 1.08 ABORT
2回目 ABORT ABORT 5.10 1.76
3回目 ABORT ABORT 1.12 0.66
4回目 ABORT ABORT 1.19 0.69
5回目 ABORT ABORT 1.18 0.64
平均 #DIV/0! 0.50 1.93 0.94
Requests per second
278:267
06/06/25 23:02:49
以上で全て。
ABORT時のメッセージはどれも
The timeout specified has expired (70007)
で同じ。
279:267
06/06/25 23:26:46
追記
使用ソース
運用中nicky.cgi改(SpeedyCGI、mod_perl対応)
280:nobodyさん
06/06/25 23:39:37 9F1oBnAV BE:101344-#
ab -n 20 -c 1とかのオプションってどういう意味なんでしたっけ?
281:nobodyさん
06/06/25 23:40:32 BE:397980195-#
URLリンク(www.atmarkit.co.jp)
ここら辺どぞ
282:nobodyさん
06/06/25 23:49:53
>>232,>>275を比べると、両者で測定条件が違いそうだけど、prefork,workerの差は、
あまりないと言う事かな?
それにしても、SpeedyCGIは強いね。
283:282
06/06/26 00:27:02
>>282
測定条件は違います。
前回:Vine3.2フルインストール(Apache1.3.33、mod_perl含む)+SpeedyCGIソース
今回:Vine3.2最小インストール+コンパイル環境+Apache2.0.58ソース(workerでコンパイル)+mod_perlソース+SpeedyCGIソース
なぜこのようになったかというと、Apache2環境のアクセラレータがディストリのものではうまく揃わなかったからです。
Vine、Debianを試しましたがApache1しか揃いません。
>prefork,workerの差は、あまりないと言う事かな?
前回がApache1だし、-c 10の場合しかとってないので、
次回:Vine3.2最小インストール+コンパイル環境+Apache2.0.58ソース(preforkでコンパイル)+mod_perlソース+SpeedyCGIソース
で同条件のベンチを取ってみます。
cが大きくなった場合が違う?
今度はmod_speedycgiもとれるかと。
余裕があればFastCGIも追加します。
284:267
06/06/26 00:30:33
↑トリップ282×→267○
285:nobodyさん
06/06/26 07:53:28
>>283
これ読んで気づいたけど、今回のS;peedyCGIは、mod_speedycgiではなかったんですね。
それから、mod_perl workerはRegistryだと思うけど、PerlRunの結果と、1回で良いから、
同一内容のhtmlを静的コンテンツとして取り出した際の値も併記してもらえれば嬉しい
です。
286:267
06/06/26 09:34:03
>>285
了解。
実運用のNicky!のデータを吸い込ませたので、同一内容のhtmlは元々有ります。
ただ、mod_perlと併用した場合とかなると条件をどうするか面倒なのでできれば静的コンテンツ単体で取りたいです。
複雑なものは、基本的なものが揃ってから。
後、ディストリはGentooがよかったかな。
ちょっと構築に時間がかかるけど。
287:nobodyさん
06/06/26 20:13:13
-n 20 -c 200って変じゃない?
200並列全体で20回のリクエストでしょ?
更に-c 20以上はmod_perlとかだとワーカを再利用しない初期化速度を計測しているような気がする。
288:267
06/06/26 20:30:46
> -n 20 -c 200って変じゃない?
http.confはいじってないのでMaxClients150のままです。
MaxClients150でc 200のときにどうなるのか興味があったので、あえて200を試しました。
> 更に-c 20以上はmod_perlとかだとワーカを再利用しない初期化速度を計測しているような気がする。
すいませんが、よく意味がわかりません。
新しくプロセスを起こしてしまっているという意味でしょうか?
私はデータを提供しただけなので、問題があれば自分で反論を証明するデータを提出してください。
少なくとも「気がする」というような反論は勘弁してもらいたいです。
289:267
06/06/26 20:41:23
あと、データ提供時に説明不足な点がありました。
perlcc -Bの時に2回目からクラッシュするパターンが多いですが、
実はこれは1回目が終わったあと動作が異常に重くなっていました。
恐らくCPU全開が数分間続くパターンに入っていたと思います。
次回検証します。
後、mod_perlの1回目がロースコアかつクラッシュが多い点について。
私見ですが、mod_perlはperlインタープリタを複製するのに、Apacheのプロセスを複製する必要があります。
当然1回目の起動コストは高くなると思います。
290:nobodyさん
06/06/26 22:49:50
>>288
>>287 が言っている事は、
-n 20 -c 200 だと、200回の同時接続要求を出すのに、全体のリクエスト数が
それ以下の20回と言うのはおかしい。nの値は、cより大きい筈ではないか、
ではないかと思います。
もし、同時接続200を20回繰り返すという意図なら、-n 4000 -c 20 という感じか
なと。(abが、リクエスト完了の後、すぐに次のリクエストを発行すれば、-n 4000
が、この意図を満たすのに適当な値ではないのですが)
ちなみに、n < c の場合、少なくとも、c回のリクエストは発行する様です。
291:nobodyさん
06/06/27 00:20:58
こんな場所に匿名で貼られたオナニーベンチなんかだれも信用しないし、
べつにどんな方法でどうでもいいんじゃないかな。
292:nobodyさん
06/06/27 03:14:50 I9hdLSDQ BE:189656-#
>>291
嘘をつくメリットもないので、
参考にはなると思いますよ。
293:nobodyさん
06/06/27 03:21:02
ひろゆ子、このスレにいたのか・・・
294:nobodyさん
06/06/27 03:27:58
>同時接続200を20回繰り返すという意図なら、-n 4000 -c 20 という感じかな
-n:リクエスト数
-c:同時接続数
で、-n 20 -c 200 とか思ってたけど、奥深いんやね
295:nobodyさん
06/06/27 04:02:48
>>292
嘘をつくメリットがないと、参考になるというのは、すごくはつみみですね。
296:245
06/06/27 04:46:08 z6n+0wh9
動機がないと犯人にしづらいというのと同じだろ。
297:267
06/06/27 05:02:55
>>287
>>290
失礼。
>290のいう通りの間違い。
やり直します。
298:nobodyさん
06/06/27 10:09:21 BE:176880454-#
ab -n 20 -c 20 までの結果を見ても
mod_perlはでかいメモリ間コピーをするから遅いってのが分かるじゃん
299:nobodyさん
06/06/27 10:39:42
>>291
そもそも、ベンチの結果なんて取り方によって変わって来るわけで、
267が書いている結果を、そのまま鵜呑みにする事は間違った判断
だと思う。その意味では、私も「信用」はしていない。
しかし、オナニーベンチの積み重ねで、一般的な傾向は見えると思う
ので、「参考」になるとは思っている。
また、今までCGI、SpeedyCGI,FastCGI,mod_perlを比較したベンチを
目にする機会があまりなかったので、ネット上の情報を見て、
CGI << SpeedyCGI < FastCGI < mod_perl(Registry)
だと思い込んでいたが、SpeedyCGI,FastCGI,mod_perlの速度は大差
がなく、順番だって怪し事が分かった事は、とても良かったと思う。
ちなみに、このスレを最初から読めば、267が匿名とは言い難い気がする。
300:nobodyさん
06/06/27 11:17:41
十分参考になってるよ。
ありがと>>267
301:nobodyさん
06/06/27 11:32:54
俺も感謝してるぜ。難癖付けるやつはどこにでもいるだろうから気にしないで欲しい。
302:nobodyさん
06/06/27 11:34:55 BE:72171432-#
難癖つけてるのは一人。
それもmod_perl厨w
303:nobodyさん
06/06/27 18:14:29
>>268
URLリンク(perldoc.jp)
のFAQには、
> ・データベースへの接続を持続させたままにするにはどうすればよいですか?
>
> グローバルの値は実行をまたがって保持されるので、これを行う一番よい方法は接続を
> グローバル変数に格納し、実行のたびにその変数が既に定義されているかをチェックする
> ことです。
と書いてある。
304:nobodyさん
06/06/28 01:04:03
> ちなみに、このスレを最初から読めば、267が匿名とは言い難い気がする。
URLリンク(dictionary.goo.ne.jp)
> 自分の実名を隠してあらわさないこと。また、実名を隠して別の名を用いること。
匿名とは何か、定義を教えていただきたい。
305:nobodyさん
06/06/28 01:51:08
>>304
> 匿名とは何か、定義を教えていただきたい。
自分の実名を隠してあらわさないこと。また、実名を隠して別の名を用いること。
306:nobodyさん
06/06/28 02:08:26
難癖厨
307:268
06/06/28 03:14:36
>>303
アザース
mod_speedycgiもメモリ使用量が肥大しないようなので
今動かしてるシステムをmod_speedycgiに移行させる予定。
mod_speedycgiのレポートはこれからかな?
ググみたけど障害系のレポートが見つからなかったのが不安
308:nobodyさん
06/06/28 09:43:30 BE:247632847-#
専門系板の名物だな
309:nobodyさん
06/06/28 18:03:20
>>307
mod_speedycgiが入ってないのは、worker下ではエラーになったからです。
preforkで取るつもりです。
現在は、workerを取り直し中です。
310:274
06/06/29 02:24:13
>287氏、>290氏からパラメータの不備を指摘されたので、再測定。
K6-2 475MHz
512MB
Vine3.2最小インストール+コンパイル環境+Apache2.0.58ソース(workerでコンパイル)+mod_perlソース+SpeedyCGIソース+FastCGIソース
今回のパラメータでの結果は、cが大きい時のレスポンスの落ち込みが少ないが、前回のパラメータと併せて再現性確認。
またPerlRunのスコアがCGIより悪いという?な点もあるが、これも再現性確認しているので公開。
perlcc -Bが2回目にクラッシュするパターンは1回目終了時にCPU全開が続いていることを確認。
以下、結果報告。
311:nobodyさん
06/06/29 02:28:32 ZFDM74Ge BE:151283-#
わくわく。
312:274
06/06/29 02:34:01
ab -n 10 -c 1
CGI perlcc -B SpeedyCGI fastcgi Registry PerlRun html
1回目 0.45 1.24 2.38 2.68 1.32 0.32 189.81
2回目 0.45 1.24 6.96 7.60 7.87 0.34 222.72
3回目 0.45 1.24 6.87 7.48 7.95 0.33 219.93
4回目 0.45 1.24 6.93 7.51 7.85 0.34 224.07
5回目 0.45 1.24 6.92 7.50 7.93 0.34 222.52
平均 0.45 1.24 6.01 6.55 6.58 0.33 215.81
Requests per second
ab -n 100 -c 10
CGI perlcc -B SpeedyCGI fastcgi Registry PerlRun html
1回目 0.45 1.20 5.64 5.52 2.11 0.32 237.32
2回目 0.44 1.20 6.41 7.50 1.22 0.33 242.48
3回目 0.45 1.21 6.47 7.52 5.13 0.33 242.96
4回目 0.45 1.21 6.49 7.49 5.36 0.33 241.45
5回目 0.45 1.21 6.45 7.48 5.19 0.34 242.16
平均 0.45 1.21 6.29 7.10 3.80 0.33 241.27
Requests per second
313:274
06/06/29 02:38:35
ab -n 200 -c 20
CGI perlcc -B SpeedyCGI fastcgi Registry PerlRun html
1回目 ABORT 1.19 5.26 3.89 ABORT 0.33 231.57
2回目 ABORT 1.19 6.41 7.39 5.38 0.33 239.48
3回目 ABORT 1.20 6.41 7.38 5.56 0.33 240.23
4回目 ABORT 1.20 6.33 7.41 5.53 0.34 238.80
5回目 ABORT 1.19 6.37 7.35 5.54 ABORT 239.41
平均 #DIV/0! 1.19 6.16 6.68 5.50 0.33 237.90
Requests per second
ab -n 400 -c 40
CGI perlcc -B SpeedyCGI fastcgi Registry PerlRun html
1回目 ABORT 1.18 5.47 5.10 ABORT 0.33 230.60
2回目 ABORT 1.17 6.43 7.35 ABORT 0.35 231.21
3回目 ABORT 1.16 6.45 7.38 4.17 ABORT 233.83
4回目 ABORT 1.16 6.35 7.33 2.89 0.35 236.18
5回目 ABORT 1.17 6.31 7.03 6.63 ABORT 235.31
平均 #DIV/0! 1.17 6.20 6.84 4.56 0.34 233.43
Requests per second
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5314日前に更新/192 KB
担当:undef