02/10/15 10:42 .net
掲示板はYahooのジオボードでも使っているように.htmlファイルを作成するようにする
データベース系はGoogleのように検索されたものを必ずキャッシュして次回同じ語が検索された時に備える
3:nobodyさん
02/10/15 10:44 .net
いちいち負荷を気にしてるようじゃァ、やらないこった!
4:nobodyさん
02/10/15 10:48 .net
>>3
負荷軽減は速度アップに繋がる事が多い
5:ジークハルト ◆VUxx/EwNXI
02/10/15 10:51 ifgLRUyb.net
>>2
なるほど、、、
>>3
負荷を気にする人のためのスレよ
6:nobodyさん
02/10/15 10:52 .net
負荷軽減と速度アップは相反することが多い。
アルゴリズムの工夫なら速度アップにつながる事が多い。
7:nobodyさん
02/10/15 11:01 .net
負荷かかる順番としては
Ruby>>Java>>Perl>>PHP>>>>>>>>>C++
と考えていい?
8:nobodyさん
02/10/15 11:03 .net
PHPでもXREAの凍結対象になる程かなり負荷かかるんですが
何かいい方法は?
9:nobodyさん
02/10/15 11:07 .net
>>4,>>6
どっちが正解?
10:nobodyさん
02/10/15 12:42 .net
やっぱPerlで掛け算とかは負荷になるのかな?
内部でOPコードが処理してるのなら足し算も掛け算も一緒だろうけど。
11:nobodyさん
02/10/15 12:49 .net
>>10
そうなん??
12:nobodyさん
02/10/15 15:25 .net
>>8
XREAってモジュールのやつはなくなったの?
13:nobodyさん
02/10/15 15:26 .net
>>12
え?モジュールって?
14:nobodyさん
02/10/15 15:27 .net
>>13
mod_phpで動かしてる鯖
15:ジークハルト ◆VUxx/EwNXI
02/10/15 15:28 .net
>>13
XREAの規約に
●PHPの動かし方がわからないのですが?
public_html内で動作させる場合は、CGIとしてのみご利用可能です。
shared_htmlで動作させる場合は、モジュール版PHP(SafeMode付き)で
実行できます。
ってあったから
shared_html内に入れれば負荷は軽減できるはず。
16:nobodyさん
02/10/15 15:30 .net
>>15
まさかモジュール版とCGI版で同じソース使う気か?
(((( ;゚Д゚)))ガクガクブルブル
17:13
02/10/15 16:37 .net
>>15,>>16
shared_htmlって所に入れましたが同じソースで何か問題あるんですか
18:AAAA
02/10/15 16:54 .net
モジュール版ってCGIに比べてどれくらい負荷軽減出来るの?
3分の1くらいか?
19:nobodyさん
02/10/15 17:22 .net
やっぱ、重要なサイトは押さえておきたいな。
URLリンク(www.math.tohoku.ac.jp)
他にある?
20:nobodyさん
02/10/15 17:35 .net
>>18
URLリンク(perl.apache.org)
の下の方に、hello.cgiがmod_perlだと、243/7.3倍に
なるそうだ。hello.cgiのコードも書いてあるけど、まあ、相当な
もんだなや。
21:nobodyさん
02/10/15 17:35 .net
>>19
某無料スペースで掲示板CGIを2500個設置したら
2日で消された
22:nobodyさん
02/10/15 17:39 .net
>>21
自業自得ってことで
23:nobodyさん
02/10/15 17:40 .net
負荷軽減の極意
(1)Perlを使うなPHPで書け
(2)PHPはApacheのモジュールを使え
24:21
02/10/15 17:41 .net
>>22
FTPへのアップに一晩かかったってのに(泣
25:age
02/10/15 17:42 .net
負荷かかる順は
Ruby>>Perl>>PHP>>>>>>>>>>>>Java
か?
26:nobodyさん
02/10/15 18:00 .net
>>24
(プ
被害者は君じゃなくて"某無料スペース"の方。
27:_
02/10/15 19:18 .net
>>21
2500個もの掲示板を何に使うんだ?
俺は都道府県掲示板っつーのを作った事があるが、掲示板タイトルを
それぞれ都道府県名に変えるだけでもウンザリしたよ。
28:nobodyさん
02/10/15 20:30 .net
>>23
Perlもモジュールで動かせるけどな
29:21
02/10/15 20:32 .net
>>27
レンタル掲示板のサービス
30:nobodyさん
02/10/15 20:34 .net
>>17
問題ありますねぇ
この辺りはマニュアルを読んだ方がいいと思う
ソースを変更しないならshared_htmlに置かないで普通にCGIとして動かした方がいい
31:nobodyさん
02/10/15 20:35 .net
>>29
(・∀・)カエレ!!
32:nobodyさん
02/10/15 20:44 .net
>>29
氏ね!
33:nobodyさん
02/10/15 21:21 .net
>>29
専用サーバ借りてください。
つーか回線も要るけどな。
お前みたいな厨はホント邪魔。
34:nobodyさん
02/10/15 23:22 .net
レンタル掲示板するにしても、
2500個て・・・
1ユーザー、1スクリプトなんだぁw
35:21
02/10/15 23:37 .net
>>34
1ユーザ1スクリプトが当たり前でしょ?
それ以外何があるのさ
36:nobodyさん
02/10/15 23:39 .net
>35=21
ある意味すげぇ
37:nobodyさん
02/10/15 23:43 .net
>>35
ワラタ
38:21
02/10/15 23:56 .net
>>36,>>37
ダメなの?
39:nobodyさん
02/10/16 00:06 .net
無料鯖の時点でダメ。
40:nobodyさん
02/10/16 00:07 .net
>>21
その掲示板にバグが見つかったら、2500個すべて直すのか?
どうせ広告貼ってるんでしょ?
その広告がボツになったり、もっと良い広告があったら
2500個すべて張り直すのか?
申し込みがある度にアップするのもメンドイ
簡単な例をあげると
「魔法のあいらんど」
URLリンク(ip.tosp.co.jp)ユーザー名
元は「i.asp」一個だけ
41:21
02/10/16 00:12 .net
>>40
あ・・・・・
今気付いた・・・・・
どうしよう・・・・・
42:21
02/10/16 00:15 .net
複数設置用を1個用に改造するのって簡単かな・・・・?
43:ジークハルト ◆VUxx/EwNXI
02/10/16 00:23 .net
>>42
そんな君にはこれがオススメ。
URLリンク(cgiroom.nu)
44:nobodyさん
02/10/16 00:27 .net
清々しいまでに阿呆だ。
まぁ取り合えず専鯖借りれ。話はそれからだ。
45:21
02/10/16 00:34 .net
>>44
専鯖借りたらPHP直してくれる?
46:nobodyさん
02/10/16 00:34 b9+Rgnoa.net
>>27
都道府県ということは47個だろ?なら5000個なんてとんでもない個数だな。。。
47:nobodyさん
02/10/16 00:35 .net
>>45 ふざけんなボケ
48:21
02/10/16 00:38 UJRd9C8p.net
>>47
うっさいハゲ氏ね
49:nobodyさん
02/10/16 00:41 .net
とうとう21は自分が禿であることをカミングアウトした訳だが。
50:nobodyさん
02/10/16 01:26 .net
>>46
つーか1つでできる
51:nobodyさん
02/10/16 01:28 .net
----------このスレッドは終了しました--------
52:nobodyさん
02/10/16 06:19 z+MacZfD.net
つか、掲示板スクリプトにちょっと手直ししてやるだけで1つだけで複数の掲示板が使えるじゃん。
ファイル名、タイトル名などの情報をデータファイルに書き込んで、変数で取得したユーザーIDと一致すれば
それを適用すりゃいいんだし。
53:nobodyさん
02/10/16 06:31 .net
* 危険 *
厨に知識を与えないで下さい。
54:nobodyさん
02/10/16 07:08 .net
>>53
同意。どうせ汚染チェックすらしない糞スクリプトが出来るだけ。
55:1
02/10/16 08:36 .net
あのー、
負荷軽減対策スレなんですけど(汗
56:nobodyさん
02/10/16 09:31 8AIPTE76.net
mod_gz使って転送するかどうか迷っています。
gz読めるブラウザって、どのくらいの割合なんでしょうか。
また、gzする負荷と疥癬の負荷を考えると。ううむ
ケースバイケースですね。
57:nobodyさん
02/10/16 10:08 .net
>>56
gz問題無いと思うよ
58:nobodyさん
02/10/16 10:24 pcpH7Mcq.net
軽い掲示板はここ行って
URLリンク(www.i-say.net)
これで検索しる。
HTML html
59:nobodyさん
02/10/16 10:28 .net
シンプル、ツリー、iモード掲示板をチェックしてor検索ね。
60:マリモーマ
02/10/16 10:32 jc3XYznE.net
sub{
}
を 全部 別ファイルに 分けるのは どうかな?
61:nobodyさん
02/10/16 10:57 .net
>>60
大して知識も無いのに発言するのは止めたほうがいい
大多数の一般人に誤解を与えかねん
62:21
02/10/16 11:03 .net
質問していいですか
仮に2500個の掲示板を設置するとして、
共用サーバでそれやったらアホだけど
専用サーバなら何の問題も無いかな?
ダウンしたりしないかな?
重くならない?
63:nobodyさん
02/10/16 11:05 .net
>>21
君はもうここに書かない方がいいよ。
君のためにも他の人のためにも。
64:21
02/10/16 11:45 .net
>>63
頼みます 教えてください!
65:nobodyさん
02/10/16 11:51 .net
荒らしまがいの糞レスが散らばってますが、
負荷軽減ってそもそも誰かのために不利になることってあります?
その筋の荒らしではないかと小一時間。
66:nobodyさん
02/10/16 11:53 .net
ソース書き直す必要がでてきたらめんどいってことかな。
67:nobodyさん
02/10/16 12:06 8AIPTE76.net
>>62
あのお。なんのために「制御構造」とがあって、「くりかえし」ができるようになっているのか考えてことがありますか?
68:nobodyさん
02/10/16 12:08 8AIPTE76.net
>>57
サンクス。gzやってみます。
69:Tech ◆kKlzwv9K3g
02/10/16 12:10 .net
>>65
共有サーバ使ってる時負荷大きいと同じサーバ上の他会員が迷惑すると思うが
70:21
02/10/16 12:11 .net
>>67
つーか意味わかんないんだけど
こちら小学生なんでもっとわかりやすく頼みます
71:nobodyさん
02/10/16 12:14 .net
実際に自前で鯖立ててやってみ。
そこまでできるようになったら知識もついて
もうちょっとましな方法が思いつくだろ。
72:nobodyさん
02/10/16 12:23 CHU8gz5p.net
>>70
幼女ならJAPU氏が優しく教えてくれるかもしれませんよ(藁
73:21
02/10/16 12:59 .net
>>70
俺はオトコだ
名前は橋本秀明
年は11
鹿児島県在住じゃけぇ
74:nobodyさん
02/10/16 13:01 .net
>>73
自作自演?
75:nobodyさん
02/10/16 13:02 .net
鹿児島の人間じゃないことだけは確かなようだ。
76:21
02/10/16 13:04 .net
>>74
誰とだ
>>75
何で分かるんだよ?
77:ジークハルト ◆VUxx/EwNXI
02/10/16 13:06 .net
>>76
「負荷軽減対策」っつってんでしょ
レンタル掲示板関係はよそ行って下さい
78:nobodyさん
02/10/16 14:02 YPyufUJw.net
「Writing Efficient PHP」とか。
URLリンク(www-105.ibm.com)
79:nobodyさん
02/10/16 14:22 .net
----------このスレッドは終了しました--------
80:nobodyさん
02/10/16 14:23 .net
兎に角Yahooに倣え
和塩含めて、負荷軽減はかなり追求してるから
81:nobodyさん
02/10/16 15:40 .net
小学生で引き篭もりでつか。
82:nobodyさん
02/10/16 15:52 .net
apache軽量化するのが一番効果ある。
mod_perlより、普通のcgiのほうがトータルのスケーラビリティは
上という場合もある。
いらないモジュールは全て削る。
モジュールはスタティックにコンパイルする。
あと、httpd.confの書き方も重要。
perlで言えば、超軽量のhttpd+speedyCGI
これが最もサーバーに負荷をかけない。
83:ジークハルト ◆VUxx/EwNXI
02/10/16 16:00 .net
>>82 を負荷軽減対策委員長に命ずる
84:nobodyさん
02/10/16 16:49 .net
SpeedyCGIはお手軽だねぇ
85:nobodyさん
02/10/16 18:00 8AIPTE76.net
phpでメソッド呼び出したときの内部変数って、メソッドが実行し終わったら
unset()されるのでしょうか。
たとえば、メソッド内でファイルを読み込んだ入りして、
場合によっては$hogeのサイズが100k超えたりするわけです。
それから、HTMLに書き出す内容をすべて変数に入れちゃって、あとでまとめて
echoする方法をとっていたりすると、結構その変数のサイズ大きくなりますよね。
ご教授お願いします。
86:nobodyさん
02/10/16 19:21 .net
大量のレコードを処理するときは、一行づつ読み込こめば、軽くなるよ
んで、出力するのだけ、メモリに入れればオッケーと思います
87:デフォルトの名無しさん
02/10/16 21:33 .net
小学生またまた乱入。
要するに、いろいろな要因の絡み合いだから、場合によってってところだね。
0)使用言語の選択
1)プログラム(スクリプト)の設計
1-1) メモリ領域
1-2) CPU時間
3)アクセス数
4)サーバのキャパシティ
5)他には?
これをうまく図で表せればいいですね。僕はまだ習ってません。
88:デフォルトの名無しさん
02/10/16 21:35 .net
>>86
だから、軽くなっても長くかかるのはどうかなぁと。
アクセス数が少ないサイトなら重くても速いのがいいんじゃぁと。
89:nobodyさん
02/10/16 22:25 .net
まあアクセス増えた後自分の首絞めたいならどうでも良いよ。
90:nobodyさん
02/10/16 22:33 vfA8qHJl.net
このタイトル、ひかれますね。
私は今、チャットの負荷軽減を頑張っています。
使用しているのはKENT-WEBのYY-CHAT。
現在は分割処理で
ログ表示CGI
フォーム部分CGI
書き込みCGI
退室CGI
入室前CGI
に分割させ、いらない機能はすべて取り外しました。
さらにこれから
(1)そのスクリプトをC言語化
(2)新規発言のみを読み込むJavaプログラムを追加
させようと考えています。
91:nobodyさん
02/10/16 22:43 QZ0dtDWe.net
PHPですが、
$hoge = "<img src=\"$foobar\">\n";
と書くのと、
$hoge = "<img src=\"". $foobar ."\">\n";
と書く方法がありますが、
どちらがよいのでしょうか。
私は、エディタのハイライト機能で変数の色を変えていため、後者を使っています。
でもいっぱい変数を使う文字列だと、前者のほうが便利だね。
92:nobodyさん
02/10/16 23:12 .net
このスレの中で>>1は一度も役に立っていない
93:nobodyさん
02/10/16 23:21 YIcW4FL9.net
>>91
単純に、後者の方が動作が速いとどこかで聞いた記憶があるので、
いつも後者にするようにしてます。
94:nobodyさん
02/10/16 23:29 .net
>>91
$hoge = "<img src='$foobar'>\n";
という方法もある(たいしたこと無いが
95:nobodyさん
02/10/16 23:44 wbW/xBZm.net
書きやすいとか、なれている方でいいんでないの。
どっちが速いかなんて、体感じゃわからないでしょ。
ちなみに俺は
$hoge = '<img src="'.$foobar.'">';
こんな感じで書いてる。改行はつけないよ。
改行をつける場合は
$hoge = '<img src="'.$foobar.'">'."\n";
こんな感じ。他と分離させる。一目でわかりやすいから。
96:nobodyさん
02/10/17 00:08 vMdIvLO8.net
>>88
1ぎょうづず読み込んでも大して長くはならないけど?
メモリがパッツンパッツンサバでも、メモリ空間を節約出来るから、結果的に早くなるんです
97:nobodyさん
02/10/17 00:15 .net
>>92
あはは
98:nobodyさん
02/10/17 00:21 UE/uqZMn.net
>>96
漏れは掲示板のログファイルなんかは
1行づつ読み込んで、いるモノだけ配列に渡す。
インデックスのための小さなファイルなどは file()で一気に読み込む。
適宜使い分けている。
でも、上にもあるように、100KB位なら、一気に file() で読み込んでしまっても
いいのではないかと思ってしまう。
あとPHPで
while (!feof($fp)) {
$buffer = fgets($fp, 2048);
}
とかやってるんだけど、
fgetsせずに行をスキップするにはどうしたらいい?
99:nobodyさん
02/10/17 01:31 vMdIvLO8.net
>>98
100KBで一気にですか、、、すごいですね。。。
負荷軽減対策委員会という意味ではなしかと。。。
>while (!feof($fp)) {
> $buffer = fgets($fp, 2048);
>}
>とかやってるんだけど、
>fgetsせずに行をスキップするにはどうしたらいい?
fgetcsvか、fseekしてfread。
100:nobodyさん
02/10/17 07:49 .net
たまに、初期設定で設定される変数の内容だけで、数十KBにもなるものがあるが、その方が問題だったりして。
101:ジークハルト ◆VUxx/EwNXI
02/10/17 09:04 .net
>>92
あいたたた・・・
じゃせめてこのスレの内容まとめて
負荷軽減対策委員会の公式サイトでも起ちあげますか・・
102:nobodyさん
02/10/17 12:39 CzH1ES8f.net
gzip処理をすると転送料は減りますが
サーバへの負荷はどうなると思いますか?
gzip処理をすることでサーバへ負荷がかかるとしたら
何kbを越えるくらいをめどにgzip処理を施すのが妥当でしょうかね?
例えば2kb程度を転送するくらいならgzip処理は必要ないでしょうか?
ご享受願います。
103:nobodyさん
02/10/17 13:57 .net
>>102
FEPか表示フォントの設定大丈夫ですか?
圧縮ファイルだって未圧縮ファイルだって転送時には
同じバイト列でしょ。
104:nobodyさん
02/10/17 14:09 CzH1ES8f.net
>>103
すいません、意味が分かりません。
サーバの負荷を考えるとgzip圧縮処理は必要なのでしょうか?
105:nobodyさん
02/10/17 14:11 .net
>>103
2ちゃんねるのログ(300K)
↓
サーバで圧縮(100K)
↓
HTTPで転送(転送量1/3でウマー)
↓
ブラウザーで解凍、表示
106:nobodyさん
02/10/17 14:13 .net
>>104
ケースバイケース
107:nobodyさん
02/10/17 14:23 frKHjIQw.net
>>104
>>>103
>すいません、意味が分かりません。
禿同。
サーバ負荷軽減だけでなく、帯域の負荷を減らすことで
単位時間内のリクエスト数を伸ばすことが出来るのでgzipが
有効な場合もある。
108:nobodyさん
02/10/17 14:32 .net
>>104
転送「量」でしょ、ご「教授」でしょ。
日本語大丈夫ですか?って書こうかと思ったがよ。
漏れは、そんなに更新が激しいデータじゃなきゃ、
1回のgzipで何人分かができて、転送のためにファ
イルアクセスされる時間が減るから、gzipした方が
いいと思って言ったんだけどね。解凍するのは、
ユーザだから知ったこっちゃないし(藁
109:nobodyさん
02/10/17 14:44 C3AsJ9gC.net
htmlの場合、gzに対応していないブラウザのために、
(ある程度のシェアがあると言われているMacのIEでも対応していないのがある)
無圧縮のやつも作らなくてはいけないのが不便
これとは別に、PHPで、出力をダイナミックに圧縮、非圧縮とかえるには
どうしたらいい?
110:nobodyさん
02/10/17 14:54 .net
>>109
output_handler = ob_gzhandler
昔のバージョンだと駄目だが、4.2.xなら
Accept-Encoding: gzipの有無に依って
圧縮、非圧縮をダイナミックにおこなってる。
マニュアルみれ。
111:nobodyさん
02/10/17 14:55 lo6hZWi4.net
>>108
gzip圧縮処理ってリアルタイムじゃないの?
(調べもせずにものを言ってみました)
112:nobodyさん
02/10/17 14:59 .net
>>111
リアルタイムはpopenとか使って出力をgzipにパイプしたときでしょ?
>>108が言っているのはgzip圧縮されたファイルのことじゃない?
113:112
02/10/17 15:01 .net
サイト丸ごとアップするときはtar+gzipでアーカイブにしてからアップしています。
アップ後はtelnetから解凍。
114:nobodyさん
02/10/17 15:11 .net
>>109
無圧縮のものも作った場合、どうやって振り分けているの?
「文字化けするようなら~から入ってくれ。」と入り口に書いておくの?
115:nobodyさん
02/10/17 15:20 .net
>>114
ApacheのMultiView
116:nobodyさん
02/10/17 15:25 .net
>>110
サンクス
とりあえずスクリプトの先頭に
ob_start("ob_gzhandler");
を入れてみました。
117:109
02/10/17 15:27 .net
すんません
ブラウザ(モジラ)で確認してみたら、
Content-Type が text/htmlのままなんですけど。
gz転送されているのかな?
118:nobodyさん
02/10/17 17:06 .net
さあ?
119:102
02/10/17 17:22 PB+UxjCo.net
>>108
ご指導、ありがとうございました。
享受の方は素で間違えていました。
gzip圧縮処理の流れは>>105さんの
分かりやすい説明どおりに把握しているのですが
まだ詳しい内容は無知なので理解できませんでした。
調べてみようと思います。
チャットのように更新の頻度が多いものについては
gzip圧縮はしない方がいいということですね。
120:102
02/10/17 17:26 PB+UxjCo.net
連続の投稿ですいません。負荷軽減対策において、
NPHスクリプト化はやらないよりやった方がいいと思います。
あと、チャットにおいて私は負荷を抑えられると思い、
jcode.plをrequireしていません。(文章おかしくてすいません)
これは不具合が出るものなのですかね?
121:nobodyさん
02/10/17 17:28 .net
mod_gzip とか mod_deflate 使ってる?
122:102
02/10/17 17:29 PB+UxjCo.net
>>121
mod_perlとか耳にしますがよく分からないのです。
共用サーバでも使用可能なのでしょうか?
123:102
02/10/17 17:30 .net
バイトの時間が来てしまいました。レジをうってきます。
ここはブックマークしておくのでまた、参考にさせてもらいます。
124:nobodyさん
02/10/17 20:52 .net
mod_deflate って 2.0 からなのか~(残念
125:K
02/10/17 20:55 .net
>>111
俺は転送量下げるために自作したよ。
更新の少ないものはキャッシュすれば良い。
でも、mod_gzipで良いんだよな……。
つーか、ob_gzhandler知らなかったYO(自爆
126:nobodyさん
02/10/17 21:22 .net
>>116と同じで、俺もスクリプトの先頭でgzip圧縮転送をしている
ob_start("ob_gzhandler");
これは、html出力をバッファしてgzip圧縮して送信するものだから、
鯖側は圧縮の分負荷が高く、ブラウザ側も徐々に表示されず一気に表示する(少し待たされる印象)
その代わり、転送量が減る・回線が細くても多少マシという利点がある。
ケースバイケースだが、負荷を減らそうというスレの趣旨には合わないんじゃないか?
#つか、1行追加するかしないかだけの話だがね。
127:nobodyさん
02/10/17 22:14 .net
俺は試しにチャットのログ表示部をgzipしたけど、
表示は体感できるほど速くなったよ
リロードしても、ちらつきが無いと言うか、
圧縮無しだと、まばたきする感じなんだが、それが無くなった。
鯖負荷は、MRTGやTOPコマンドじゃ解らなかった。(多分ほとんど負荷無し)
チャットは計6部屋で共有鯖なら追い出される位の参加人数。
いちお、Perlでgzip対応ブラウザかどうか調べて、対応してたら圧縮してる。
でも、どっかのサイトに、「鯖に余裕があるならgzipをするべし」
みたいな事書いてたから、圧縮に多少負荷がかかるんだろーね
128:109
02/10/17 22:14 .net
>>126
マニュアルのコメントによると
For just a small bit of processor time, you can DRASTICALLY reduce the bandwidth requirement of your scripts. There are very few circumstances in which this should not be used.
っていわれてるけど
129:109
02/10/17 22:15 .net
それに、ブラウザでの表示の方法は、ブラウザのbehaviourじゃない?
130:109
02/10/17 22:18 .net
>>126
「負荷」はプロセッサの「負荷」も回線の負荷も両方考えるべきでは?
WebProgでは特に
131:nobodyさん
02/10/17 22:21 .net
ナローバンドのみ圧縮とかできる?
132:126
02/10/17 22:54 .net
>>130
そうだね。あとはメモリを無駄に使わないという所かな。
>>131
出来ない。家を出発前に渋滞を予想できないのと同じ(か?)
133:109
02/10/17 23:09 .net
>>131
鯖がナローバンドだったらわかるかな
クライアントならわからん
134:nobodyさん
02/10/17 23:24 .net
ホストで調べるとか…
ブロードバンド特有のホスト名が付いてるトコってあるじゃん?
調べまくって自分でデータベースを作る。
すっごい時間と労力がいるけどね…
135:109
02/10/17 23:48 .net
思いついた。
最初にアクセスしたときに、リモホをとってPINGしたりして
疥癬の早さを調べる。それでgzするかしないかを決めて、
その結果をクッキーで食わせる。
136:126
02/10/17 23:58 .net
UIがあるなら、圧縮転送する/しないを選択させれば良いじゃん。
CGI側で判断するものではないだろう?
137:102
02/10/18 01:03 .net
URLリンク(www.abi-station.com)
ここのAbicorporationという掲示板と居酒屋チャットというチャット、
ソース見ただけで頭が痛くなるのは俺だけだろうか。
138:nobodyさん
02/10/18 01:13 .net
>>137
それはABI言語で書かれていますw
ってかスレ違い?
負荷が凄そうって言いたいの?
139:102
02/10/18 01:23 .net
>>138
負荷がすごそうっていいたいのですw
シェアウェアで爆弾売ってるようなものっすね。
ちなみに俺がCGIチャットで一番、負荷をかけないのは
「ぞのちゃっと」だと思うのですがどうでしょう?
140:nobodyさん
02/10/18 03:17 .net
>>139
俺のチャットが一番軽いと思う。
PHPだし、面倒だから配布はしてないけど。
でも、現在のメンバーを表示すると重くなるね。
FlashやJavaAppletの方が良いに決まってるからsage。
141:ジークハルト ◆VUxx/EwNXI
02/10/18 09:48 .net
CGIスクリプト&ログの、ファイル容量を減らすことって
負荷軽減につながりますかね?
142:ジークハルト ◆VUxx/EwNXI
02/10/18 09:51 .net
>>140
FlashってCGI使ってないっけ?
143:nobodyさん
02/10/18 12:46 GnEXGk2/.net
>>140
すごく興味があります。
ぞのちゃっとはC言語ですがphpはそれよりも軽いのでしょうか?
144:nobodyさん
02/10/18 13:57 LQtlqqOK.net
>141
設計によるけど、単純に負荷軽減つながるはず
145:144
02/10/18 13:59 LQtlqqOK.net
てか、、、、、、ほんと設計しだい
146:nobodyさん
02/10/18 18:55 3gkhdVf3.net
今、2チャンネル型のスクリプトをPHPで作っているのですが、
やっぱりフロート型って、負荷大きいですよね。
(書き込む人夜読む人の方があっと言う的に多いので、)
htmlファイルを生成したのだが、名前部分のクッキーが読み出せない
仕方なくJSで読んだのだが、文字化け。
PHPで食わせたクッキーはJSで読むとうまくいかないのか?
147:nobodyさん
02/10/18 19:15 .net
>>146
化けない文字コードでクッキーを焼く。
ブラウザのお口に合うクッキーを食わせる。
など…
148:146
02/10/18 19:52 3gkhdVf3.net
>>147
サンクス。MBCS関連充実してきたので、UTF-8で試してみます。
しかしまあ、urlencode-decode間でしてくれるうえにグローバル変数に自動的に入る
PHPに比べて、JSはめんどくさいですね。
149:nobodyさん
02/10/18 21:31 .net
JavaScript なのか JScript なのか……
150:nobodyさん
02/10/19 00:01 .net
JavaServletかもしれんぞ。
ま、146は単語もまともに打てないほどの面倒くさがり屋さんと言う事で。
151:デフォルトの名無しさん
02/10/19 01:35 .net
>>150
いいじゃん、「あっと言う的」、2典に登録しようよ。
152:nobodyさん
02/10/19 02:17 .net
(≧∇≦)
153:126
02/10/19 18:09 .net
さがっているねぇ。この板の負荷にならないようにしているって事なのかなぅ(上出来
154:102
02/10/19 23:31 .net
ネタがないですねw
155:\
02/10/20 10:09 ASG3cWoM.net
PHPの掲示板でログファイルが500kBあるんですが
消さないと負荷って凄いですか?
156:nobodyさん
02/10/20 10:37 .net
処理に依る。
157:nobodyさん
02/10/20 10:38 .net
>>155
あなたの「凄い」がどの程度なのかわからないけど、
その掲示板のコードにもよるんじゃない?
掲示板のログで500kbだと3000行近くなってるんじゃない?
読み込んだり書き込んだりするのに、3000回ループする様なコードを書いてるんだったら、
考えモンだね…
ファイル丸ごと読み込んでるんだったらメモリも食うし
158:レンタル掲示板”管理”者
02/10/20 11:59 .net
>>21
キミ最高だね。ほんとアホ以外の何物でもない。しねよ。
159:102
02/10/20 12:08 q/B8ESF1.net
すごい厨房な質問ですいません。
例えば500kb(300行)のログファイルがあって
open(IN,"ろぐふぁいるぱす");
@lines=<IN>;
close(IN);
というように配列に内容を入れた場合
ファイル丸ごと読み込んでることになるのでしょうか?
160:nobodyさん
02/10/20 12:14 .net
>>159
なる
161:デフォルトの名無しさん
02/10/20 12:24 /npcfUW0.net
>>159
Perl初心者コーナーで一行ずつ読み込んで処理するのと
どっちが早いか議論してたさ。readで読み込むのも比較
してたで。2・3日前だっけな。
162:nobodyさん
02/10/20 13:32 .net
一行ずつ処理したとしても、Perlでは本当に以前に使っていた領域が開放されているかどうかはわからんな。
Perlを開発している人たちなら分かるだろうけど。
163:nobodyさん
02/10/20 13:41 .net
>>162
>以前に使っていた領域が開放されているかどうか
以前に使っていた領域って、変数のことだろ? 1行ずつ代入しては処理を
繰り返してるから変数に代入されてる分は領域だろ? 開放もなにもないだろ
164:nobodyさん
02/10/20 13:43 .net
>>163
C言語でも勉強してきて。
165:164
02/10/20 13:47 .net
ちなみに領域というのはメモリー上に確保した領域のこと。
166:nobodyさん
02/10/20 13:58 .net
>>164
>C言語でも勉強してきて。
( ´,_ゝ`) プッ
167:nobodyさん
02/10/20 14:32 .net
>>120
NPHスクリプト化でnph-chat.phpは可能ですか?
NPHはPHPでも使えるのでしょうか?
168:nobodyさん
02/10/20 15:09 .net
>>164
こういうことが言いたいのか?
URLリンク(www.mikeneko.ne.jp)
169:nobodyさん
02/10/21 20:11 .net
mod_perl + gzip 最強
170:nobodyさん
02/10/22 00:30 .net
ふむふむ。
171:nobodyさん
02/10/22 03:41 .net
俺はZ80とかFortrunとか変な言語でCGI作るのが趣味なんだ
172:nobodyさん
02/10/22 04:31 .net
Fortrunという言語はたしかに変ですなあ。
173:カミ
02/10/22 13:51 haL4weU7.net
キタ━━(゚∀゚)━━ッ!!キタ━━(゚∀゚)━━ッ!!キタ━━(゚∀゚)━━ッ!!
さあ、何でも聞いてよ。
174:カミ
02/10/22 13:54 haL4weU7.net
カエッタ━━(゚∀゚)━━ッ!!カエッタ━━(゚∀゚)━━ッ!!カエッタ━━(゚∀゚)━━ッ!!
時間がなくなったので帰ります。
175:102
02/10/22 15:04 nYDyJAf0.net
>>172
高度な突っ込みですね。
176:あぼーん
あぼーん.net
あぼーん
177:126
02/10/22 15:38 .net
>>175
じゃあ、Z80は言語じゃない、なんて突っ込みも許されるかひ?
178:nobodyさん
02/10/22 16:10 .net
>>171
Fortrun という言語について、詳しく教えて下さい。
179:nobodyさん
02/10/22 18:50 .net
>>177
Z80は言語じゃない、ガラスです
URLリンク(www.watch.impress.co.jp)
180:nobodyさん
02/10/23 13:13 dAD4Tigy.net
Perlの一般的なスクリプトの場合、
ログを読み出すとき出力を直接printで表示しているけど、
出力を$buffer .= "~";というように一つの変数にまとめておいて
最後にprint $buffer;とした方が速いのかな。
imode用のスクリプトはContent-lengthヘッダを出すためにそうしてるけど。
変な日本語でスマソ
181:nobodyさん
02/10/23 15:19 .net
最初が表示されてから最後が表示されるまでは速いだろうが、
最初を表示するまでが遅くなるだけじゃねーの?
imode程度なら良いけど、メモリ食うだけじゃない?
182:nobodyさん
02/10/23 15:53 .net
>>180
2chのread.cgiがまとめて表示だったら嫌だ。
183: ◆hMJAPH9PWA
02/10/23 18:46 .net
>>180
出力する量にもよるだろうけど、最後に一気に出力の方が早いって事は無いんじゃないかな。
Content-Lengthが必要ないならあえて選択する方法じゃないね。
184:102
02/10/23 22:07 .net
思ったんですけどKENTさんのYY-BOARDって無駄な処理が多くないでしょうか?
レスのトップソートがある場合、ない場合とかもっとスマートにできそう。
185:nobodyさん
02/10/23 22:32 .net
>>184
ガイシュツすぎる
Kentの使わないで自分でいいやつ組むのがよろし。
186:102
02/10/23 22:34 .net
>>185
そうなんですか。KENTさんもバージョンアップの繰り返しで
無駄な処理を省くのが面倒なんでしょうね。
今、YY-BOARDを元に新しい掲示板を作っています。
187:nobodyさん
02/10/24 08:03 .net
Kentを元にするなって。
最初から作った方が、良いものが作れる。
188:nobodyさん
02/10/24 10:36 .net
ニュースCGI(読み込む時に常に1MBのlog.csvを読み込む)を、
ログの容量減らす以外でこのスクリプトの負荷を軽減する方法を
いくつか教えてください。
又、これってApacheのモジュール版PHPに変えたら負荷はなくなりますか?
189:nobodyさん
02/10/24 11:44 .net
ニュースCGIを使うのを止める。
190:nobodyさん
02/10/24 11:59 .net
>>189の方法が一番負荷が減るけど。
後は、何で全部表示するのにcsvにするの?最初からhtmにしとけばぁ。
ほいで、前から議論に出てるgzipで固めればぁ。
何かのキーで検索するんなら、DBMにすればぁ。
早いし全部ファイルを総なめにする必要ないから負荷激減だね。
191:nobodyさん
02/10/24 12:03 .net
>>187 禿しく尿意!
192:nobodyさん
02/10/24 12:51 .net
>>189
いや、つーか・・ええ!?
>>190
CGIの拡張子をHTMLにしてもだめですかね
ダメですよね・・・
193:nobodyさん
02/10/24 12:54 .net
負荷下げたいならapache2.0+mod_perlでいいんじゃねーの?
要はプロセス作成が重いんだし。
あとは、スクリプトのアルゴリズム次第。
194:102
02/10/24 14:02 .net
>>187
open(IN,"?????")||&error("情報ファイルを開くことが出来ませんでした");
($no,$ip,$time)=split(/<>/,IN);
$no++;
close(IN);
最後にこれくらいの処理だけが面影として残ってる場合は著作権表記は必要ないと思いますか?
195:nobodyさん
02/10/24 14:24 .net
>>194
コードの面影が残っていなくても
設計の面影が残っていたら著作権表示は必要(だと思う)
しかし、現行の著作権法では、「アイデア」には著作権はなく、
具現化されたモノにのみ著作権があるので、
196:大丈夫かな。 しかし、著作権以外の知的所有権はあるね。 まあ、ここは、KENTにどのくらい「リスぺくと」してるかによって 自分で決めればいいんじゃない? …と勝手なことを逝ってみる
197:102
02/10/24 14:40 .net
>>194
>>193の部分を記述がめんどくさいのでコピっただけなのですがね。
参考になりました。スレからすれてすいません。
198:太郎
02/10/24 16:43 .net
>>195
MAKIMAKIは消していいですか?
199:nobodyさん
02/10/24 19:17 .net
>>196
>スレからすれてすいません。
( ´_ゝ`)
>>197
画像使うんなら消しちゃダメでしょ。
200:太郎
02/10/24 23:16 .net
>>198
画像使わなかったら?
201:nobodyさん
02/10/25 00:28 .net
そんなん知るかボケ。本人に聞け。
202:nobodyさん
02/10/25 00:53 .net
>196
日本語キーボード派?
203:nobodyさん
02/10/28 11:06 .net
2chみたいのじゃなくていわゆる普通の掲示板で
HTML吐き出しタイプの場合、「次のページ」とか
「次の10件」とかの処理どうするの?
『ログ保存数/1ページ表字数』回HTML出力したら
余計負荷かかりそうだし。
204:nobodyさん
02/10/28 12:51 .net
>>202
???
ユーザがデータ追加する度に「次の10件」って変わるのか?
205:nobodyさん
02/10/28 14:05 .net
>>202
トップページだけHTML表示にすればいいと思うよ。
全ページをHTML表示するのにはあまり意味はないと思います。
206:nobodyさん
02/10/28 22:38 .net
次バージョンで修正した方がいいかな~と思った点について
>>0-
や
>>1-100
などとした場合、返信数が多いとサーバに負担がかかる(例えば返信数が80件あると80回も表示処理を繰り返すことになる)と思いますので、例えば20件で表示を中止させる、といった処理を加えた方がいいと思います。
-------------------------------------------------
Re: v1.2 レポート ( No.38 )
日時: 2002/10/28 19:22
名前: abc
>>37
改造物を作り配布しょうとガンガって居る者がなんつー・・
スレッドログの容量分を反映させる訳だから、余程パンパンに膨れ上がった文字数で書かれているスレッドじゃない限り、デフォルトの100件maxとしても1スレッド500KB前後を読み込むだけかと。
うーん。勘違いしてますの。
こんなやり取りを見つけたんだけどどう思う?前者は100件を
一気に表示させるのはサーバに負荷がかかるだろうから制限した方がいいといって
後者はそれを否定している。
207:nobodyさん
02/10/28 22:39 bqKuFdrO.net
URLリンク(www.kent-web.com)
ちなみにここ
やはりWEB PATIOってサーバに負荷かけるのかな?
208:nobodyさん
02/10/29 11:25 .net
一般的にどれぐらいの負荷でサーバから文句言われるの?
箱庭諸島とか禁止ってる所多いけど
209:nobodyさん
02/10/29 11:50 QTfCZ5sA.net
普通の掲示板ごときでサーバに負荷なんてかかるもんなんでつか?
210:nobodyさん
02/10/29 17:46 .net
使ってるスクリプトや使い方による。
211:nobodyさん
02/10/29 20:15 .net
>>206
ま た K E N T か
212:nobodyさん
02/11/01 09:24 .net
Pentium4 1.6GHz RAM512MBの専用サーバなら
FF Adventureをいくつぐらいまで設置できますかね?
参加人数が1つの設置につき50人ぐらいとして。
213:nobodyさん
02/11/01 13:46 .net
>>211 3個が限界
214:211
02/11/01 15:22 .net
>>212
どういう計算で3個という数が出たんですか?
FFAdventureのPHP版(Apacheモジュール版)を作ろうと思ってるんですが
それならその2倍くらい置けそうですよね?
215:nobodyさん
02/11/02 03:38 .net
216:まずは作れyo
217:age
02/11/02 16:50 .net
FFAdventureが負荷かかりやすい理由は?
218:nobodyさん
02/11/02 18:07 .net
>>215
厨のF5地獄
219:nobodyさん
02/11/02 23:20 rdTV1RKU.net
>>215
それとIE以外のブラウザで戻るボタン多用。
Pen4 1.6GHzよりもPen3 1GHz×2の方がいいわな。
Pen4よりもPen3かCeleronの方がCGIがサクサク動くよ。
220:nobodyさん
02/11/03 01:39 .net
↑Win厨( ´,_ゝ`) プ
221:nobodyさん
02/11/04 13:03 UUsMIZp7.net
厨行為がなくても負荷は掛かりやすい。
・同時プレイ人数が多い(多いところだと10人以上)
・ゲームという性質上、計算など処理量が多い。
チャットも上の性質を満たすが、それ+αなわけだ。
222:nobodyさん
02/11/04 13:07 UUsMIZp7.net
でも、デフォルトのFFAの更新頻度は10分になっているから
それならば本来、そんなに負荷は掛からないはずなのだ。
ただ、最近CGIを全然知らない負荷を意識しない奴が
平気に「短い方が良いに決まってるじゃん」という
理由で更新頻度を30秒とかにしちゃってるから問題になってるわけだと思う。
223:あぼーん
あぼーん.net
あぼーん
224:nobodyさん
02/11/04 15:10 Y3fUpfXy.net
異常にレベルの低い議論が続いてますね。
TOCでも勉強するといい
ボトルネック見極めないで憶測で議論しても意味ナイ
225:
02/11/04 16:29 .net
ping -f pc.2ch.net
.
.
.
.
.
.
今日も快適だ
226:nobodyさん
02/11/05 14:57 .net
掲示板とか運営するならCGIはログ読み込み+書き込み、だけやらせて、
タグ付けはクライアントサイドでやらせる、
負荷軽減
227:nobodyさん
02/11/05 15:00 .net
>>202
全てのデータをXMLで吐かせておいて、
XSL+JavaScriptで表示、これで解決
228:nobodyさん
02/11/05 20:27 .net
>>224
そうするとかちゅーしゃ等を使うのが一番手っ取り早いね。
229:age
02/11/06 08:44 .net
Yahoo!メッセンジャー有料化だそうです
URLリンク(www.metalflame.com)
230:nobodyさん
02/11/06 17:21 .net
>>227 ブラチラ
231:age
02/11/09 08:48 .net
ブラチラで終了かよ!
232:nobodyさん
02/11/09 11:56 E2/H+5gT.net
>>227はブラチラじゃないよ
233:nobodyさん
02/11/09 12:07 IRpoTYp2.net
ブラクラ
234:nobodyさん
02/11/14 16:08 .net
ブラクラって何ですか?
体験させられはしたんで、何の略かを知りたいのでそ。
235:nobodyさん
02/11/14 17:50 .net
ブラでクラクラ
236:nobodyさん
02/11/14 17:55 .net
検索汁
237:nobodyさん
02/11/14 20:19 .net
>>234
そか、検索ね。アリガ㌧。
URLリンク(www.coara.or.jp)は、よかった。
browser crusher / crasherってなってるけど、crashなんてねーぞ。
238:235
02/11/14 20:28 .net
いっけね。あったよ。crashの方がコンピュータがクラッシュするって
いつも使ってるやつね。crushは、もみつぶす。俺の英語力もとほほや。
逝ってくる
239:age
02/11/15 09:16 .net
データの転送量さえ少なければCGIの負荷ってかからないよね?
240:238
02/11/15 09:18 8BLO7GsJ.net
コバルトサーバ → CGI不向き
Pentium III → CGI可
Pentium IV → CGI最適
の図式で合ってる?
241:238
02/11/15 09:20 8BLO7GsJ.net
コバルトサーバ → CGI不向き
Pentium → CGI最適
と考えてよろしいか?
242:nobodyさん
02/11/15 10:03 .net
>>237 なわけねーだろ
243:nobodyさん
02/11/15 11:40 .net
>>238
Pentium使ってるCobalt serverはどうなるの
244:nobodyさん
02/11/16 02:53 .net
perlでHTMLとか吐くとき
ヒアドキュメント使うのと全部printで表示するのはどっちがいいんですか?
245:nobodyさん
02/11/16 14:45 .net
>>242
表示したい文字列を全て一つの変数に入れて、最後にprintする
246:nobodyさん
02/11/16 16:47 .net
>>243
お手軽だけどメモリバカ食いだねw
247:nobodyさん
02/11/16 20:52 .net
>>244
ところでHTML::Templateって結局>>243だよね。
$tmpl->output(\*STDOUT);
みたいにしてテンプレートに変数流し込むそばから
すぐprintできるとうれしい…。
248:nobodyさん
02/11/17 12:14 YRaU2xF9.net
つーか
@RANKING = $RANKING[
sort {$tmp1[$b] <=> $tmp1[$a] or $tmp2[$b] <=> $tmp2[$a]
}
0 .. $#tmp1];
ってなperlの部分をphpになおしたいんだが
だれか教えてくれないでしょうか?
249:nobodyさん
02/11/17 18:05 .net
@tmp1 を主キー
@tmp2 を副キーにしてソートしてるだけのような。
250:nobodyさん
02/11/18 04:29 .net
>>214
FFAのPHP版がもう少しで
できそうです。
251:age
02/11/18 11:06 .net
>>248
神
252:nobodyさん
02/11/20 18:27 .net
神は禿げていた、、、と
253:nobodyさん
02/12/22 15:32 /yTei76p.net
lkh
254:nobodyさん
02/12/22 15:43 .net
>>248
どうかね。できたかい?
255:nobodyさん
02/12/23 01:32 .net
漏れ様の貧弱なマシンではよォ、use DBI;で0.20[s]もオーバーヘッドがかかりやがる。
use Pg;で0.13[s]なんだ。。。
やっぱApacheDBIにしたほうがよさげ?
256: ◆grDYeooZwg
02/12/23 13:38 IPdi8EVE.net
最近、ここのYomi-Searchを改造してPath Infoに対応させた。
ロボット型検索エンジンからの直リンクが多いので、デコード処理をしない分
負荷軽減になるとおもうけど、どうおもう?
257:nobodyさん
02/12/24 16:19 .net
>>252
じゃあこのスレにもひっそりと宣伝。現在配布に向けてテスト中。
あまり大々的にしてないので、参加者が少ないです。
もし暇な方とかいたらよろしく。
URLリンク(www.s55.net)
258:nobodyさん
02/12/31 02:35 TxzAlG2p.net
>>255
PHPにしたからって普通の鯖屋が
「FFA、箱庭は禁止ですがPHP版であれば設置可能です」なんて
言うと思えんとこがつらいな。
259:nobodyさん
02/12/31 11:13 .net
>>255
例えば自分が設置しているS55netさんだと、
本来ゲームなどの高負荷CGIは+1000円になるのですが、
同じ料金のままにしてもらってます。
具体的に負荷をチェックしてみてくださいって言ってみるといいかもね。
それでも負荷が多かったら禁止されてもしょうがないし。
260:nobodyさん
02/12/31 11:14 .net
ああ、でもFFA禁止って言うのは負荷だけじゃなくて
改造による暴走の危険性も考えてのことかな・・・
そうするとつらいかも。
261:nobodyさん
03/01/14 15:39 .net
>>245
perldoc HTML::Template したら、
> You may optionally supply a filehandle to print to
> automatically as the template is generated. This may
> improve performance and lower memory consumption.
> Example:
>
> $template->output(print_to => *STDOUT);
>
> The return value is undefined when using the "print_to"
> option.
だって。エラー処理のことを考えたら、>>243 のやり方がいいとは思うけど。
URLリンク(member.nifty.ne.jp) はちょ
と古いね。
262:山崎渉
03/01/15 13:39 .net
(^^)
263:nobodyさん
03/01/17 23:14 .net
あの、漏れもFFAを軽量化しようと改良してるところ。
メインの画面のhtmlとかをJavaScriptで生成して2回目からは
クライアント側でキャッシュできるかな?と
思ってますがかなり軽量できますかね?
264:nobodyさん
03/01/25 16:11 gv57Iyhs.net
>>261
師匠、いくらプログラムをいじったってパソコンは軽くならないですよ。
265:nobodyさん
03/02/10 00:29 .net
>>262
質量保存の法則ですか?
266:nobodyさん
03/02/10 11:12 .net
電源から電気をもらっているわけで
HDの容量が変わると電荷の分増えたりしないのか?
267:nobodyさん
03/02/16 11:56 .net
>>264
んなこたーない。
268:nobodyさん
03/03/01 17:02 .net
2ショットサイト作成中なんですが、チャットってログはテキストより
SQLにした方が負荷は低いですか?
チャット自体はモジュールのPHPで動かす予定なんですが。
269:nobodyさん
03/03/01 17:06 .net
>>266
ログは多くても100件保存できればOKでしょ?
だったらテキストの方が良いに決まってる。
270:nobodyさん
03/03/01 21:11 +zEIIVTI.net
>>266
チャットは
mod_perlで常駐させて
配列にログ入れて
ファイルアクセスをなくすと
めっちゃ早かったでつ。
んで、保存ログは20行以下に切り詰めて
ブラウザ側でJavaScript使ってログを保存・表示させていく方式が
よろしかろう・…というか、よろしかったでつ。
271:266
03/03/02 10:48 .net
>>276
チャット一つあたりのログは精々10~20件ぐらいですね。
他に管理者用のコソーリ覗き見スクリプト(ログ全件保存)ってのも
作ってあったりしますが^^;
>>268
mod_perlは普通に動くスクリプトをそのまま動かせるんだったら
試してみようとも思うんだが。お手軽さならPHPに流れちゃうね。
そういえば自分、JavaScriptは全然わけわかめだった^^;
272:ハッカ飴
03/03/02 23:25 .net
>>244
1ページ分を1つの変数に入れたとしてもせいぜい50KB。
たいしてメモリを食わないと思うんだがどうだろう?
273:nobodyさん
03/03/03 15:53 .net
辞典みたなものをCGIで作ろうと思ってるんだけど、データをHTMLで保存するか
ログファイルに保存して毎回CGIで表示するか迷ってる。
CGIサーバが5MBしか容量ないので保存データ量を節約したいけど負荷が気になる。
1日500件もアクセス無いはずだから別にいいかな?
274:nobodyさん
03/03/10 14:42 e5Gc6Qds.net
>>271
辞典の更新頻度、検索の手段によるのでは
275:山崎渉
03/03/13 17:03 .net
(^^)
276:nobodyさん
03/04/02 16:48 MBb6MhRw.net
質問です。
Windows2000
Apache 1.3.26 win32
ActivePerl 5.6.1
でCGIのテストをしているのですが、
CGIの負荷を数値等で表示してくれるツールってないですか?
今は、タスクマネージャーで見ているのですが、
もっと詳細に負荷の具合を調べたいのですが、
ご存じの方、よろしくお願いします。
277:nobodyさん
03/04/03 00:43 u5AEaj7N.net
>>274
DProf を試してみたら?
278:山崎渉
03/04/17 12:10 .net
(^^)
279:山崎渉
03/04/20 06:23 .net
∧_∧
( ^^ )< ぬるぽ(^^)
280:nobodyさん
03/04/23 00:06 eNBdthfp.net
あのー、
Perlで、myやlocalをほとんど使っていないってのは、
どのくらいの負荷要因でしょうか?ベスト1?
281:あぼーん
あぼーん.net
あぼーん
282:nobodyさん
03/04/23 00:32 .net
>>278
それで変数のコピーを抑えれば効率的と言えるかも。
283:nobodyさん
03/04/23 12:57 .net
>>278
perlの実行ファイルで既に1M近くあるし、モジュールとか読んだら、
もっと増える。
気にするやつは馬鹿。自己満足。知症。
たとえれば、ボルトを全部チタンにして100gの軽量化に成功!とか言ってる
車オタと同類。
284:nobodyさん
03/04/24 01:07 Dv9rntoL.net
このスレ的な話題をあつかった本って、あります?
285:nobodyさん
03/04/24 01:31 Dv9rntoL.net
プログラムとデザインをわけようとして、
テンプレート読み込み型のデザインをしていたんだけど、
そのせいなのかなー、急に重くなった気がする
286:nobodyさん
03/04/24 12:43 UND9RBAr.net
>>283
データ更新の機会がそれほど発生しないものならば、動的にHTMLを生成する
のではなく、データ更新時、静的HTMLを随時生成するのに切り替えるのも一つの
手かと。
287:あぼーん
あぼーん.net
あぼーん
288:あぼーん
あぼーん.net
あぼーん
289:わっしょい
03/04/27 17:57 .net
URLリンク(www.atmarkit.co.jp)
速くなるのでしょうか・・・?
290:nobodyさん
03/04/27 23:41 .net
>287 phpに速さを求めちゃイカン。
291:nobodyさん
03/04/28 01:16 .net
>>288
そう,PHPは実行速度より開発速度
292:nobodyさん
03/04/28 23:00 .net
Perlもそうだよ~
293:nobodyさん
03/04/30 00:11 7aND3iYJ.net
Perlで3MくらいのCSVを読み書きするのって、
かなりの負荷?
あと、ここのみなさんは、どうして負荷について知識があるんでしょうか?
経験上?
294:nobodyさん
03/04/30 00:21 .net
>>291
一回しかやらないのなら
大した負荷にならないが
BBSのログとかだったら負担になるかもね
295:nobodyさん
03/05/02 05:14 Faf7JYi+.net
オブジェクト指向のプログラムは負荷軽減になるの?
296:nobodyさん
03/05/02 06:55 .net
ならない
297:nobodyさん
03/05/02 10:25 .net
>>291
DBM使え。簡単だぜ。
郵便番号ファイル(郵政省--いま何たっけ--の)で速度5倍だぜ。
URLリンク(www.ichikoro.com)のベンチマーク。
あれ、2Mくらいじゃなかったっけ?
298:nobodyさん
03/05/02 11:29 .net
>>288
そうそう。よほど非常識なことをしなければ、スクリプト言語で効率を考えるのはナンセンス。
299:nobodyさん
03/05/02 15:38 .net
>>296
>>295にあるように効率はいつも考えるべき。
300:nobodyさん
03/05/04 07:37 .net
>>297
そうだね。コードの一つ一つで効率を考えることによって、
全体としてそうとうの負荷軽減になる。例えば、
URLリンク(www.mikeneko.ne.jp)を
ベンチマークで検索してみれ。
301:nobodyさん
03/05/05 23:05 I0Mrp3iS.net
>>292
そうかー、ちょっと反省。
ところでどなたか、↓の質問答えてほしいです。。。
>あと、ここのみなさんは、どうして負荷について知識があるんでしょうか?
>経験上?
あと、負荷軽減について詳しい本(の一部とか雑誌でも)ないでしょうか?
302:nobodyさん
03/05/06 00:03 .net
>>299
ラクダ本買っとけ。
303:nobodyさん
03/05/07 15:10 .net
負荷がどうとかと言う人ほど、use strictしたままリリースしそう。
304:nobodyさん
03/05/09 00:10 .net
use strict すると負荷がかかるんですか?
305:nobodyさん
03/05/09 15:22 .net
>>302
検査する時間が増えるだろ、アクセスごとに検査させるのか。
306:nobodyさん
03/05/11 11:49 .net
Cでいえばassert有効にしたままリリースってのに似ているな。
わざとそうしている人もいるみたいだけど・・・
307:nobodyさん
03/05/15 03:27 zbSE5/sG.net
負荷を測るのってどうすればいいの。
自分のPCで動かしてもよーわからん。
308:あぼーん
あぼーん.net
あぼーん
309:nobodyさん
03/05/19 07:37 9ehzYSkO.net
メモリについて質問させて下さい。
例えば
$x="abc";
の後、
$x="";
という記述なしに
$x="def";
とした場合、メモリは、
abcの○○○分と、defの○○○分の
○○○○○○分が確保されてしまいますか?
$x="abc";
$x="";
$x="def";
にすれば
メモリ確保は○○○だけになると思うのですが。
310:nobodyさん
03/05/19 07:48 .net
>>307
たぶん・・・
変数へ上書きしたら、ちゃんと初期化(開放)してから、
代入してくれると思ふ。
311:nobodyさん
03/05/19 08:57 9ehzYSkO.net
>>308
そうですか。
では$x="";は無駄ですね。
ありがとうございます。
312:nobodyさん
03/05/19 09:06 .net
Perlは最初に確保したメモリ空間を開放しません。
たとえ、ゼロに初期化しても。undefなら別。
URLリンク(www.mikeneko.ne.jp)
313:あぼーん
あぼーん.net
あぼーん
314:あぼーん
あぼーん.net
あぼーん
315:あぼーん
あぼーん.net
あぼーん
316:nobodyさん
03/05/19 15:55 wUacqRGd.net
>>310
何が言いたいのかわからん。
317:nobodyさん
03/05/19 16:11 wUacqRGd.net
>>310
すんまそん。
メモリ確保を解放するかしないかは分かります。
メモリ確保は○○○分で済むのか、○○○○○○分確保してしまうのかを聞きたいのです。
318:あぼーん
あぼーん.net
あぼーん
319:あぼーん
あぼーん.net
あぼーん
320:nobodyさん
03/05/19 17:41 .net
詳しく知りたかったら、Perlのソースを読むしかないと思うけど。
321:nobodyさん
03/05/20 01:00 .net
>>315
>>310 の記述を見ると、3バイト分しか確保しないように思えたけども。
322:nobodyさん
03/05/21 00:27 .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%
323:nobodyさん
03/05/21 15:21 .net
>>320
PDA以下だね・・・。
324:山崎渉
03/05/22 02:00 .net
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
325:nobodyさん
03/05/22 15:08 .net
ったく、山崎のおかげでスレ順めちゃくちゃだ。
326:nobodyさん
03/05/26 07:37 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>;
みたいにいっきに配列に入れてしまうのはどちらが処理としてはいいのでしょうか?
327:nobodyさん
03/05/26 08:20 .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;
328:nobodyさん
03/05/26 08:36 Hdu0vyT1.net
>>325さん
それが最適なのですか。
勉強になります…。
サイズ1024は何を意味しているのだろう…
329:あぼーん
あぼーん.net
あぼーん
330:nobodyさん
03/05/26 11:18 .net
>>326
1024 byte は 1 kbyte だろ?
コンピュータの基礎じゃねえか。
ま、俺だったらFile::Copyモジュールを使うかも。
バグがあるかも知れないソース書くより楽だし。
331:326
03/05/26 14:05 mARvDo9Y.net
my $buffer_size = 1024; # 適宜調整
すいません。
これを記述することで何が得なのかを知りたいのでした。
332:nobodyさん
03/05/26 14:38 kKbCXT+N.net
>>329
実行エンジンにもよるんだけども、メモリを確保する場合、8byte単位とかそういうのが多いから
(アライメント)。
Perlだとどうだか?って気もするけども。
333:nobodyさん
03/05/26 14:57 .net
8・・・
334:nobodyさん
03/05/26 18:41 .net
>>329
微妙に意味がわからんな……
推測をして回答してみる。
1.$buffer_sizeを設定することで、何バイトずつコピーするのかの設定が可能になる。
この数値を小さくすると、コピー回数が増えるが、メモリーへの負担は減る。
この数値を逆にすると、その逆。
サーバーの具合を見て適宜調整することができる。
2.わざわざ変数を一つ設定することの意味は、変数の名前をわかりやすくすることで、
その変数が何に使われているのかをわかりやすくする。
「昨日の自分は他人」の言葉どおり、後から見た時になんでその数値にしたのか等が判断しやすくなる。
何が聞きたいんだろう……
335:nobodyさん
03/05/26 21:27 .net
3. 設定(定数)と実働部分はできるだけ分離する。
>>324のコード片がスクリプトのどこに埋もれていても、
変数 $buffer_size としてスクリプトの頭の方で定義しておけば
簡単にバッファサイズを変更できる。定数で埋め込んでしまうと
変更したい時にいちいち探し回る事になる。
336:nobodyさん
03/05/26 21:28 .net
s/324/325/
337:nobodyさん
03/05/26 21:32 kKbCXT+N.net
Perlは最適化とかしないのかな?
@buf = <IN>
のほうが早かったりして。
338:nobodyさん
03/05/26 21:50 67MeoiMR.net
open(IN, $src);
open(OUT, '>'.$dst);
print OUT while(<IN>);
close(IN);
close(OUT);
こう書くかも。
readで読み出すバイト数は多い方が速いと思う。当然だけど。
ただ多過ぎるとそれはそれでメモリくったり。
339:nobodyさん
03/05/26 22:07 .net
>>335-336
ベンチ取れば分かる事だが、@buf = <IN> はメモリを一気に
確保する = System CPU time を食う。行入力演算子による
取得は「行末」を探す = 可変長入力なので潜在的に read
より遅い処理。もちろん扱うデータのフォーマット & 量次第
だけどね。
どうしても行入力演算子でやりたければ
$/ = \1024;
while (<IN>) { ... }
で 1024 byte 単位で読めるけど、素直に read 使った方が
速かったかと。
340:336
03/05/27 01:07 .net
たしかにそうですね。
改行コードを探しながら進むので遅いと。
341:山崎渉
03/05/28 17:05 .net
∧_∧
ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎―◎ 山崎渉
342:nobodyさん
03/05/28 18:05 .net
age
343:nobodyさん
03/05/28 23:45 01rk8ElD.net
ファイルの書き込みを追記にしたばあいの負荷ってどうなるんですか。
たとえば書き込むものは同じとして、
追記先のファイルが1行のときと1000行のときでは
CPUメモリ負荷はどうなるんでしょう。
追加するだけだから大して変わらないかなと思ったんですけど。
344:あぼーん
あぼーん.net
あぼーん
345:鷹
03/05/29 00:29 KW4sDDhu.net
$kazu=(((($my_tech-int(rand($my_tech/4)))*$job_dmg[$job])*$tarou)/$mstamina)*$stamina;
このように一気に計算させるのと、
いくつもに分けて計算させていくのでは
負荷は変わるのでしょうかね?
変わるのならどちらが軽いと思いますか?
346:nobodyさん
03/05/29 00:52 .net
>>341
追記の場合、元のファイルの大きさはほぼ影響しない。
Cをやっている人間ならわかる(はず)だが、
追記と言うのは、ハードディスク上のファイルの終端を探し出して、
そこから新たなデータを埋めて行き、最後にファイルの大きさを示す数値を変更する作業だ。
従って、ファイルの終端を探し出す作業だけが、ベンチマークに影響する。
347:nobodyさん
03/05/29 00:54 .net
>>343
メモリの占有率を調べたいなら、そういうソフト入れてベンチマーク取ればわかる。
そして結果を発表すると皆から感謝される。
むしろ、その式は人間が見やすいかどうかを考慮した方がいいと思う。
348:nobodyさん
03/06/01 05:17 q1DFdt/M.net
下記の中で最も負荷が少ないのはどれでしょうか?
1.printを使い一行ずつ出力
2.ヒアドキュメントで出力
3.別ファイルを作り読み取らせて出力
3は後々便利そうだけど、負荷が気になる…。
349:nobodyさん
03/06/01 07:32 .net
2
350:nobodyさん
03/06/01 10:16 .net
>>346
負荷が少ないって、どっちの?
「省メモリ」? それとも「CPU占有の少なさ」?
351:nobodyさん
03/06/01 11:08 .net
>>346
>3.別ファイルを作り読み取らせて出力
>3は後々便利そうだけど、負荷が気になる…。
じゃあ外部ライブラリとかあまり使わない方がいいよ。CPANもね。
352:nobodyさん
03/06/01 12:28 .net
>>346
1.出力処理が遅い。
2.出力処理は早い。
3.良識ある人間のやること。
一般に、メモリ占有量の低いものの方がウェブには向いているよ。
353:nobodyさん
03/06/01 13:28 .net
>>350
そうか?次々とくる要求に迅速に対応するために処理速度を優先しない?
354:nobodyさん
03/06/01 14:21 .net
webプログラムは、サーバへの負荷も気をつけないといけないと思うけど、
それよりも、トラフィックを一番に考えてる俺は間違ってますか?
355:nobodyさん
03/06/01 16:03 j4GGBbHW.net
>>347-351
どうもです。
356:nobodyさん
03/06/01 16:59 .net
そんな細かい事ぐらいでサーバーから言われる事はまず無いので
私も処理速度を優先させるべきだと思うねぇ。
というか、気にするほど大して変わらない。
基地外なほど膨大なデータを扱うならまだしも。
357:nobodyさん
03/06/01 23:12 .net
想定同時アクセス1000くらいの小さな案件で、
鯖を用意してやるなら、保守性を一番においても問題ないと思う。
358:nobodyさん
03/06/01 23:24 8+Lq3hlg.net
>>355
>想定同時アクセス1000
これって小さいの? 秒間同時アクセス数1000ってことだよね?
359:nobodyさん
03/06/02 02:48 .net
共有メモリを活用する、繰り返し使用する正規表現はlexで、
大きなプロセスは常駐させてローカルソケットでCGIと通信してCGIは小さく作る、
データベースは下手に使わない、巧く使える場合にだけ使用する。
360:nobodyさん
03/06/03 01:39 .net
>>354
サーバーがつんでるメモリーの量によってどっち優先かは変わると思われ。
メモリー使い切ったらswapのオーバーヘッドがかかってかえって遅くなるし。
まあ、最近のサーバーはメモリーを湯水のように持っているからそんなこと考える必要ないのかな?
361:nobodyさん
03/06/03 05:54 +XIKXuw2.net
Perl5からPerlでもコンパイルした状態で設置できるようになったと読んだんですがどうすればできますか?
362:nobodyさん
03/06/03 08:09 .net
>>359
perlccを使う。
使ってどの程度早くなるかは知らんけれどね。
363:nobodyさん
03/06/03 12:08 Sjj3JYUN.net
>>358
共有鯖ならいくらメモリ積んでいようと割り当てられるのは
微々たるもの
364:nobodyさん
03/06/03 21:29 .net
>>360
散々言われてていることだが、perlccではモジュールはろくすっぽ使えないので注意。
365:nobodyさん
03/06/03 21:58 +XIKXuw2.net
>>360
早速やってみたところかなり速くなりました。
でもサイズが2kちょいから800kほどに...
366:nobodyさん
03/06/03 22:22 .net
>>363
perlcc使ったことあるけど、2kじゃなくて2MBになったよ
367:364
03/06/03 22:22 .net
スマソ
368:nobodyさん
03/06/05 20:39 .net
mod_perlだと数倍早くなるのに
perlcc だと1割くらいじゃない?
369:nobodyさん
03/06/08 21:06 .net
>>366 ウェブサーバ組込み式にはかなわんよ。
370:nobodyさん
03/06/20 01:47 .net
ダブルクオートを極力使わないだけで結構速くなるらしい。
理由は説明しなくてもわかるよね?
371:nobodyさん
03/06/20 22:16 .net
>>368
'"'でくくると中に'$'が入っているかを検査してるから?
372:nobodyさん
03/06/21 10:37 .net
>>369
Yes she does!
373:nobodyさん
03/06/24 04:14 .net
>>370
それはホントなの?
374:
03/06/24 08:22 .net
>>371
Yes she does!
PHP のメーリングリストなんかでも、
速度を少しでも稼ぎたいときの小技として紹介されることがあるね。
375:nobodyさん
03/06/25 18:56 .net
すべてのルーチンを一つのファイルにまとめてしまうのより、
ひとつひとつルーチン毎にファイルを分けて、
一度に呼び出す方が負荷が大きいですか?
376:nobodyさん
03/06/25 22:26 .net
>373
漏れもそれ思うんだが、ファイルをまとめようが分割しようが、
結局たいした大きさじゃないので、どっちもオンメモリってことない?
377:nobodyさん
03/06/25 23:20 .net
使わないコードを解釈させない為に分割するんであって、
分割しても常に全部使うのなら、まとめた方がシステムコールが
減っていいと思う。
Perl だったら CGI.pm でやってる遅延読込が参考になるかと。
あれはあれでメモリ食いそうだけど。
378:nobodyさん
03/06/26 03:31 .net
>>375
それじゃ、useでモジュール呼び出すより、
requireで、必要な所で呼び出す方が良いって事ですね。
379:あぼーん
あぼーん.net
あぼーん
380:nobodyさん
03/06/26 03:55 .net
>>376
別に必要になったところでuseすればいいんでないかい?
そうそう、SelfLoaderかまして起動時には一部しか読み込まれないように工夫しないといかんね。
381:あぼーん
あぼーん.net
あぼーん
382:あぼーん
あぼーん.net
あぼーん
383:nobodyさん
03/06/26 13:46 .net
requireはそこに来た時点で読み込まれる。
function hoge() {
require('hoge.php');
}
hoge(); らなければ読まない。
Perlも同じく。
384:nobodyさん
03/06/27 16:09 sG/tHFOo.net
コメントを山ほど書いたら負荷になります?
スクリプト自体軽くした方がいいんでしょうか。
385:nobodyさん
03/06/27 16:19 .net
>>382
富士山ほどのコメントを書いたら負荷になります。
386:nobodyさん
03/06/27 16:25 .net
>>382
わかるほどの差は出ないからちゃんと書いといたほうがいいよ
387:あぼーん
あぼーん.net
あぼーん
388:nobodyさん
03/06/28 00:11 .net
>>384
ってことは、少しは変わるんだ…。
389:nobodyさん
03/06/28 00:19 .net
>>386
体感できるほどの差ではない、つまり実質0
390:nobodyさん
03/06/28 14:07 M/F9ZoCi.net
>>387
でも少しは…。
↓以下ループ。
391:nobodyさん
03/06/28 14:11 jkMqlRkL.net
>>388
ってことは、少しは変わるんだ…。
392:nobodyさん
03/06/28 15:08 .net
変わるんだ…。
393:nobodyさん
03/06/28 16:21 .net
速度と分かりやすさのトレードオフ
394:nobodyさん
03/06/28 22:51 .net
WWW
395:nobodyさん
03/06/29 00:15 .net
正直言って、コメントなんか処理速度に関係なんかない。
そりゃ、数百Mとかのコメントとか入れてたら、
メモリへロードするのが遅くなるだろうが、
処理速度そのものは、何の影響もない。
396:nobodyさん
03/06/29 08:04 .net
え????
コンパイル時に無視されて、コンパイル結果もキャッシュされる
わけなんだから、全く影響しないんじゃ?
397:nobodyさん
03/06/29 13:20 .net
>>394
コンパイル結果に反映されないのは当たり前
コンパイル時に無視するためには最低限の判定が必要
要はコメントかどうか判定するフラグが少ないに越したことがないのか
という話でしょ
398:nobodyさん
03/06/29 22:00 .net
CgiPerl , CgiPHP , mod_php のうち速度が一番なのはmod_phpなのは知ってるけど
負荷が掛からないのはどれ?
399:nobodyさん
03/06/29 23:38 .net
>>396
その中に、なぜmod_perlがないんだ?
400:nobodyさん
03/07/01 16:46 67Ffrssk.net
printで一行づつ出力するか、
変数にデータを入れて、printで一気に出力するかどちらが負荷少ない?
それともヒアドキュメント使うか。
どれよ?
401:nobodyさん
03/07/01 19:31 .net
mod_perlは一般的じゃないよ。
402:nobodyさん
03/07/01 19:43 .net
薬物使ったベンジョンソンみたいなもん?
403:nobodyさん
03/07/01 20:02 .net
>>399
mod_perlそんな速くないよ。
404:nobodyさん
03/07/01 20:04 3/m58fAf.net
>>398
そうそう、オレも知りたい。結構悩むんだよなー。みんな
その辺の使い分けはどうしてるの?
printよりechoのが速いってのは聞いた事あるけどね。
405:nobodyさん
03/07/01 20:06 .net
とりあえずバッファリングなしは効率が悪い。
406:403
03/07/01 20:14 .net
そういえばPerlにCのfflushのような関数はないのかな?
$|=1;print "";$|=0;とやるしかない?
407:nobodyさん
03/07/01 22:48 .net
>>398
変数作って一気に出力する。
エンコード自由に変換して掃き出せるようなものの場合はどうしてもこうなる。
ヒアドキュメントは
$aya=<<EOL;
あやや
あひゃひゃ
EOL
で変数ぶち込めるし。
408:nobodyさん
03/07/01 23:25 .net
>>401
どういう使い方してんだ?
409:nobodyさん
03/07/02 00:38 .net
echo "
うほっ
いい男!
";
これでいいだろ
410:nobodyさん
03/07/02 08:14 .net
>>399
mod_phpも同じだ。
>>401
速度は、
mod_perl > mod_php > CGI Perl > CGI php
の順。ちゃんと実験したサイト行って、見て来い。
411:404NOTFOUND
03/07/02 20:09 .net
>>408
>mod_phpも同じだ。
PHP可を謳っている鯖屋はmod_php可という意味で、CGI可(※)を謳っている鯖屋は、
CGI/Perl可という意味で謳っていると思うのだがどうだろうか?
CGI可に比べてPHP可の鯖屋が少ないのは事実だが、mod_Perlを使える
鯖屋を見た事がないのは、漏れの調べ方が甘いからなのか・・・
※)一般的にCGI=Perlという認識があるのでこのような書き方をあえてしたが・・・
つまり何が言いたいかと言うと、mod_php使える鯖がそんなに非一般的では
ないんではないかという事だ。
412:nobodyさん
03/07/02 21:32 .net
mod_php っていう言い方、あんまきかないんだけど、
cgi版じゃない普通(というか一般的というか)のphpってこと?
413:nobodyさん
03/07/02 21:52 .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対応(ただしコマンドライン版)」という表記をみかけます
414:nobodyさん
03/07/02 22:52 .net
>>411
レン鯖(共有鯖)ではmod_perlを提供できないって事?
って事は一般的な環境ではPHP>perlつー事?
415:410
03/07/02 23:27 .net
>>411
なるほど。さんくすです
416:nobodyさん
03/07/03 09:14 .net
でもな、Perlには、FastCGIとかもあるからな。
417:
03/07/04 19:40 .net
>ちゃんと実験したサイト行って、見て来い。
ああいう非現実的な試行環境に統一して対照されても参考にできないよね、、
まだmsがやったベンチ結果のほうがdqnぽくない
PHP5のケース別ベンチやってくれんかな
個人では実験環境が作れないしzendの情報だけでは激しく不安だし、、
話は変わって、itboostのtips「効率的な処理」に、phpのループ構造は遅いから、
コールバック関数を繰り返し呼び出すとphpではなくcレベルでループが走ってくれるて
いいよってネタがあるけど、これはどうなん?
(あれはcountを一度にすれば大差ないような気もしつつ、、。
個人で実行速度を計測するといえば、ループ処理のことだと言ってもいいかと
おもうんだけど、これってphp特有の問題?
418:411
03/07/06 09:05 .net
>>412
ハンドラ好きにさせるのはもってのほかなので
Apache::RegistryかApache::PerlRunを提供するしかないと
おもうのですが、前述の問題があり、自分の知識内では
不可能と判断しています。
(他に良い方法がないか探してるのですが...)
>>414
FastCGIも、共有サーバだとデーモンプロセス上がりまくりで
現実的では無いような気がしますが^^;
419:nobodyさん
03/07/06 09:07 .net
>>ちゃんと実験したサイト行って、見て来い。
>ああいう非現実的な試行環境に統一して対照されても参考にできないよね、、
どこのサイトを見てるんですか?
420:nobodyさん
03/07/06 13:26 .net
>>417
有名なサイトだよ。35の言語の25のベンチマークによる比較。
URLリンク(www.bagley.org)
421:nobodyさん
03/07/06 13:33 .net
mod_perlとmod_phpの比較は、ここな。
URLリンク(www.linc.or.jp)
422:
03/07/06 23:45 .net
>417
そのへんはコミュニケーションギャップを楽しむところだと思ったり。
423:nobodyさん
03/07/08 03:40 .net
URLリンク(member.nifty.ne.jp)
URLリンク(member.nifty.ne.jp)
このあたりかな?とか思ってました
424:山崎 渉
03/07/15 11:10 .net
__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
425:nobodyさん
03/07/24 09:32 .net
保守?
426:nobodyさん
03/07/25 23:36 .net
↑ageとかんかいッ!
427:nobodyさん
03/07/26 17:01 .net
ageんでも保守はできるでしょ
?>
<html><head><title><?=$title=></title></head>
<?php
と
echo << end
<html><head><title>$title</title></head>
end;
はどっちが軽いんだろうね・・・
428:nobodyさん
03/07/26 17:02 .net
あぁ、 < がひとつ足りないし・・・
429:nobodyさん
03/07/27 01:37 .net
このスレいつも大変参考にさせていただいています。
430:nobodyさん
03/07/27 04:46 .net
>>425
俺は前者だと思う。
431:nobodyさん
03/07/27 10:38 .net
>>428
私もそんな気がして、なるべく上の方使うようにしてる
でも変数が多いところとかは下のやつ使ってる
432:nobodyさん
03/07/28 05:31 .net
PHPに、テキスト中に変数があるかどうか判断させる後者よりも、
明示的にする前者がやっぱ速いかな?特に変数が多いほど。
でも、PHPモードに入ったり抜けたりする負荷(と言えるかな?)を考えると前者のような気もする…
433:nobodyさん
03/07/28 11:41 .net
echo '
<html><head><title>'.$title.'</title></head>
';
これでいいべ
434:nobodyさん
03/07/28 16:40 .net
>>431
長い場合、echoを大量に書くわけにもいかんでしょ
HTMLのフッタ部分は定型に近いから?><?phpを使ってるんだけど
さほど変わらないのかなぁ・・・
435:nobodyさん
03/07/31 10:25 .net
>431-432
URLリンク(www.php.net)
にもあるとーり結局内部的には echo で処理されてるから
あとは可読性の問題じゃないかねぇ。
436:山崎 渉
03/08/02 02:24 .net
∧_∧
( ^^ )< ぬるぽ(^^)
437:ぼるじょあ ◆ySd1dMH5Gk
03/08/02 04:52 .net
∧_∧ ∧_∧
ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎―――◎ 山崎渉&ぼるじょあ
438:nobodyさん
03/08/08 18:33 .net
mod_perlで動かすと、速いときはバカみたいに速いが、
遅いときはイライラするぐらい遅い。
普通こんなにバラツキがあるものなのですか?
439:あぼーん
あぼーん.net
あぼーん
440:nobodyさん
03/08/15 12:34 .net
>>436
新しいhttpdの子プロセス上がった時とかキャッシュがないからでは?
重そうなモジュールは起動時に読み込むようにするとかして
コンパイル時間短くしたら?
441:nobodyさん
03/08/20 12:11 .net
speedyCGIで負荷が高くなると、InternalServerErrorが出るのですけど、
私の書き方が間違っているだけなんですかね?
442:nobodyさん
03/08/20 12:21 .net
>438
mod_perl1.2使ってたとき、モジュールのキャッシュ無視して、別空間にロードされる場合も。
最近のバージョンで改善されているかどうかは不明ですが。
443:nobodyさん
03/08/20 14:50 .net
>>440
モジュールの更新日が変わってるとか%INC消してるとかでなく?
どうやってその現象確認しました?
444:440
03/08/21 18:44 .net
>>441
初回にロードした時間を記録するクラス作って、何度かリロードして確かめた記憶が。
他にも、子プロセス関係で何かしたと思ったけど、忘れた。
%INC消さなくても、ロードされる時はされてましたよ。
ライブラリモジュールに限らず、同一ファイル、同一パッケージ名の空間も
複数のキャッシュが存在してしまうこともしばしば。
それ知って以来、mod_perlは一切使ってませんが。
で、最近のバージョンはどうなんでしょう?
445:nobodyさん
03/08/22 04:06 .net
>>442
webDBで、mod_perlを導入したが、遅い。
まだSpeedyCGIの方がパフォーマンスが良い。
ただ、>>439 の言う通り負荷が高くなると不安定なんだよなぁ。
なんか回避方があったら、教えて欲しいよ。
446:nobodyさん
03/08/22 13:11 .net
>>443
私もWebとPostgresqlで組んでいるのですが、
mod_perlだと、速度のバラツキが尋常でなくて採用を辞めましたよ。
SpeedyCGIが安定さえしてくれれば、何も心配ないのですけどね。
447:nobodyさん
03/08/22 15:05 qLHm82v9.net
PHP使えよ。。
448:nobodyさん
03/08/22 16:34 .net
>>444
DBI.pm使ってるからじゃないの?
それはmod_perlのせいじゃないような気が。
449:nobodyさん
03/08/22 17:25 .net
>>446
DBI使うとダメなんですか?
450:あぼーん
あぼーん.net
あぼーん
451:nobodyさん
03/08/22 23:56 .net
>>447
>>446じゃないが、DBIは遅い気がする。
あとDBIじゃなかったかな?サーバー名にIPアドレスじゃなくて
FQDN指定するとident投げるのって。
identが繋がらないとタイムアウトするまで固まるんだよな。
452:nobodyさん
03/08/23 00:30 .net
そういえば、PostgreSQLの日本語サイト見てたら、以外にも
Perl/CGIで利用しているところが多いのにビビりました。
DBMS使う以上、何らかの効率性を望んでいるのだと思うけど、何故Perl/CGIなんだと問いつめたいよ。
453:nobodyさん
03/08/23 00:44 12CD5sBt.net
>>450
逆に、Perl/CGIだと何がだめなのか説明してみてください。
454:↓このURLにぴんときたら2chビューア
03/08/23 01:44 .net
URLリンク(endou.kir.jp)
URLリンク(homepage.mac.com)
455:nobodyさん
03/08/23 09:33 .net
>>450
漏れはMysq;でPerl/CGIしてるけど、移植元がperlだったから単純に鯖の負荷軽減が目的だったりしたが・・・
それに、Phpだと複雑なソース書ききれんかったろうってのもあるわけだが、お前さんはなにでやれと?
456:nobodyさん
03/08/23 13:18 .net
PHP使えよ。
457:nobodyさん
03/08/23 16:29 IynKNpCX.net
perlなんだが。
ある位置から数行くらい読み込む時、
10kbくらいのファイルと、300kbくらい(要するにでかい)ファイルでは
負荷に違いってあります?
open IN, ...;
for($i=0; $i<10; $i++){
$line = <IN>;
...処理
458: } close IN; みたいなプログラムでつ。
459:nobodyさん
03/08/23 16:46 .net
>>455
どうやって「ある位置」までファイルポインタを移動させるかに依る。
行単位で空読みさせて移動するよりは seek 一発の方が速い。
その例だとファイルの先頭からだから変わらん。
460:nobodyさん
03/08/23 19:02 V3x8NgSH.net
>>453
Perlで書けてPHPで書けない「複雑ソース」って何?
461:nobodyさん
03/08/23 19:07 .net
LHA圧縮。
462:nobodyさん
03/08/23 19:20 .net
>>457
最近あまり追ってないんだが、
PHPってtermiosによる端末制御できたっけ?
fork()は出来るけどpipe()は出来たっけ?
あと、PHPはスコープが滅茶苦茶だから(まぁPerlも変だけど)
あまり大きいソースを多人数で書くのには向いてないと思う。
463:455
03/08/24 10:10 XoFfp7Kp.net
>>456 サンクス
1行の文字数が不定なんでseekで飛ぶことが難しいんす。
2chログのように301-400だけ表示みたいな場合は
やっぱ空読みしてるんかな。
464:nobodyさん
03/08/25 08:37 .net
>>460 間違いなくシークしてると思う。
465:455
03/08/25 11:33 .net
でもどうやってx行目を見つけ出すの?
適当にread系のcgiを漁ってみたけど、やっぱ空読みしてるみたいだわ。
466:nobodyさん
03/08/25 12:48 .net
>>462
1000行程度なら空読みでいいと思う。
万単位になったら、インデックスと作るとか対策考えろ。
467:nobodyさん
03/08/25 13:26 .net
>>462
1、行ごとのファイルポインタを記録してある。
2、一定件数ごとに、ファイルポインタを記録してある。
3、2chは入力値の長さが決まっているから、固定長フォーマットにしてある。
これだけのアクセス数があるところで、空読みは考えにくいな。
板のトップで、数千行単位で空読みされるのですか?
468:nobodyさん
03/08/25 14:55 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より呼び出される回数は圧倒的に少なく
それほど問題にならない気が。
469:nobodyさん
03/08/26 10:19 .net
>>465は説得力がありますね
470:nobodyさん
03/08/27 01:27 .net
useって宣言した場所によって読み込まれる時期が違うの?
それならJcodeなんかは先頭でuseせずに
送られてきたデータのチェック済ませてから読み込ませた方が良いのかな。
#チェックにJcode使うなら別だけど
471:nobodyさん
03/08/27 02:23 .net
>>467
URLリンク(www.perldoc.com)
URLリンク(www.perldoc.com)
472:nobodyさん
03/09/04 01:48 .net
ホッシュホッシュ
473:nobodyさん
03/09/05 00:46 .net
SpeedyCGIでどうやったら、負荷が高いときのエラーが無くなるんだろう。
もう訳がわからん。
474:nobodyさん
03/09/05 23:36 .net
>>470 マンシスペックを上げる
475:nobodyさん
03/09/06 18:14 .net
>>471
負荷を軽減させるために、>>470がspeedyCGIを入れたんだろ。
ここは、負荷軽減の為のスレだよ。
476:nobodyさん
03/09/17 00:18 .net
ホッシュホッシュ
477:nobodyさん
03/09/17 21:25 Rf3lCYFV.net
PHPの掲示板なんですができるだけ負荷がかからないログの読み込み方法ってどんなのがありますか?
今は書き込みや読み込みの時にfile()で全部取得しているんですがログが増えると負荷が大きくなりそうな気がするので。
478:nobodyさん
03/09/17 22:10 .net
>474
DB使ってね!
479:nobodyさん
03/09/17 22:15 Rf3lCYFV.net
DB使う以外にうまいやり方無いですか?
480:nobodyさん
03/09/17 22:24 .net
>476
ないですね!
逆に、なんでDB使うのいやなんですか?!
481:nobodyさん
03/09/17 22:36 .net
>>477
なんで必死なの?
482:nobodyさん
03/09/17 22:55 .net
>478
474が悩み事の矛盾に気がつかないからだよ!
483:nobodyさん
03/09/17 22:59 .net
>>477
2ちゃん程度の規模でもDBなぞ使ってないんだが。
ていうか、逆に2ちゃんをDBで書き直したらえらい事になると思うが・・・。
普通のBBSって書き込みはFIFOだし、読み出しはシリアルだから
逆にDB使うほうが負荷が大きくなる。
484:474
03/09/18 00:06 .net
DB使うのが嫌っていうか使ったことないので
DB使わずにfile()以外のやり方ないかと思ったんですが
485:
03/09/18 00:52 .net
>481
スレ読めよ。
486:nobodyさん
03/09/18 00:58 .net
ん?なんか問題あるか?
487:nobodyさん
03/09/18 01:28 .net
問題ないだろ
488:483
03/09/18 07:46 .net
「スレ読めよ」か。「スレタイ読めよ」と勘違いした。
489:nobodyさん
03/09/18 09:35 .net
>474
データ構造を固定長にしてバイナリファイルに格納しておき
fseek fread fwrite などを使えば部分処理が出来るから負荷は
減ると思うよ
490:nobodyさん
03/09/18 15:34 .net
SpeedyCGIでエラーが頻発したので、PerlからCに移植した。
えらく辛かったが、めちゃくちゃ速くなった。
491:nobodyさん
03/09/24 13:10 .net
apacheの軽量化が威力あると言うが、
具体的にどういったモジュールを消せば良いのだろう。
492:nobodyさん
03/09/24 13:16 .net
mod_rewrite
493:nobodyさん
03/09/24 13:56 .net
>488
とりあえずスレ違いと思われ
スクリプト上で解決可能な話題が主題かと思う
494:nobodyさん
03/09/24 14:07 .net
推敲しようぜ。
495:nobodyさん
03/09/24 22:58 Fv8u9zA+.net
★最新アダルト情報はこちらです★
URLリンク(click.dtiserv2.com)
496:nobodyさん
03/09/25 07:19 .net
人よりちょっと知識の多い香具師が少ない香具師を馬鹿にするスレはここですね。
497:nobodyさん
03/09/25 10:11 .net
>>490
apacheもスクリプトも両方チューニングして、
「負荷軽減対策委員会」と呼べるような気がするのだが…
498:nobodyさん
03/09/25 10:39 .net
>>1を見る限りそうとは思えないけどな
方針変更という事で・・・