2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

☆負荷軽減対策委員会(Perl、PHP)★

1 :ジークハルト ◆VUxx/EwNXI :02/10/15 10:33 ID:ifgLRUyb.net
サーバ上にPerlやPHPを置く場合、何よりも重視しなければ
ならないのはサーバへの「負荷」。
負荷の高いCGIの使用は削除対象となるのが目に見えてます。
負荷を軽減させるにはどうすればいいか?
どういう書き方をすればいいか?
そんな委員会を開設しました。

2 :nobodyさん:02/10/15 10:42 ID:???.net
掲示板はYahooのジオボードでも使っているように.htmlファイルを作成するようにする
データベース系はGoogleのように検索されたものを必ずキャッシュして次回同じ語が検索された時に備える

3 :nobodyさん:02/10/15 10:44 ID:???.net
いちいち負荷を気にしてるようじゃァ、やらないこった!

4 :nobodyさん:02/10/15 10:48 ID:???.net
>>3
負荷軽減は速度アップに繋がる事が多い

5 :ジークハルト ◆VUxx/EwNXI :02/10/15 10:51 ID:ifgLRUyb.net
>>2
なるほど、、、

>>3
負荷を気にする人のためのスレよ

6 :nobodyさん:02/10/15 10:52 ID:???.net
負荷軽減と速度アップは相反することが多い。

アルゴリズムの工夫なら速度アップにつながる事が多い。

7 :nobodyさん:02/10/15 11:01 ID:???.net
負荷かかる順番としては
Ruby>>Java>>Perl>>PHP>>>>>>>>>C++
と考えていい?

8 :nobodyさん:02/10/15 11:03 ID:???.net
PHPでもXREAの凍結対象になる程かなり負荷かかるんですが
何かいい方法は?

9 :nobodyさん:02/10/15 11:07 ID:???.net
>>4,>>6
どっちが正解?

10 :nobodyさん:02/10/15 12:42 ID:???.net
やっぱPerlで掛け算とかは負荷になるのかな?
内部でOPコードが処理してるのなら足し算も掛け算も一緒だろうけど。

11 :nobodyさん:02/10/15 12:49 ID:???.net
>>10
そうなん??

12 :nobodyさん:02/10/15 15:25 ID:???.net
>>8
XREAってモジュールのやつはなくなったの?

13 :nobodyさん:02/10/15 15:26 ID:???.net
>>12
え?モジュールって?

14 :nobodyさん:02/10/15 15:27 ID:???.net
>>13
mod_phpで動かしてる鯖

15 :ジークハルト ◆VUxx/EwNXI :02/10/15 15:28 ID:???.net
>>13
XREAの規約に

●PHPの動かし方がわからないのですが?
public_html内で動作させる場合は、CGIとしてのみご利用可能です。
shared_htmlで動作させる場合は、モジュール版PHP(SafeMode付き)で
実行できます。

ってあったから
shared_html内に入れれば負荷は軽減できるはず。

16 :nobodyさん:02/10/15 15:30 ID:???.net
>>15
まさかモジュール版とCGI版で同じソース使う気か?
(((( ;゚Д゚)))ガクガクブルブル

17 :13:02/10/15 16:37 ID:???.net
>>15,>>16
shared_htmlって所に入れましたが同じソースで何か問題あるんですか

18 :AAAA:02/10/15 16:54 ID:???.net
モジュール版ってCGIに比べてどれくらい負荷軽減出来るの?
3分の1くらいか?

19 :nobodyさん:02/10/15 17:22 ID:???.net
やっぱ、重要なサイトは押さえておきたいな。
http://www.math.tohoku.ac.jp/~kuroki/WWW/HowToLighten.html
他にある?


20 :nobodyさん:02/10/15 17:35 ID:???.net
>>18
http://perl.apache.org/start/tips/registry.html
の下の方に、hello.cgiがmod_perlだと、243/7.3倍に
なるそうだ。hello.cgiのコードも書いてあるけど、まあ、相当な
もんだなや。





21 :nobodyさん:02/10/15 17:35 ID:???.net
>>19
某無料スペースで掲示板CGIを2500個設置したら
2日で消された

22 :nobodyさん:02/10/15 17:39 ID:???.net
>>21
自業自得ってことで


23 :nobodyさん:02/10/15 17:40 ID:???.net
負荷軽減の極意
(1)Perlを使うなPHPで書け
(2)PHPはApacheのモジュールを使え

24 :21:02/10/15 17:41 ID:???.net
>>22
FTPへのアップに一晩かかったってのに(泣

25 :age:02/10/15 17:42 ID:???.net
負荷かかる順は
Ruby>>Perl>>PHP>>>>>>>>>>>>Java
か?

26 :nobodyさん:02/10/15 18:00 ID:???.net
>>24

(プ
被害者は君じゃなくて"某無料スペース"の方。

27 :_:02/10/15 19:18 ID:???.net
>>21
2500個もの掲示板を何に使うんだ?
俺は都道府県掲示板っつーのを作った事があるが、掲示板タイトルを
それぞれ都道府県名に変えるだけでもウンザリしたよ。

28 :nobodyさん:02/10/15 20:30 ID:???.net
>>23
Perlもモジュールで動かせるけどな

29 :21:02/10/15 20:32 ID:???.net
>>27
レンタル掲示板のサービス

30 :nobodyさん:02/10/15 20:34 ID:???.net
>>17
問題ありますねぇ
この辺りはマニュアルを読んだ方がいいと思う
ソースを変更しないならshared_htmlに置かないで普通にCGIとして動かした方がいい

31 :nobodyさん:02/10/15 20:35 ID:???.net
>>29
(・∀・)カエレ!!

32 :nobodyさん:02/10/15 20:44 ID:???.net
>>29
氏ね!

33 :nobodyさん:02/10/15 21:21 ID:???.net
>>29
専用サーバ借りてください。
つーか回線も要るけどな。
お前みたいな厨はホント邪魔。

34 :nobodyさん:02/10/15 23:22 ID:???.net
レンタル掲示板するにしても、
2500個て・・・

1ユーザー、1スクリプトなんだぁw

35 :21:02/10/15 23:37 ID:???.net
>>34
1ユーザ1スクリプトが当たり前でしょ?
それ以外何があるのさ

36 :nobodyさん:02/10/15 23:39 ID:???.net
>35=21
ある意味すげぇ

37 :nobodyさん:02/10/15 23:43 ID:???.net
>>35

ワラタ

38 :21:02/10/15 23:56 ID:???.net
>>36,>>37
ダメなの?

39 :nobodyさん:02/10/16 00:06 ID:???.net
無料鯖の時点でダメ。

40 :nobodyさん:02/10/16 00:07 ID:???.net
>>21
その掲示板にバグが見つかったら、2500個すべて直すのか?
どうせ広告貼ってるんでしょ?
その広告がボツになったり、もっと良い広告があったら
2500個すべて張り直すのか?
申し込みがある度にアップするのもメンドイ

簡単な例をあげると
「魔法のあいらんど」
ttp://ip.tosp.co.jp/i.asp?i=ユーザー名
元は「i.asp」一個だけ

41 :21:02/10/16 00:12 ID:???.net
>>40
あ・・・・・
今気付いた・・・・・
どうしよう・・・・・

42 :21:02/10/16 00:15 ID:???.net
複数設置用を1個用に改造するのって簡単かな・・・・?

43 :ジークハルト ◆VUxx/EwNXI :02/10/16 00:23 ID:???.net
>>42
そんな君にはこれがオススメ。
http://cgiroom.nu/list/level_up/room/index.htm

44 :nobodyさん:02/10/16 00:27 ID:???.net
清々しいまでに阿呆だ。


まぁ取り合えず専鯖借りれ。話はそれからだ。

45 :21:02/10/16 00:34 ID:???.net
>>44
専鯖借りたらPHP直してくれる?

46 :nobodyさん:02/10/16 00:34 ID:b9+Rgnoa.net
>>27
都道府県ということは47個だろ?なら5000個なんてとんでもない個数だな。。。

47 :nobodyさん:02/10/16 00:35 ID:???.net
>>45 ふざけんなボケ

48 :21:02/10/16 00:38 ID:UJRd9C8p.net
>>47
うっさいハゲ氏ね

49 :nobodyさん:02/10/16 00:41 ID:???.net
とうとう21は自分が禿であることをカミングアウトした訳だが。

50 :nobodyさん:02/10/16 01:26 ID:???.net
>>46
つーか1つでできる

51 :nobodyさん:02/10/16 01:28 ID:???.net


−−−−−−−−−−このスレッドは終了しました−−−−−−−−

52 :nobodyさん:02/10/16 06:19 ID:z+MacZfD.net
つか、掲示板スクリプトにちょっと手直ししてやるだけで1つだけで複数の掲示板が使えるじゃん。
ファイル名、タイトル名などの情報をデータファイルに書き込んで、変数で取得したユーザーIDと一致すれば
それを適用すりゃいいんだし。


53 :nobodyさん:02/10/16 06:31 ID:???.net
* 危険 *

厨に知識を与えないで下さい。

54 :nobodyさん:02/10/16 07:08 ID:???.net
>>53
同意。どうせ汚染チェックすらしない糞スクリプトが出来るだけ。

55 :1:02/10/16 08:36 ID:???.net
あのー、
負荷軽減対策スレなんですけど(汗

56 :nobodyさん:02/10/16 09:31 ID:8AIPTE76.net
mod_gz使って転送するかどうか迷っています。
gz読めるブラウザって、どのくらいの割合なんでしょうか。
また、gzする負荷と疥癬の負荷を考えると。ううむ
ケースバイケースですね。

57 :nobodyさん:02/10/16 10:08 ID:???.net
>>56
gz問題無いと思うよ

58 :nobodyさん:02/10/16 10:24 ID:pcpH7Mcq.net
軽い掲示板はここ行って
http://www.i-say.net/cgi/

これで検索しる。
HTML html

59 :nobodyさん:02/10/16 10:28 ID:???.net
シンプル、ツリー、iモード掲示板をチェックしてor検索ね。

60 :マリモーマ:02/10/16 10:32 ID:jc3XYznE.net
sub{
}
を 全部 別ファイルに 分けるのは どうかな?

61 :nobodyさん:02/10/16 10:57 ID:???.net
>>60
大して知識も無いのに発言するのは止めたほうがいい
大多数の一般人に誤解を与えかねん

62 :21:02/10/16 11:03 ID:???.net
質問していいですか

仮に2500個の掲示板を設置するとして、
共用サーバでそれやったらアホだけど
専用サーバなら何の問題も無いかな?
ダウンしたりしないかな?
重くならない?

63 :nobodyさん:02/10/16 11:05 ID:???.net

>>21
君はもうここに書かない方がいいよ。
君のためにも他の人のためにも。

64 :21:02/10/16 11:45 ID:???.net
>>63
頼みます 教えてください!

65 :nobodyさん:02/10/16 11:51 ID:???.net
荒らしまがいの糞レスが散らばってますが、
負荷軽減ってそもそも誰かのために不利になることってあります?
その筋の荒らしではないかと小一時間。


66 :nobodyさん:02/10/16 11:53 ID:???.net

ソース書き直す必要がでてきたらめんどいってことかな。

67 :nobodyさん:02/10/16 12:06 ID:8AIPTE76.net
>>62
あのお。なんのために「制御構造」とがあって、「くりかえし」ができるようになっているのか考えてことがありますか?

68 :nobodyさん:02/10/16 12:08 ID:8AIPTE76.net
>>57
サンクス。gzやってみます。


69 :Tech ◆kKlzwv9K3g :02/10/16 12:10 ID:???.net
>>65
共有サーバ使ってる時負荷大きいと同じサーバ上の他会員が迷惑すると思うが

70 :21:02/10/16 12:11 ID:???.net
>>67
つーか意味わかんないんだけど
こちら小学生なんでもっとわかりやすく頼みます

71 :nobodyさん:02/10/16 12:14 ID:???.net

実際に自前で鯖立ててやってみ。
そこまでできるようになったら知識もついて
もうちょっとましな方法が思いつくだろ。

72 :nobodyさん:02/10/16 12:23 ID:CHU8gz5p.net
>>70
幼女ならJAPU氏が優しく教えてくれるかもしれませんよ(藁

73 :21:02/10/16 12:59 ID:???.net
>>70
俺はオトコだ

名前は橋本秀明
年は11
鹿児島県在住じゃけぇ

74 :nobodyさん:02/10/16 13:01 ID:???.net
>>73
自作自演?

75 :nobodyさん:02/10/16 13:02 ID:???.net
鹿児島の人間じゃないことだけは確かなようだ。

76 :21:02/10/16 13:04 ID:???.net
>>74
誰とだ

>>75
何で分かるんだよ?

77 :ジークハルト ◆VUxx/EwNXI :02/10/16 13:06 ID:???.net
>>76
「負荷軽減対策」っつってんでしょ
レンタル掲示板関係はよそ行って下さい

78 :nobodyさん:02/10/16 14:02 ID:YPyufUJw.net
「Writing Efficient PHP」とか。
http://www-105.ibm.com/developerworks/education.nsf/web-onlinecourse-bytitle/729C6A8BF14CE7F086256BF1006711EA?OpenDocument

79 :nobodyさん:02/10/16 14:22 ID:???.net


−−−−−−−−−−このスレッドは終了しました−−−−−−−−

80 :nobodyさん:02/10/16 14:23 ID:???.net
兎に角Yahooに倣え
和塩含めて、負荷軽減はかなり追求してるから

81 :nobodyさん:02/10/16 15:40 ID:???.net
小学生で引き篭もりでつか。

82 :nobodyさん:02/10/16 15:52 ID:???.net
apache軽量化するのが一番効果ある。
mod_perlより、普通のcgiのほうがトータルのスケーラビリティは
上という場合もある。
いらないモジュールは全て削る。
モジュールはスタティックにコンパイルする。
あと、httpd.confの書き方も重要。
perlで言えば、超軽量のhttpd+speedyCGI
これが最もサーバーに負荷をかけない。

83 :ジークハルト ◆VUxx/EwNXI :02/10/16 16:00 ID:???.net
>>82 を負荷軽減対策委員長に命ずる

84 :nobodyさん:02/10/16 16:49 ID:???.net
SpeedyCGIはお手軽だねぇ

85 :nobodyさん:02/10/16 18:00 ID:8AIPTE76.net
phpでメソッド呼び出したときの内部変数って、メソッドが実行し終わったら
unset()されるのでしょうか。

たとえば、メソッド内でファイルを読み込んだ入りして、
場合によっては$hogeのサイズが100k超えたりするわけです。

それから、HTMLに書き出す内容をすべて変数に入れちゃって、あとでまとめて
echoする方法をとっていたりすると、結構その変数のサイズ大きくなりますよね。

ご教授お願いします。


86 :nobodyさん:02/10/16 19:21 ID:???.net
大量のレコードを処理するときは、一行づつ読み込こめば、軽くなるよ
んで、出力するのだけ、メモリに入れればオッケーと思います

87 :デフォルトの名無しさん:02/10/16 21:33 ID:???.net
小学生またまた乱入。
要するに、いろいろな要因の絡み合いだから、場合によってってところだね。
0)使用言語の選択
1)プログラム(スクリプト)の設計
1-1) メモリ領域
1-2) CPU時間
3)アクセス数
4)サーバのキャパシティ
5)他には?
これをうまく図で表せればいいですね。僕はまだ習ってません。




88 :デフォルトの名無しさん:02/10/16 21:35 ID:???.net
>>86
だから、軽くなっても長くかかるのはどうかなぁと。
アクセス数が少ないサイトなら重くても速いのがいいんじゃぁと。


89 :nobodyさん:02/10/16 22:25 ID:???.net
まあアクセス増えた後自分の首絞めたいならどうでも良いよ。


90 :nobodyさん:02/10/16 22:33 ID:vfA8qHJl.net
このタイトル、ひかれますね。
私は今、チャットの負荷軽減を頑張っています。
使用しているのはKENT-WEBのYY-CHAT。
現在は分割処理で
ログ表示CGI
フォーム部分CGI
書き込みCGI
退室CGI
入室前CGI
に分割させ、いらない機能はすべて取り外しました。
さらにこれから
(1)そのスクリプトをC言語化
(2)新規発言のみを読み込むJavaプログラムを追加
させようと考えています。

91 :nobodyさん:02/10/16 22:43 ID:QZ0dtDWe.net
PHPですが、
$hoge = "<img src=\"$foobar\">\n";
と書くのと、
$hoge = "<img src=\"". $foobar ."\">\n";
と書く方法がありますが、
どちらがよいのでしょうか。

私は、エディタのハイライト機能で変数の色を変えていため、後者を使っています。
でもいっぱい変数を使う文字列だと、前者のほうが便利だね。

92 :nobodyさん:02/10/16 23:12 ID:???.net
このスレの中で>>1は一度も役に立っていない

93 :nobodyさん:02/10/16 23:21 ID:YIcW4FL9.net
>>91
単純に、後者の方が動作が速いとどこかで聞いた記憶があるので、
いつも後者にするようにしてます。

94 :nobodyさん:02/10/16 23:29 ID:???.net
>>91
$hoge = "<img src='$foobar'>\n";
という方法もある(たいしたこと無いが

95 :nobodyさん:02/10/16 23:44 ID:wbW/xBZm.net
書きやすいとか、なれている方でいいんでないの。
どっちが速いかなんて、体感じゃわからないでしょ。

ちなみに俺は
$hoge = '<img src="'.$foobar.'">';
こんな感じで書いてる。改行はつけないよ。
改行をつける場合は
$hoge = '<img src="'.$foobar.'">'."\n";
こんな感じ。他と分離させる。一目でわかりやすいから。

96 :nobodyさん:02/10/17 00:08 ID:vMdIvLO8.net
>>88
1ぎょうづず読み込んでも大して長くはならないけど?
メモリがパッツンパッツンサバでも、メモリ空間を節約出来るから、結果的に早くなるんです


97 :nobodyさん:02/10/17 00:15 ID:???.net
>>92
あはは

98 :nobodyさん:02/10/17 00:21 ID:UE/uqZMn.net
>>96
漏れは掲示板のログファイルなんかは
1行づつ読み込んで、いるモノだけ配列に渡す。

インデックスのための小さなファイルなどは file()で一気に読み込む。

適宜使い分けている。

でも、上にもあるように、100KB位なら、一気に file() で読み込んでしまっても
いいのではないかと思ってしまう。

あとPHPで

while (!feof($fp)) {
  $buffer = fgets($fp, 2048);
}
とかやってるんだけど、
fgetsせずに行をスキップするにはどうしたらいい?

99 :nobodyさん:02/10/17 01:31 ID:vMdIvLO8.net
>>98
100KBで一気にですか、、、すごいですね。。。
負荷軽減対策委員会という意味ではなしかと。。。

>while (!feof($fp)) {
>  $buffer = fgets($fp, 2048);
>}
>とかやってるんだけど、
>fgetsせずに行をスキップするにはどうしたらいい?

fgetcsvか、fseekしてfread。


100 :nobodyさん:02/10/17 07:49 ID:???.net
たまに、初期設定で設定される変数の内容だけで、数十KBにもなるものがあるが、その方が問題だったりして。

101 :ジークハルト ◆VUxx/EwNXI :02/10/17 09:04 ID:???.net
>>92
あいたたた・・・

じゃせめてこのスレの内容まとめて
負荷軽減対策委員会の公式サイトでも起ちあげますか・・

102 :nobodyさん:02/10/17 12:39 ID:CzH1ES8f.net
gzip処理をすると転送料は減りますが
サーバへの負荷はどうなると思いますか?
gzip処理をすることでサーバへ負荷がかかるとしたら
何kbを越えるくらいをめどにgzip処理を施すのが妥当でしょうかね?
例えば2kb程度を転送するくらいならgzip処理は必要ないでしょうか?
ご享受願います。

103 :nobodyさん:02/10/17 13:57 ID:???.net
>>102
FEPか表示フォントの設定大丈夫ですか?
圧縮ファイルだって未圧縮ファイルだって転送時には
同じバイト列でしょ。


104 :nobodyさん:02/10/17 14:09 ID:CzH1ES8f.net
>>103
すいません、意味が分かりません。
サーバの負荷を考えるとgzip圧縮処理は必要なのでしょうか?

105 :nobodyさん:02/10/17 14:11 ID:???.net
>>103
2ちゃんねるのログ(300K)

サーバで圧縮(100K)

HTTPで転送(転送量1/3でウマー)

ブラウザーで解凍、表示

106 :nobodyさん:02/10/17 14:13 ID:???.net
>>104
ケースバイケース


107 :nobodyさん:02/10/17 14:23 ID:frKHjIQw.net
>>104
>>>103
>すいません、意味が分かりません。
禿同。
サーバ負荷軽減だけでなく、帯域の負荷を減らすことで
単位時間内のリクエスト数を伸ばすことが出来るのでgzipが
有効な場合もある。


108 :nobodyさん:02/10/17 14:32 ID:???.net
>>104
転送「量」でしょ、ご「教授」でしょ。
日本語大丈夫ですか?って書こうかと思ったがよ。
漏れは、そんなに更新が激しいデータじゃなきゃ、
1回のgzipで何人分かができて、転送のためにファ
イルアクセスされる時間が減るから、gzipした方が
いいと思って言ったんだけどね。解凍するのは、
ユーザだから知ったこっちゃないし(藁


109 :nobodyさん:02/10/17 14:44 ID:C3AsJ9gC.net
htmlの場合、gzに対応していないブラウザのために、
(ある程度のシェアがあると言われているMacのIEでも対応していないのがある)
無圧縮のやつも作らなくてはいけないのが不便

これとは別に、PHPで、出力をダイナミックに圧縮、非圧縮とかえるには
どうしたらいい?

110 :nobodyさん:02/10/17 14:54 ID:???.net
>>109
 output_handler = ob_gzhandler
 
昔のバージョンだと駄目だが、4.2.xなら
Accept-Encoding: gzipの有無に依って
圧縮、非圧縮をダイナミックにおこなってる。
マニュアルみれ。

111 :nobodyさん:02/10/17 14:55 ID:lo6hZWi4.net
>>108
gzip圧縮処理ってリアルタイムじゃないの?
(調べもせずにものを言ってみました)

112 :nobodyさん:02/10/17 14:59 ID:???.net
>>111
リアルタイムはpopenとか使って出力をgzipにパイプしたときでしょ?
>>108が言っているのはgzip圧縮されたファイルのことじゃない?

113 :112:02/10/17 15:01 ID:???.net
サイト丸ごとアップするときはtar+gzipでアーカイブにしてからアップしています。
アップ後はtelnetから解凍。

114 :nobodyさん:02/10/17 15:11 ID:???.net
>>109
無圧縮のものも作った場合、どうやって振り分けているの?
「文字化けするようなら〜から入ってくれ。」と入り口に書いておくの?

115 :nobodyさん:02/10/17 15:20 ID:???.net
>>114
ApacheのMultiView

116 :nobodyさん:02/10/17 15:25 ID:???.net
>>110
サンクス
とりあえずスクリプトの先頭に
ob_start("ob_gzhandler");
を入れてみました。


117 :109:02/10/17 15:27 ID:???.net
すんません
ブラウザ(モジラ)で確認してみたら、
Content-Type が text/htmlのままなんですけど。
gz転送されているのかな?

118 :nobodyさん:02/10/17 17:06 ID:???.net
さあ?

119 :102:02/10/17 17:22 ID:PB+UxjCo.net
>>108
ご指導、ありがとうございました。
享受の方は素で間違えていました。

gzip圧縮処理の流れは>>105さんの
分かりやすい説明どおりに把握しているのですが
まだ詳しい内容は無知なので理解できませんでした。
調べてみようと思います。
チャットのように更新の頻度が多いものについては
gzip圧縮はしない方がいいということですね。

120 :102:02/10/17 17:26 ID:PB+UxjCo.net
連続の投稿ですいません。負荷軽減対策において、
NPHスクリプト化はやらないよりやった方がいいと思います。
あと、チャットにおいて私は負荷を抑えられると思い、
jcode.plをrequireしていません。(文章おかしくてすいません)
これは不具合が出るものなのですかね?

121 :nobodyさん:02/10/17 17:28 ID:???.net
mod_gzip とか mod_deflate 使ってる?

122 :102:02/10/17 17:29 ID:PB+UxjCo.net
>>121
mod_perlとか耳にしますがよく分からないのです。
共用サーバでも使用可能なのでしょうか?

123 :102:02/10/17 17:30 ID:???.net
バイトの時間が来てしまいました。レジをうってきます。
ここはブックマークしておくのでまた、参考にさせてもらいます。


124 :nobodyさん:02/10/17 20:52 ID:???.net
mod_deflate って 2.0 からなのか〜(残念

125 :K:02/10/17 20:55 ID:???.net
>>111
俺は転送量下げるために自作したよ。
更新の少ないものはキャッシュすれば良い。
でも、mod_gzipで良いんだよな……。
つーか、ob_gzhandler知らなかったYO(自爆

126 :nobodyさん:02/10/17 21:22 ID:???.net
>>116と同じで、俺もスクリプトの先頭でgzip圧縮転送をしている
ob_start("ob_gzhandler");
これは、html出力をバッファしてgzip圧縮して送信するものだから、
鯖側は圧縮の分負荷が高く、ブラウザ側も徐々に表示されず一気に表示する(少し待たされる印象)
その代わり、転送量が減る・回線が細くても多少マシという利点がある。
ケースバイケースだが、負荷を減らそうというスレの趣旨には合わないんじゃないか?
#つか、1行追加するかしないかだけの話だがね。

127 :nobodyさん:02/10/17 22:14 ID:???.net
俺は試しにチャットのログ表示部をgzipしたけど、
表示は体感できるほど速くなったよ
リロードしても、ちらつきが無いと言うか、
圧縮無しだと、まばたきする感じなんだが、それが無くなった。
鯖負荷は、MRTGやTOPコマンドじゃ解らなかった。(多分ほとんど負荷無し)

チャットは計6部屋で共有鯖なら追い出される位の参加人数。
いちお、Perlでgzip対応ブラウザかどうか調べて、対応してたら圧縮してる。

でも、どっかのサイトに、「鯖に余裕があるならgzipをするべし」
みたいな事書いてたから、圧縮に多少負荷がかかるんだろーね


128 :109:02/10/17 22:14 ID:???.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 ID:???.net
それに、ブラウザでの表示の方法は、ブラウザのbehaviourじゃない?

130 :109:02/10/17 22:18 ID:???.net
>>126
「負荷」はプロセッサの「負荷」も回線の負荷も両方考えるべきでは?
WebProgでは特に

131 :nobodyさん:02/10/17 22:21 ID:???.net
ナローバンドのみ圧縮とかできる?

132 :126:02/10/17 22:54 ID:???.net
>>130
そうだね。あとはメモリを無駄に使わないという所かな。

>>131
出来ない。家を出発前に渋滞を予想できないのと同じ(か?)

133 :109:02/10/17 23:09 ID:???.net
>>131
鯖がナローバンドだったらわかるかな
クライアントならわからん

134 :nobodyさん:02/10/17 23:24 ID:???.net
ホストで調べるとか…
ブロードバンド特有のホスト名が付いてるトコってあるじゃん?
調べまくって自分でデータベースを作る。
すっごい時間と労力がいるけどね…


135 :109:02/10/17 23:48 ID:???.net
思いついた。

最初にアクセスしたときに、リモホをとってPINGしたりして
疥癬の早さを調べる。それでgzするかしないかを決めて、
その結果をクッキーで食わせる。



136 :126:02/10/17 23:58 ID:???.net
UIがあるなら、圧縮転送する/しないを選択させれば良いじゃん。
CGI側で判断するものではないだろう?

137 :102:02/10/18 01:03 ID:???.net
http://www.abi-station.com/
ここのAbicorporationという掲示板と居酒屋チャットというチャット、
ソース見ただけで頭が痛くなるのは俺だけだろうか。

138 :nobodyさん:02/10/18 01:13 ID:???.net
>>137
それはABI言語で書かれていますw

ってかスレ違い?
負荷が凄そうって言いたいの?

139 :102:02/10/18 01:23 ID:???.net
>>138
負荷がすごそうっていいたいのですw
シェアウェアで爆弾売ってるようなものっすね。

ちなみに俺がCGIチャットで一番、負荷をかけないのは
「ぞのちゃっと」だと思うのですがどうでしょう?

140 :nobodyさん:02/10/18 03:17 ID:???.net
>>139
俺のチャットが一番軽いと思う。
PHPだし、面倒だから配布はしてないけど。
でも、現在のメンバーを表示すると重くなるね。
FlashやJavaAppletの方が良いに決まってるからsage。

141 :ジークハルト ◆VUxx/EwNXI :02/10/18 09:48 ID:???.net
CGIスクリプト&ログの、ファイル容量を減らすことって
負荷軽減につながりますかね?

142 :ジークハルト ◆VUxx/EwNXI :02/10/18 09:51 ID:???.net
>>140
FlashってCGI使ってないっけ?

143 :nobodyさん:02/10/18 12:46 ID:GnEXGk2/.net
>>140
すごく興味があります。
ぞのちゃっとはC言語ですがphpはそれよりも軽いのでしょうか?

144 :nobodyさん:02/10/18 13:57 ID:LQtlqqOK.net
>141
設計によるけど、単純に負荷軽減つながるはず


145 :144:02/10/18 13:59 ID:LQtlqqOK.net
てか、、、、、、ほんと設計しだい

146 :nobodyさん:02/10/18 18:55 ID:3gkhdVf3.net
今、2チャンネル型のスクリプトをPHPで作っているのですが、
やっぱりフロート型って、負荷大きいですよね。
(書き込む人夜読む人の方があっと言う的に多いので、)
htmlファイルを生成したのだが、名前部分のクッキーが読み出せない
仕方なくJSで読んだのだが、文字化け。
PHPで食わせたクッキーはJSで読むとうまくいかないのか?

147 :nobodyさん:02/10/18 19:15 ID:???.net
>>146
化けない文字コードでクッキーを焼く。
ブラウザのお口に合うクッキーを食わせる。

など…

148 :146:02/10/18 19:52 ID:3gkhdVf3.net
>>147
サンクス。MBCS関連充実してきたので、UTF-8で試してみます。
しかしまあ、urlencode-decode間でしてくれるうえにグローバル変数に自動的に入る
PHPに比べて、JSはめんどくさいですね。

149 :nobodyさん:02/10/18 21:31 ID:???.net
JavaScript なのか JScript なのか……

150 :nobodyさん:02/10/19 00:01 ID:???.net
JavaServletかもしれんぞ。
ま、146は単語もまともに打てないほどの面倒くさがり屋さんと言う事で。

151 :デフォルトの名無しさん:02/10/19 01:35 ID:???.net
>>150
いいじゃん、「あっと言う的」、2典に登録しようよ。



152 :nobodyさん:02/10/19 02:17 ID:???.net
(≧∇≦)

153 :126:02/10/19 18:09 ID:???.net
さがっているねぇ。この板の負荷にならないようにしているって事なのかなぅ(上出来

154 :102:02/10/19 23:31 ID:???.net
ネタがないですねw

155 :\:02/10/20 10:09 ID:ASG3cWoM.net
PHPの掲示板でログファイルが500kBあるんですが
消さないと負荷って凄いですか?

156 :nobodyさん:02/10/20 10:37 ID:???.net
処理に依る。

157 :nobodyさん:02/10/20 10:38 ID:???.net
>>155
あなたの「凄い」がどの程度なのかわからないけど、
その掲示板のコードにもよるんじゃない?

掲示板のログで500kbだと3000行近くなってるんじゃない?
読み込んだり書き込んだりするのに、3000回ループする様なコードを書いてるんだったら、
考えモンだね…

ファイル丸ごと読み込んでるんだったらメモリも食うし


158 :レンタル掲示板”管理”者:02/10/20 11:59 ID:???.net
>>21

キミ最高だね。ほんとアホ以外の何物でもない。しねよ。

159 :102:02/10/20 12:08 ID:q/B8ESF1.net
すごい厨房な質問ですいません。
例えば500kb(300行)のログファイルがあって

open(IN,"ろぐふぁいるぱす");
@lines=<IN>;
close(IN);

というように配列に内容を入れた場合
ファイル丸ごと読み込んでることになるのでしょうか?

160 :nobodyさん:02/10/20 12:14 ID:???.net
>>159
なる

161 :デフォルトの名無しさん:02/10/20 12:24 ID:/npcfUW0.net
>>159
Perl初心者コーナーで一行ずつ読み込んで処理するのと
どっちが早いか議論してたさ。readで読み込むのも比較
してたで。2・3日前だっけな。



162 :nobodyさん:02/10/20 13:32 ID:???.net
一行ずつ処理したとしても、Perlでは本当に以前に使っていた領域が開放されているかどうかはわからんな。
Perlを開発している人たちなら分かるだろうけど。


163 :nobodyさん:02/10/20 13:41 ID:???.net
>>162
>以前に使っていた領域が開放されているかどうか

以前に使っていた領域って、変数のことだろ? 1行ずつ代入しては処理を
繰り返してるから変数に代入されてる分は領域だろ? 開放もなにもないだろ

164 :nobodyさん:02/10/20 13:43 ID:???.net
>>163
C言語でも勉強してきて。


165 :164:02/10/20 13:47 ID:???.net
ちなみに領域というのはメモリー上に確保した領域のこと。


166 :nobodyさん:02/10/20 13:58 ID:???.net
>>164
>C言語でも勉強してきて。

( ´,_ゝ`) プッ

167 :nobodyさん:02/10/20 14:32 ID:???.net
>>120
NPHスクリプト化でnph-chat.phpは可能ですか?
NPHはPHPでも使えるのでしょうか?

168 :nobodyさん:02/10/20 15:09 ID:???.net
>>164
こういうことが言いたいのか?
http://www.mikeneko.ne.jp/~lab/perl/tuning/

169 :nobodyさん:02/10/21 20:11 ID:???.net
mod_perl + gzip 最強

170 :nobodyさん:02/10/22 00:30 ID:???.net
ふむふむ。

171 :nobodyさん:02/10/22 03:41 ID:???.net
俺はZ80とかFortrunとか変な言語でCGI作るのが趣味なんだ

172 :nobodyさん:02/10/22 04:31 ID:???.net
Fortrunという言語はたしかに変ですなあ。

173 :カミ:02/10/22 13:51 ID:haL4weU7.net
キタ━━━━(゚∀゚)━━━━ッ!!キタ━━━━(゚∀゚)━━━━ッ!!キタ━━━━(゚∀゚)━━━━ッ!!
さあ、何でも聞いてよ。

174 :カミ:02/10/22 13:54 ID:haL4weU7.net
カエッタ━━━━(゚∀゚)━━━━ッ!!カエッタ━━━━(゚∀゚)━━━━ッ!!カエッタ━━━━(゚∀゚)━━━━ッ!!
時間がなくなったので帰ります。

175 :102:02/10/22 15:04 ID:nYDyJAf0.net
>>172
高度な突っ込みですね。

176 :あぼーん:あぼーん.net
あぼーん

177 :126:02/10/22 15:38 ID:???.net
>>175
じゃあ、Z80は言語じゃない、なんて突っ込みも許されるかひ?

178 :nobodyさん:02/10/22 16:10 ID:???.net
>>171

Fortrun という言語について、詳しく教えて下さい。

179 :nobodyさん:02/10/22 18:50 ID:???.net
>>177
Z80は言語じゃない、ガラスです
ttp://www.watch.impress.co.jp/av/docs/20021022/sharp.htm

180 :nobodyさん:02/10/23 13:13 ID:dAD4Tigy.net
Perlの一般的なスクリプトの場合、
ログを読み出すとき出力を直接printで表示しているけど、
出力を$buffer .= "〜";というように一つの変数にまとめておいて
最後にprint $buffer;とした方が速いのかな。
imode用のスクリプトはContent-lengthヘッダを出すためにそうしてるけど。

変な日本語でスマソ

181 :nobodyさん:02/10/23 15:19 ID:???.net
最初が表示されてから最後が表示されるまでは速いだろうが、
最初を表示するまでが遅くなるだけじゃねーの?

imode程度なら良いけど、メモリ食うだけじゃない?

182 :nobodyさん:02/10/23 15:53 ID:???.net
>>180
2chのread.cgiがまとめて表示だったら嫌だ。

183 : ◆hMJAPH9PWA :02/10/23 18:46 ID:???.net
>>180
出力する量にもよるだろうけど、最後に一気に出力の方が早いって事は無いんじゃないかな。
Content-Lengthが必要ないならあえて選択する方法じゃないね。

184 :102:02/10/23 22:07 ID:???.net
思ったんですけどKENTさんのYY-BOARDって無駄な処理が多くないでしょうか?
レスのトップソートがある場合、ない場合とかもっとスマートにできそう。

185 :nobodyさん:02/10/23 22:32 ID:???.net
>>184
ガイシュツすぎる
Kentの使わないで自分でいいやつ組むのがよろし。

186 :102:02/10/23 22:34 ID:???.net
>>185
そうなんですか。KENTさんもバージョンアップの繰り返しで
無駄な処理を省くのが面倒なんでしょうね。
今、YY-BOARDを元に新しい掲示板を作っています。

187 :nobodyさん:02/10/24 08:03 ID:???.net
Kentを元にするなって。
最初から作った方が、良いものが作れる。


188 :nobodyさん:02/10/24 10:36 ID:???.net
ニュースCGI(読み込む時に常に1MBのlog.csvを読み込む)を、
ログの容量減らす以外でこのスクリプトの負荷を軽減する方法を
いくつか教えてください。

又、これってApacheのモジュール版PHPに変えたら負荷はなくなりますか?

189 :nobodyさん:02/10/24 11:44 ID:???.net
ニュースCGIを使うのを止める。

190 :nobodyさん:02/10/24 11:59 ID:???.net
>>189の方法が一番負荷が減るけど。
後は、何で全部表示するのにcsvにするの?最初からhtmにしとけばぁ。
ほいで、前から議論に出てるgzipで固めればぁ。
何かのキーで検索するんなら、DBMにすればぁ。
早いし全部ファイルを総なめにする必要ないから負荷激減だね。


191 :nobodyさん:02/10/24 12:03 ID:???.net
>>187 禿しく尿意!

192 :nobodyさん:02/10/24 12:51 ID:???.net
>>189
いや、つーか・・ええ!?

>>190
CGIの拡張子をHTMLにしてもだめですかね
ダメですよね・・・

193 :nobodyさん:02/10/24 12:54 ID:???.net
負荷下げたいならapache2.0+mod_perlでいいんじゃねーの?
要はプロセス作成が重いんだし。
あとは、スクリプトのアルゴリズム次第。

194 :102:02/10/24 14:02 ID:???.net
>>187
open(IN,"?????")||&error("情報ファイルを開くことが出来ませんでした");
($no,$ip,$time)=split(/<>/,IN);
$no++;
close(IN);

最後にこれくらいの処理だけが面影として残ってる場合は著作権表記は必要ないと思いますか?

195 :nobodyさん:02/10/24 14:24 ID:???.net
>>194
コードの面影が残っていなくても
設計の面影が残っていたら著作権表示は必要(だと思う)

しかし、現行の著作権法では、「アイデア」には著作権はなく、
具現化されたモノにのみ著作権があるので、大丈夫かな。

しかし、著作権以外の知的所有権はあるね。

まあ、ここは、KENTにどのくらい「リスぺくと」してるかによって
自分で決めればいいんじゃない?

…と勝手なことを逝ってみる

196 :102:02/10/24 14:40 ID:???.net
>>194
>>193の部分を記述がめんどくさいのでコピっただけなのですがね。
参考になりました。スレからすれてすいません。

197 :太郎:02/10/24 16:43 ID:???.net
>>195
MAKIMAKIは消していいですか?

198 :nobodyさん:02/10/24 19:17 ID:???.net
>>196
>スレからすれてすいません。
( ´_ゝ`)

>>197
画像使うんなら消しちゃダメでしょ。

199 :太郎:02/10/24 23:16 ID:???.net
>>198
画像使わなかったら?

200 :nobodyさん:02/10/25 00:28 ID:???.net
そんなん知るかボケ。本人に聞け。

201 :nobodyさん:02/10/25 00:53 ID:???.net
>196
日本語キーボード派?

202 :nobodyさん:02/10/28 11:06 ID:???.net
2chみたいのじゃなくていわゆる普通の掲示板で
HTML吐き出しタイプの場合、「次のページ」とか
「次の10件」とかの処理どうするの?
『ログ保存数/1ページ表字数』回HTML出力したら
余計負荷かかりそうだし。

203 :nobodyさん:02/10/28 12:51 ID:???.net
>>202
???
ユーザがデータ追加する度に「次の10件」って変わるのか?

204 :nobodyさん:02/10/28 14:05 ID:???.net
>>202
トップページだけHTML表示にすればいいと思うよ。
全ページをHTML表示するのにはあまり意味はないと思います。

205 :nobodyさん:02/10/28 22:38 ID:???.net
次バージョンで修正した方がいいかな〜と思った点について
>>0-

>>1-100
などとした場合、返信数が多いとサーバに負担がかかる(例えば返信数が80件あると80回も表示処理を繰り返すことになる)と思いますので、例えば20件で表示を中止させる、といった処理を加えた方がいいと思います。

-------------------------------------------------

Re: v1.2 レポート ( No.38 )
日時: 2002/10/28 19:22
名前: abc


>>37
改造物を作り配布しょうとガンガって居る者がなんつー・・

スレッドログの容量分を反映させる訳だから、余程パンパンに膨れ上がった文字数で書かれているスレッドじゃない限り、デフォルトの100件maxとしても1スレッド500KB前後を読み込むだけかと。

うーん。勘違いしてますの。


こんなやり取りを見つけたんだけどどう思う?前者は100件を
一気に表示させるのはサーバに負荷がかかるだろうから制限した方がいいといって
後者はそれを否定している。

206 :nobodyさん:02/10/28 22:39 ID:bqKuFdrO.net
http://www.kent-web.com/bbs/patio/patio.cgi?mode=view&no=544

ちなみにここ
やはりWEB PATIOってサーバに負荷かけるのかな?

207 :nobodyさん:02/10/29 11:25 ID:???.net
一般的にどれぐらいの負荷でサーバから文句言われるの?
箱庭諸島とか禁止ってる所多いけど

208 :nobodyさん:02/10/29 11:50 ID:QTfCZ5sA.net
普通の掲示板ごときでサーバに負荷なんてかかるもんなんでつか?

209 :nobodyさん:02/10/29 17:46 ID:???.net
使ってるスクリプトや使い方による。

210 :nobodyさん:02/10/29 20:15 ID:???.net
>>206



                 ま た K E N T か





211 :nobodyさん:02/11/01 09:24 ID:???.net
Pentium4 1.6GHz RAM512MBの専用サーバなら
FF Adventureをいくつぐらいまで設置できますかね?
参加人数が1つの設置につき50人ぐらいとして。

212 :nobodyさん:02/11/01 13:46 ID:???.net
>>211 3個が限界

213 :211:02/11/01 15:22 ID:???.net
>>212
どういう計算で3個という数が出たんですか?

FFAdventureのPHP版(Apacheモジュール版)を作ろうと思ってるんですが
それならその2倍くらい置けそうですよね?

214 :nobodyさん:02/11/02 03:38 ID:???.net
まずは作れyo

215 :age:02/11/02 16:50 ID:???.net
FFAdventureが負荷かかりやすい理由は?

216 :nobodyさん:02/11/02 18:07 ID:???.net
>>215
厨のF5地獄

217 :nobodyさん:02/11/02 23:20 ID:rdTV1RKU.net
>>215
それとIE以外のブラウザで戻るボタン多用。

Pen4 1.6GHzよりもPen3 1GHz×2の方がいいわな。
Pen4よりもPen3かCeleronの方がCGIがサクサク動くよ。


218 :nobodyさん:02/11/03 01:39 ID:???.net
↑Win厨( ´,_ゝ`) プ

219 :nobodyさん:02/11/04 13:03 ID:UUsMIZp7.net
厨行為がなくても負荷は掛かりやすい。
・同時プレイ人数が多い(多いところだと10人以上)
・ゲームという性質上、計算など処理量が多い。
チャットも上の性質を満たすが、それ+αなわけだ。

220 :nobodyさん:02/11/04 13:07 ID:UUsMIZp7.net
でも、デフォルトのFFAの更新頻度は10分になっているから
それならば本来、そんなに負荷は掛からないはずなのだ。
ただ、最近CGIを全然知らない負荷を意識しない奴が
平気に「短い方が良いに決まってるじゃん」という
理由で更新頻度を30秒とかにしちゃってるから問題になってるわけだと思う。

221 :あぼーん:あぼーん.net
あぼーん

222 :nobodyさん:02/11/04 15:10 ID:Y3fUpfXy.net
異常にレベルの低い議論が続いてますね。
TOCでも勉強するといい
ボトルネック見極めないで憶測で議論しても意味ナイ

223 : :02/11/04 16:29 ID:???.net
ping -f pc.2ch.net
.
.
.
.
.
.
今日も快適だ

224 :nobodyさん:02/11/05 14:57 ID:???.net
掲示板とか運営するならCGIはログ読み込み+書き込み、だけやらせて、
タグ付けはクライアントサイドでやらせる、

負荷軽減

225 :nobodyさん:02/11/05 15:00 ID:???.net
>>202
全てのデータをXMLで吐かせておいて、
XSL+JavaScriptで表示、これで解決

226 :nobodyさん:02/11/05 20:27 ID:???.net
>>224
そうするとかちゅーしゃ等を使うのが一番手っ取り早いね。

227 :age:02/11/06 08:44 ID:???.net
Yahoo!メッセンジャー有料化だそうです
http://www.metalflame.com/mm/lovely_mm.htm

228 :nobodyさん:02/11/06 17:21 ID:???.net
>>227 ブラチラ

229 :age:02/11/09 08:48 ID:???.net
ブラチラで終了かよ!

230 :nobodyさん:02/11/09 11:56 ID:E2/H+5gT.net
>>227はブラチラじゃないよ


231 :nobodyさん:02/11/09 12:07 ID:IRpoTYp2.net
ブラクラ

232 :nobodyさん:02/11/14 16:08 ID:???.net
ブラクラって何ですか?
体験させられはしたんで、何の略かを知りたいのでそ。



233 :nobodyさん:02/11/14 17:50 ID:???.net
ブラでクラクラ

234 :nobodyさん:02/11/14 17:55 ID:???.net
検索汁

235 :nobodyさん:02/11/14 20:19 ID:???.net
>>234
そか、検索ね。アリガd。
ttp://www.coara.or.jp/~tkuri/BCC/faq.htmは、よかった。
browser crusher / crasherってなってるけど、crashなんてねーぞ。



236 :235:02/11/14 20:28 ID:???.net
いっけね。あったよ。crashの方がコンピュータがクラッシュするって
いつも使ってるやつね。crushは、もみつぶす。俺の英語力もとほほや。
逝ってくる


237 :age:02/11/15 09:16 ID:???.net
データの転送量さえ少なければCGIの負荷ってかからないよね?

238 :238:02/11/15 09:18 ID:8BLO7GsJ.net
コバルトサーバ → CGI不向き
Pentium III    → CGI可
Pentium IV    → CGI最適

の図式で合ってる?

239 :238:02/11/15 09:20 ID:8BLO7GsJ.net
コバルトサーバ → CGI不向き
Pentium → CGI最適

と考えてよろしいか?

240 :nobodyさん:02/11/15 10:03 ID:???.net
>>237 なわけねーだろ

241 :nobodyさん:02/11/15 11:40 ID:???.net
>>238
Pentium使ってるCobalt serverはどうなるの

242 :nobodyさん:02/11/16 02:53 ID:???.net
perlでHTMLとか吐くとき
ヒアドキュメント使うのと全部printで表示するのはどっちがいいんですか?

243 :nobodyさん:02/11/16 14:45 ID:???.net
>>242
表示したい文字列を全て一つの変数に入れて、最後にprintする

244 :nobodyさん:02/11/16 16:47 ID:???.net
>>243
お手軽だけどメモリバカ食いだねw

245 :nobodyさん:02/11/16 20:52 ID:???.net
>>244
ところでHTML::Templateって結局>>243だよね。
$tmpl->output(\*STDOUT);
みたいにしてテンプレートに変数流し込むそばから
すぐprintできるとうれしい…。

246 :nobodyさん:02/11/17 12:14 ID:YRaU2xF9.net
つーか
@RANKING = $RANKING[
sort {$tmp1[$b] <=> $tmp1[$a] or $tmp2[$b] <=> $tmp2[$a]
}
0 .. $#tmp1];
ってなperlの部分をphpになおしたいんだが
だれか教えてくれないでしょうか?


247 :nobodyさん:02/11/17 18:05 ID:???.net
@tmp1 を主キー
@tmp2 を副キーにしてソートしてるだけのような。


248 :nobodyさん:02/11/18 04:29 ID:???.net
>>214
FFAのPHP版がもう少しで
できそうです。

249 :age:02/11/18 11:06 ID:???.net
>>248


250 :nobodyさん:02/11/20 18:27 ID:???.net
神は禿げていた、、、と

251 :nobodyさん:02/12/22 15:32 ID:/yTei76p.net
lkh

252 :nobodyさん:02/12/22 15:43 ID:???.net
>>248
どうかね。できたかい?

253 :nobodyさん:02/12/23 01:32 ID:???.net
漏れ様の貧弱なマシンではよォ、use DBI;で0.20[s]もオーバーヘッドがかかりやがる。

use Pg;で0.13[s]なんだ。。。

やっぱApacheDBIにしたほうがよさげ?

254 : ◆grDYeooZwg :02/12/23 13:38 ID:IPdi8EVE.net
最近、ここのYomi-Searchを改造してPath Infoに対応させた。
ロボット型検索エンジンからの直リンクが多いので、デコード処理をしない分
負荷軽減になるとおもうけど、どうおもう?

255 :nobodyさん:02/12/24 16:19 ID:???.net
>>252
じゃあこのスレにもひっそりと宣伝。現在配布に向けてテスト中。
あまり大々的にしてないので、参加者が少ないです。
もし暇な方とかいたらよろしく。
http://www.s55.net/~paka/

256 :nobodyさん:02/12/31 02:35 ID:TxzAlG2p.net
>>255
PHPにしたからって普通の鯖屋が
「FFA、箱庭は禁止ですがPHP版であれば設置可能です」なんて
言うと思えんとこがつらいな。

257 :nobodyさん:02/12/31 11:13 ID:???.net
>>255
例えば自分が設置しているS55netさんだと、
本来ゲームなどの高負荷CGIは+1000円になるのですが、
同じ料金のままにしてもらってます。

具体的に負荷をチェックしてみてくださいって言ってみるといいかもね。
それでも負荷が多かったら禁止されてもしょうがないし。

258 :nobodyさん:02/12/31 11:14 ID:???.net
ああ、でもFFA禁止って言うのは負荷だけじゃなくて
改造による暴走の危険性も考えてのことかな・・・
そうするとつらいかも。

259 :nobodyさん:03/01/14 15:39 ID:???.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 のやり方がいいとは思うけど。

http://member.nifty.ne.jp/hippo2000/perltips/html/template.htm はちょ
と古いね。

260 :山崎渉:03/01/15 13:39 ID:???.net
(^^)

261 :nobodyさん :03/01/17 23:14 ID:???.net
あの、漏れもFFAを軽量化しようと改良してるところ。
メインの画面のhtmlとかをJavaScriptで生成して2回目からは
クライアント側でキャッシュできるかな?と
思ってますがかなり軽量できますかね?

262 :nobodyさん:03/01/25 16:11 ID:gv57Iyhs.net
>>261
師匠、いくらプログラムをいじったってパソコンは軽くならないですよ。

263 :nobodyさん:03/02/10 00:29 ID:???.net
>>262
質量保存の法則ですか?

264 :nobodyさん:03/02/10 11:12 ID:???.net
電源から電気をもらっているわけで
HDの容量が変わると電荷の分増えたりしないのか?


265 :nobodyさん:03/02/16 11:56 ID:???.net
>>264
んなこたーない。

266 :nobodyさん:03/03/01 17:02 ID:???.net
2ショットサイト作成中なんですが、チャットってログはテキストより
SQLにした方が負荷は低いですか?
チャット自体はモジュールのPHPで動かす予定なんですが。


267 :nobodyさん:03/03/01 17:06 ID:???.net
>>266
ログは多くても100件保存できればOKでしょ?
だったらテキストの方が良いに決まってる。

268 :nobodyさん:03/03/01 21:11 ID:+zEIIVTI.net
>>266
チャットは
mod_perlで常駐させて
配列にログ入れて
ファイルアクセスをなくすと
めっちゃ早かったでつ。

んで、保存ログは20行以下に切り詰めて
ブラウザ側でJavaScript使ってログを保存・表示させていく方式が
よろしかろう・…というか、よろしかったでつ。



269 :266:03/03/02 10:48 ID:???.net
>>276
チャット一つあたりのログは精々10〜20件ぐらいですね。
他に管理者用のコソーリ覗き見スクリプト(ログ全件保存)ってのも
作ってあったりしますが^^;

>>268
mod_perlは普通に動くスクリプトをそのまま動かせるんだったら
試してみようとも思うんだが。お手軽さならPHPに流れちゃうね。
そういえば自分、JavaScriptは全然わけわかめだった^^;

270 :ハッカ飴:03/03/02 23:25 ID:???.net
>>244
1ページ分を1つの変数に入れたとしてもせいぜい50KB。
たいしてメモリを食わないと思うんだがどうだろう?

271 :nobodyさん:03/03/03 15:53 ID:???.net
辞典みたなものをCGIで作ろうと思ってるんだけど、データをHTMLで保存するか
ログファイルに保存して毎回CGIで表示するか迷ってる。
CGIサーバが5MBしか容量ないので保存データ量を節約したいけど負荷が気になる。
1日500件もアクセス無いはずだから別にいいかな?

272 :nobodyさん:03/03/10 14:42 ID:e5Gc6Qds.net
>>271
辞典の更新頻度、検索の手段によるのでは

273 :山崎渉:03/03/13 17:03 ID:???.net
(^^)

274 :nobodyさん:03/04/02 16:48 ID:MBb6MhRw.net
質問です。

Windows2000
Apache 1.3.26 win32
ActivePerl 5.6.1

でCGIのテストをしているのですが、
CGIの負荷を数値等で表示してくれるツールってないですか?

今は、タスクマネージャーで見ているのですが、
もっと詳細に負荷の具合を調べたいのですが、

ご存じの方、よろしくお願いします。

275 :nobodyさん:03/04/03 00:43 ID:u5AEaj7N.net
>>274
DProf を試してみたら?

276 :山崎渉:03/04/17 12:10 ID:???.net
(^^)

277 :山崎渉:03/04/20 06:23 ID:???.net
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

278 :nobodyさん:03/04/23 00:06 ID:eNBdthfp.net
あのー、
Perlで、myやlocalをほとんど使っていないってのは、
どのくらいの負荷要因でしょうか?ベスト1?

279 :あぼーん:あぼーん.net
あぼーん

280 :nobodyさん:03/04/23 00:32 ID:???.net
>>278
それで変数のコピーを抑えれば効率的と言えるかも。

281 :nobodyさん:03/04/23 12:57 ID:???.net
>>278
perlの実行ファイルで既に1M近くあるし、モジュールとか読んだら、
もっと増える。
気にするやつは馬鹿。自己満足。知症。
たとえれば、ボルトを全部チタンにして100gの軽量化に成功!とか言ってる
車オタと同類。

282 :nobodyさん:03/04/24 01:07 ID:Dv9rntoL.net
このスレ的な話題をあつかった本って、あります?

283 :nobodyさん:03/04/24 01:31 ID:Dv9rntoL.net
プログラムとデザインをわけようとして、
テンプレート読み込み型のデザインをしていたんだけど、
そのせいなのかなー、急に重くなった気がする

284 :nobodyさん:03/04/24 12:43 ID:UND9RBAr.net
>>283
データ更新の機会がそれほど発生しないものならば、動的にHTMLを生成する
のではなく、データ更新時、静的HTMLを随時生成するのに切り替えるのも一つの
手かと。

285 :あぼーん:あぼーん.net
あぼーん

286 :あぼーん:あぼーん.net
あぼーん

287 :わっしょい:03/04/27 17:57 ID:???.net
http://www.atmarkit.co.jp/flinux/special/php5/php5a.html
速くなるのでしょうか・・・?

288 :nobodyさん:03/04/27 23:41 ID:???.net
>287 phpに速さを求めちゃイカン。

289 :nobodyさん:03/04/28 01:16 ID:???.net
>>288
そう,PHPは実行速度より開発速度

290 :nobodyさん:03/04/28 23:00 ID:???.net
Perlもそうだよ〜

291 :nobodyさん:03/04/30 00:11 ID:7aND3iYJ.net
Perlで3MくらいのCSVを読み書きするのって、
かなりの負荷?

あと、ここのみなさんは、どうして負荷について知識があるんでしょうか?
経験上?

292 :nobodyさん:03/04/30 00:21 ID:???.net
>>291
一回しかやらないのなら
大した負荷にならないが
BBSのログとかだったら負担になるかもね

293 :nobodyさん:03/05/02 05:14 ID:Faf7JYi+.net
オブジェクト指向のプログラムは負荷軽減になるの?


294 :nobodyさん:03/05/02 06:55 ID:???.net
ならない

295 :nobodyさん:03/05/02 10:25 ID:???.net
>>291
DBM使え。簡単だぜ。
郵便番号ファイル(郵政省--いま何たっけ--の)で速度5倍だぜ。
http://www.ichikoro.com/webp/bk/00060.htmlのベンチマーク。
あれ、2Mくらいじゃなかったっけ?


296 :nobodyさん:03/05/02 11:29 ID:???.net
>>288
そうそう。よほど非常識なことをしなければ、スクリプト言語で効率を考えるのはナンセンス。


297 :nobodyさん:03/05/02 15:38 ID:???.net
>>296
>>295にあるように効率はいつも考えるべき。


298 :nobodyさん:03/05/04 07:37 ID:???.net
>>297
そうだね。コードの一つ一つで効率を考えることによって、
全体としてそうとうの負荷軽減になる。例えば、
http://www.mikeneko.ne.jp/~lab/perl/numerical_transform/#h4
ベンチマークで検索してみれ。


299 :nobodyさん:03/05/05 23:05 ID:I0Mrp3iS.net
>>292
そうかー、ちょっと反省。

ところでどなたか、↓の質問答えてほしいです。。。

>あと、ここのみなさんは、どうして負荷について知識があるんでしょうか?
>経験上?

あと、負荷軽減について詳しい本(の一部とか雑誌でも)ないでしょうか?

300 :nobodyさん:03/05/06 00:03 ID:???.net
>>299
ラクダ本買っとけ。


301 :nobodyさん:03/05/07 15:10 ID:???.net
負荷がどうとかと言う人ほど、use strictしたままリリースしそう。


302 :nobodyさん:03/05/09 00:10 ID:???.net
use strict すると負荷がかかるんですか?

303 :nobodyさん:03/05/09 15:22 ID:???.net
>>302
検査する時間が増えるだろ、アクセスごとに検査させるのか。


304 :nobodyさん:03/05/11 11:49 ID:???.net
Cでいえばassert有効にしたままリリースってのに似ているな。
わざとそうしている人もいるみたいだけど・・・

305 :nobodyさん:03/05/15 03:27 ID:zbSE5/sG.net
負荷を測るのってどうすればいいの。
自分のPCで動かしてもよーわからん。


306 :あぼーん:あぼーん.net
あぼーん

307 :nobodyさん:03/05/19 07:37 ID:9ehzYSkO.net
メモリについて質問させて下さい。
例えば
$x="abc";
の後、
$x="";
という記述なしに
$x="def";
とした場合、メモリは、
abcの○○○分と、defの○○○分の
○○○○○○分が確保されてしまいますか?

$x="abc";
$x="";
$x="def";
にすれば
メモリ確保は○○○だけになると思うのですが。

308 :nobodyさん:03/05/19 07:48 ID:???.net
>>307
たぶん・・・
変数へ上書きしたら、ちゃんと初期化(開放)してから、
代入してくれると思ふ。


309 :nobodyさん:03/05/19 08:57 ID:9ehzYSkO.net
>>308
そうですか。
では$x="";は無駄ですね。
ありがとうございます。

310 :nobodyさん:03/05/19 09:06 ID:???.net
Perlは最初に確保したメモリ空間を開放しません。
たとえ、ゼロに初期化しても。undefなら別。
http://www.mikeneko.ne.jp/~lab/perl/tuning/


311 :あぼーん:あぼーん.net
あぼーん

312 :あぼーん:あぼーん.net
あぼーん

313 :あぼーん:あぼーん.net
あぼーん

314 :nobodyさん:03/05/19 15:55 ID:wUacqRGd.net
>>310
何が言いたいのかわからん。

315 :nobodyさん:03/05/19 16:11 ID:wUacqRGd.net
>>310
すんまそん。
メモリ確保を解放するかしないかは分かります。
メモリ確保は○○○分で済むのか、○○○○○○分確保してしまうのかを聞きたいのです。

316 :あぼーん:あぼーん.net
あぼーん

317 :あぼーん:あぼーん.net
あぼーん

318 :nobodyさん:03/05/19 17:41 ID:???.net
詳しく知りたかったら、Perlのソースを読むしかないと思うけど。

319 :nobodyさん:03/05/20 01:00 ID:???.net
>>315
>>310 の記述を見ると、3バイト分しか確保しないように思えたけども。

320 :nobodyさん:03/05/21 00:27 ID:???.net
apacheのログ2,3日分。約4M。PHP。極貧マシン。
while & fgets & copy -> 処理50秒前後 メモリ使用4M前後 CPU100%
file & foreach(or list&each) & copy -> 処理60秒前後 メモリ使用15M前後 CPU100%
fread & copy -> 処理0.5秒前後 メモリ使用4M前後 CMP100%

321 :nobodyさん:03/05/21 15:21 ID:???.net
>>320
PDA以下だね・・・。

322 :山崎渉:03/05/22 02:00 ID:???.net
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―

323 :nobodyさん:03/05/22 15:08 ID:???.net
ったく、山崎のおかげでスレ順めちゃくちゃだ。


324 :nobodyさん:03/05/26 07:37 ID:Hdu0vyT1.net
ファイルをコピーする時って

open(IN,"Src.txt"); #コピー元ファイル Src.txt をオープン
while(<IN>){    # 一行毎の読み込みループで変数$Bufに読み込む
 $Buf .= $_;}
close(IN);     #ハンドル IN が不要になったので閉じる

◇デソースに書き出す
open(OUT,"> Dst.txt"); #コピー先ファイル Dst.txt をオープン
print OUT,$Buf;     #ソースの内容($Buf)を書き出す
close(OUT);       

のように一行ずつ読み込んでく場合と
@line=<IN>;
みたいにいっきに配列に入れてしまうのはどちらが処理としてはいいのでしょうか?

325 :nobodyさん:03/05/26 08:20 ID:???.net
>>324
open IN, '<' . $src or die;
open OUT, '>' . $dst or die;
my $buffer_size = 1024; # 適宜調整
my $buffer;
print OUT $buffer while read IN, $buffer, $buffer_size;
close OUT;
close IN;

326 :nobodyさん:03/05/26 08:36 ID:Hdu0vyT1.net
>>325さん
それが最適なのですか。
勉強になります…。
サイズ1024は何を意味しているのだろう…

327 :あぼーん:あぼーん.net
あぼーん

328 :nobodyさん:03/05/26 11:18 ID:???.net
>>326
1024 byte は 1 kbyte だろ?
コンピュータの基礎じゃねえか。

ま、俺だったらFile::Copyモジュールを使うかも。
バグがあるかも知れないソース書くより楽だし。

329 :326:03/05/26 14:05 ID:mARvDo9Y.net
my $buffer_size = 1024; # 適宜調整
すいません。
これを記述することで何が得なのかを知りたいのでした。

330 :nobodyさん:03/05/26 14:38 ID:kKbCXT+N.net
>>329
実行エンジンにもよるんだけども、メモリを確保する場合、8byte単位とかそういうのが多いから
(アライメント)。
Perlだとどうだか?って気もするけども。

331 :nobodyさん:03/05/26 14:57 ID:???.net
8・・・

332 :nobodyさん:03/05/26 18:41 ID:???.net
>>329
微妙に意味がわからんな……
推測をして回答してみる。
1.$buffer_sizeを設定することで、何バイトずつコピーするのかの設定が可能になる。
この数値を小さくすると、コピー回数が増えるが、メモリーへの負担は減る。
この数値を逆にすると、その逆。
サーバーの具合を見て適宜調整することができる。
2.わざわざ変数を一つ設定することの意味は、変数の名前をわかりやすくすることで、
その変数が何に使われているのかをわかりやすくする。
「昨日の自分は他人」の言葉どおり、後から見た時になんでその数値にしたのか等が判断しやすくなる。

何が聞きたいんだろう……

333 :nobodyさん:03/05/26 21:27 ID:???.net
3. 設定(定数)と実働部分はできるだけ分離する。
>>324のコード片がスクリプトのどこに埋もれていても、
変数 $buffer_size としてスクリプトの頭の方で定義しておけば
簡単にバッファサイズを変更できる。定数で埋め込んでしまうと
変更したい時にいちいち探し回る事になる。

334 :nobodyさん:03/05/26 21:28 ID:???.net
s/324/325/

335 :nobodyさん:03/05/26 21:32 ID:kKbCXT+N.net
Perlは最適化とかしないのかな?
@buf = <IN>
のほうが早かったりして。

336 :nobodyさん:03/05/26 21:50 ID:67MeoiMR.net
open(IN, $src);
open(OUT, '>'.$dst);
print OUT while(<IN>);
close(IN);
close(OUT);

こう書くかも。
readで読み出すバイト数は多い方が速いと思う。当然だけど。
ただ多過ぎるとそれはそれでメモリくったり。

337 :nobodyさん:03/05/26 22:07 ID:???.net
>>335-336
ベンチ取れば分かる事だが、@buf = <IN> はメモリを一気に
確保する = System CPU time を食う。行入力演算子による
取得は「行末」を探す = 可変長入力なので潜在的に read
より遅い処理。もちろん扱うデータのフォーマット & 量次第
だけどね。

どうしても行入力演算子でやりたければ
$/ = \1024;
while (<IN>) { ... }
で 1024 byte 単位で読めるけど、素直に read 使った方が
速かったかと。

338 :336:03/05/27 01:07 ID:???.net
たしかにそうですね。
改行コードを探しながら進むので遅いと。


339 :山崎渉:03/05/28 17:05 ID:???.net
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉

340 :nobodyさん:03/05/28 18:05 ID:???.net
age



341 :nobodyさん:03/05/28 23:45 ID:01rk8ElD.net
ファイルの書き込みを追記にしたばあいの負荷ってどうなるんですか。
たとえば書き込むものは同じとして、
追記先のファイルが1行のときと1000行のときでは
CPUメモリ負荷はどうなるんでしょう。
追加するだけだから大して変わらないかなと思ったんですけど。

342 :あぼーん:あぼーん.net
あぼーん

343 ::03/05/29 00:29 ID:KW4sDDhu.net
$kazu=(((($my_tech-int(rand($my_tech/4)))*$job_dmg[$job])*$tarou)/$mstamina)*$stamina;
このように一気に計算させるのと、
いくつもに分けて計算させていくのでは
負荷は変わるのでしょうかね?
変わるのならどちらが軽いと思いますか?

344 :nobodyさん:03/05/29 00:52 ID:???.net
>>341
追記の場合、元のファイルの大きさはほぼ影響しない。
Cをやっている人間ならわかる(はず)だが、
追記と言うのは、ハードディスク上のファイルの終端を探し出して、
そこから新たなデータを埋めて行き、最後にファイルの大きさを示す数値を変更する作業だ。
従って、ファイルの終端を探し出す作業だけが、ベンチマークに影響する。


345 :nobodyさん:03/05/29 00:54 ID:???.net
>>343
メモリの占有率を調べたいなら、そういうソフト入れてベンチマーク取ればわかる。
そして結果を発表すると皆から感謝される。

むしろ、その式は人間が見やすいかどうかを考慮した方がいいと思う。

346 :nobodyさん:03/06/01 05:17 ID:q1DFdt/M.net
下記の中で最も負荷が少ないのはどれでしょうか?

1.printを使い一行ずつ出力
2.ヒアドキュメントで出力
3.別ファイルを作り読み取らせて出力

3は後々便利そうだけど、負荷が気になる…。

347 :nobodyさん:03/06/01 07:32 ID:???.net
2


348 :nobodyさん:03/06/01 10:16 ID:???.net
>>346
負荷が少ないって、どっちの?

「省メモリ」? それとも「CPU占有の少なさ」?

349 :nobodyさん:03/06/01 11:08 ID:???.net
>>346
>3.別ファイルを作り読み取らせて出力
>3は後々便利そうだけど、負荷が気になる…。

じゃあ外部ライブラリとかあまり使わない方がいいよ。CPANもね。


350 :nobodyさん:03/06/01 12:28 ID:???.net
>>346
1.出力処理が遅い。
2.出力処理は早い。
3.良識ある人間のやること。

一般に、メモリ占有量の低いものの方がウェブには向いているよ。


351 :nobodyさん:03/06/01 13:28 ID:???.net
>>350
そうか?次々とくる要求に迅速に対応するために処理速度を優先しない?

352 :nobodyさん:03/06/01 14:21 ID:???.net
webプログラムは、サーバへの負荷も気をつけないといけないと思うけど、
それよりも、トラフィックを一番に考えてる俺は間違ってますか?


353 :nobodyさん:03/06/01 16:03 ID:j4GGBbHW.net
>>347-351
どうもです。

354 :nobodyさん:03/06/01 16:59 ID:???.net
そんな細かい事ぐらいでサーバーから言われる事はまず無いので
私も処理速度を優先させるべきだと思うねぇ。
というか、気にするほど大して変わらない。
基地外なほど膨大なデータを扱うならまだしも。

355 :nobodyさん:03/06/01 23:12 ID:???.net
想定同時アクセス1000くらいの小さな案件で、
鯖を用意してやるなら、保守性を一番においても問題ないと思う。

356 :nobodyさん:03/06/01 23:24 ID:8+Lq3hlg.net
>>355
>想定同時アクセス1000
これって小さいの? 秒間同時アクセス数1000ってことだよね?

357 :nobodyさん:03/06/02 02:48 ID:???.net
共有メモリを活用する、繰り返し使用する正規表現はlexで、
大きなプロセスは常駐させてローカルソケットでCGIと通信してCGIは小さく作る、
データベースは下手に使わない、巧く使える場合にだけ使用する。

358 :nobodyさん:03/06/03 01:39 ID:???.net
>>354
サーバーがつんでるメモリーの量によってどっち優先かは変わると思われ。
メモリー使い切ったらswapのオーバーヘッドがかかってかえって遅くなるし。
まあ、最近のサーバーはメモリーを湯水のように持っているからそんなこと考える必要ないのかな?

359 :nobodyさん:03/06/03 05:54 ID:+XIKXuw2.net
Perl5からPerlでもコンパイルした状態で設置できるようになったと読んだんですがどうすればできますか?


360 :nobodyさん:03/06/03 08:09 ID:???.net
>>359
perlccを使う。
使ってどの程度早くなるかは知らんけれどね。


361 :nobodyさん:03/06/03 12:08 ID:Sjj3JYUN.net
>>358
共有鯖ならいくらメモリ積んでいようと割り当てられるのは
微々たるもの

362 :nobodyさん:03/06/03 21:29 ID:???.net
>>360
散々言われてていることだが、perlccではモジュールはろくすっぽ使えないので注意。

363 :nobodyさん:03/06/03 21:58 ID:+XIKXuw2.net
>>360
早速やってみたところかなり速くなりました。
でもサイズが2kちょいから800kほどに...

364 :nobodyさん:03/06/03 22:22 ID:???.net
>>363
perlcc使ったことあるけど、2kじゃなくて2MBになったよ

365 :364:03/06/03 22:22 ID:???.net
スマソ


366 :nobodyさん:03/06/05 20:39 ID:???.net
mod_perlだと数倍早くなるのに
perlcc だと1割くらいじゃない?

367 :nobodyさん:03/06/08 21:06 ID:???.net
>>366 ウェブサーバ組込み式にはかなわんよ。

368 :nobodyさん:03/06/20 01:47 ID:???.net
ダブルクオートを極力使わないだけで結構速くなるらしい。
理由は説明しなくてもわかるよね?

369 :nobodyさん:03/06/20 22:16 ID:???.net
>>368
'"'でくくると中に'$'が入っているかを検査してるから?

370 :nobodyさん:03/06/21 10:37 ID:???.net
>>369
Yes she does!

371 :nobodyさん:03/06/24 04:14 ID:???.net
>>370
それはホントなの?

372 : :03/06/24 08:22 ID:???.net
>>371
Yes she does!

PHP のメーリングリストなんかでも、
速度を少しでも稼ぎたいときの小技として紹介されることがあるね。

373 :nobodyさん:03/06/25 18:56 ID:???.net
すべてのルーチンを一つのファイルにまとめてしまうのより、
ひとつひとつルーチン毎にファイルを分けて、
一度に呼び出す方が負荷が大きいですか?


374 :nobodyさん:03/06/25 22:26 ID:???.net
>373
漏れもそれ思うんだが、ファイルをまとめようが分割しようが、
結局たいした大きさじゃないので、どっちもオンメモリってことない?

375 :nobodyさん:03/06/25 23:20 ID:???.net
使わないコードを解釈させない為に分割するんであって、
分割しても常に全部使うのなら、まとめた方がシステムコールが
減っていいと思う。

Perl だったら CGI.pm でやってる遅延読込が参考になるかと。
あれはあれでメモリ食いそうだけど。

376 :nobodyさん:03/06/26 03:31 ID:???.net
>>375
それじゃ、useでモジュール呼び出すより、
requireで、必要な所で呼び出す方が良いって事ですね。


377 :あぼーん:あぼーん.net
あぼーん

378 :nobodyさん:03/06/26 03:55 ID:???.net
>>376
別に必要になったところでuseすればいいんでないかい?
そうそう、SelfLoaderかまして起動時には一部しか読み込まれないように工夫しないといかんね。


379 :あぼーん:あぼーん.net
あぼーん

380 :あぼーん:あぼーん.net
あぼーん

381 :nobodyさん:03/06/26 13:46 ID:???.net
requireはそこに来た時点で読み込まれる。
function hoge() {
require('hoge.php');
}
hoge(); らなければ読まない。
Perlも同じく。

382 :nobodyさん:03/06/27 16:09 ID:sG/tHFOo.net
コメントを山ほど書いたら負荷になります?
スクリプト自体軽くした方がいいんでしょうか。

383 :nobodyさん:03/06/27 16:19 ID:???.net
>>382
富士山ほどのコメントを書いたら負荷になります。

384 :nobodyさん:03/06/27 16:25 ID:???.net
>>382
わかるほどの差は出ないからちゃんと書いといたほうがいいよ

385 :あぼーん:あぼーん.net
あぼーん

386 :nobodyさん:03/06/28 00:11 ID:???.net
>>384
ってことは、少しは変わるんだ…。

387 :nobodyさん:03/06/28 00:19 ID:???.net
>>386
体感できるほどの差ではない、つまり実質0

388 :nobodyさん:03/06/28 14:07 ID:M/F9ZoCi.net
>>387
でも少しは…。

↓以下ループ。

389 :nobodyさん:03/06/28 14:11 ID:jkMqlRkL.net
>>388
ってことは、少しは変わるんだ…。


390 :nobodyさん:03/06/28 15:08 ID:???.net
変わるんだ…。


391 :nobodyさん:03/06/28 16:21 ID:???.net
速度と分かりやすさのトレードオフ

392 :nobodyさん:03/06/28 22:51 ID:???.net
WWW

393 :nobodyさん:03/06/29 00:15 ID:???.net
正直言って、コメントなんか処理速度に関係なんかない。
そりゃ、数百Mとかのコメントとか入れてたら、
メモリへロードするのが遅くなるだろうが、
処理速度そのものは、何の影響もない。


394 :nobodyさん:03/06/29 08:04 ID:???.net
え????
コンパイル時に無視されて、コンパイル結果もキャッシュされる
わけなんだから、全く影響しないんじゃ?

395 :nobodyさん:03/06/29 13:20 ID:???.net
>>394
コンパイル結果に反映されないのは当たり前
コンパイル時に無視するためには最低限の判定が必要
要はコメントかどうか判定するフラグが少ないに越したことがないのか
という話でしょ

396 :nobodyさん:03/06/29 22:00 ID:???.net
CgiPerl , CgiPHP , mod_php のうち速度が一番なのはmod_phpなのは知ってるけど
負荷が掛からないのはどれ?

397 :nobodyさん:03/06/29 23:38 ID:???.net
>>396
その中に、なぜmod_perlがないんだ?

398 :nobodyさん:03/07/01 16:46 ID:67Ffrssk.net
printで一行づつ出力するか、
変数にデータを入れて、printで一気に出力するかどちらが負荷少ない?
それともヒアドキュメント使うか。

どれよ?

399 :nobodyさん:03/07/01 19:31 ID:???.net
mod_perlは一般的じゃないよ。

400 :nobodyさん:03/07/01 19:43 ID:???.net
薬物使ったベンジョンソンみたいなもん?

401 :nobodyさん:03/07/01 20:02 ID:???.net
>>399
mod_perlそんな速くないよ。

402 :nobodyさん:03/07/01 20:04 ID:3/m58fAf.net
>>398

そうそう、オレも知りたい。結構悩むんだよなー。みんな
その辺の使い分けはどうしてるの?

printよりechoのが速いってのは聞いた事あるけどね。

403 :nobodyさん:03/07/01 20:06 ID:???.net
とりあえずバッファリングなしは効率が悪い。

404 :403:03/07/01 20:14 ID:???.net
そういえばPerlにCのfflushのような関数はないのかな?
$|=1;print "";$|=0;とやるしかない?

405 :nobodyさん :03/07/01 22:48 ID:???.net
>>398
変数作って一気に出力する。
エンコード自由に変換して掃き出せるようなものの場合はどうしてもこうなる。

ヒアドキュメントは
$aya=<<EOL;
あやや
あひゃひゃ
EOL

で変数ぶち込めるし。

406 :nobodyさん:03/07/01 23:25 ID:???.net
>>401
どういう使い方してんだ?

407 :nobodyさん:03/07/02 00:38 ID:???.net
echo "
うほっ
いい男!
";

これでいいだろ

408 :nobodyさん:03/07/02 08:14 ID:???.net
>>399
mod_phpも同じだ。
>>401
速度は、
mod_perl > mod_php > CGI Perl > CGI php
の順。ちゃんと実験したサイト行って、見て来い。


409 :404NOTFOUND:03/07/02 20:09 ID:???.net
>>408
>mod_phpも同じだ。

PHP可を謳っている鯖屋はmod_php可という意味で、CGI可(※)を謳っている鯖屋は、
CGI/Perl可という意味で謳っていると思うのだがどうだろうか?

CGI可に比べてPHP可の鯖屋が少ないのは事実だが、mod_Perlを使える
鯖屋を見た事がないのは、漏れの調べ方が甘いからなのか・・・

※)一般的にCGI=Perlという認識があるのでこのような書き方をあえてしたが・・・

つまり何が言いたいかと言うと、mod_php使える鯖がそんなに非一般的では
ないんではないかという事だ。

410 :nobodyさん:03/07/02 21:32 ID:???.net
mod_php っていう言い方、あんまきかないんだけど、
cgi版じゃない普通(というか一般的というか)のphpってこと?

411 :nobodyさん:03/07/02 21:52 ID:???.net
>>409
適当な拡張子をApache::Registry上で
動くようにする事自体はむずかしくないんだけど
ユーザーのモジュールの名前空間に制限がかけれないので
userAが
use lib (/home/userA/lib/);
use myPackage;
としる状態で
userBが
use lib (/home/userB/lib/);
use myPackage;
とかしてくれちゃうと、動作がめちゃくちゃになってしまうので
ユーザーにmod_perlな環境を提供できません(´Д`;)

>>410
mod_phpでない場合(サーバー組み込みで無い場合)
「php対応(ただしコマンドライン版)」という表記をみかけます


412 :nobodyさん:03/07/02 22:52 ID:???.net
>>411
レン鯖(共有鯖)ではmod_perlを提供できないって事?
って事は一般的な環境ではPHP>perlつー事?

413 :410:03/07/02 23:27 ID:???.net
>>411
なるほど。さんくすです

414 :nobodyさん:03/07/03 09:14 ID:???.net
でもな、Perlには、FastCGIとかもあるからな。


415 : :03/07/04 19:40 ID:???.net
>ちゃんと実験したサイト行って、見て来い。

ああいう非現実的な試行環境に統一して対照されても参考にできないよね、、
まだmsがやったベンチ結果のほうがdqnぽくない
PHP5のケース別ベンチやってくれんかな
個人では実験環境が作れないしzendの情報だけでは激しく不安だし、、

話は変わって、itboostのtips「効率的な処理」に、phpのループ構造は遅いから、
コールバック関数を繰り返し呼び出すとphpではなくcレベルでループが走ってくれるて
いいよってネタがあるけど、これはどうなん?
(あれはcountを一度にすれば大差ないような気もしつつ、、。
個人で実行速度を計測するといえば、ループ処理のことだと言ってもいいかと
おもうんだけど、これってphp特有の問題?

416 :411:03/07/06 09:05 ID:???.net
>>412
ハンドラ好きにさせるのはもってのほかなので
Apache::RegistryかApache::PerlRunを提供するしかないと
おもうのですが、前述の問題があり、自分の知識内では
不可能と判断しています。
(他に良い方法がないか探してるのですが...)

>>414
FastCGIも、共有サーバだとデーモンプロセス上がりまくりで
現実的では無いような気がしますが^^;



417 :nobodyさん:03/07/06 09:07 ID:???.net
>>ちゃんと実験したサイト行って、見て来い。
>ああいう非現実的な試行環境に統一して対照されても参考にできないよね、、
どこのサイトを見てるんですか?



418 :nobodyさん:03/07/06 13:26 ID:???.net
>>417
有名なサイトだよ。35の言語の25のベンチマークによる比較。
http://www.bagley.org/%7Edoug/shootout/


419 :nobodyさん:03/07/06 13:33 ID:???.net
mod_perlとmod_phpの比較は、ここな。
http://www.linc.or.jp/~takaaki/Family/takaaki/Labo/dynamic_page.shtml


420 : :03/07/06 23:45 ID:???.net
>417
そのへんはコミュニケーションギャップを楽しむところだと思ったり。

421 :nobodyさん:03/07/08 03:40 ID:???.net
http://member.nifty.ne.jp/hippo2000/perltips/phpperl.htm
http://member.nifty.ne.jp/hippo2000/perltips/javaperl.htm
このあたりかな?とか思ってました

422 :山崎 渉:03/07/15 11:10 ID:???.net

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

423 :nobodyさん:03/07/24 09:32 ID:???.net
保守?

424 :nobodyさん:03/07/25 23:36 ID:???.net
↑ageとかんかいッ!


425 :nobodyさん:03/07/26 17:01 ID:???.net
ageんでも保守はできるでしょ

?>
<html><head><title><?=$title=></title></head>
<?php



echo << end
<html><head><title>$title</title></head>
end;

はどっちが軽いんだろうね・・・

426 :nobodyさん:03/07/26 17:02 ID:???.net
あぁ、 < がひとつ足りないし・・・

427 :nobodyさん:03/07/27 01:37 ID:???.net
このスレいつも大変参考にさせていただいています。

428 :nobodyさん:03/07/27 04:46 ID:???.net
>>425
俺は前者だと思う。

429 :nobodyさん:03/07/27 10:38 ID:???.net
>>428
私もそんな気がして、なるべく上の方使うようにしてる
でも変数が多いところとかは下のやつ使ってる

430 :nobodyさん:03/07/28 05:31 ID:???.net
PHPに、テキスト中に変数があるかどうか判断させる後者よりも、
明示的にする前者がやっぱ速いかな?特に変数が多いほど。

でも、PHPモードに入ったり抜けたりする負荷(と言えるかな?)を考えると前者のような気もする…

431 :nobodyさん:03/07/28 11:41 ID:???.net
echo '
<html><head><title>'.$title.'</title></head>
';

これでいいべ

432 :nobodyさん:03/07/28 16:40 ID:???.net
>>431
長い場合、echoを大量に書くわけにもいかんでしょ
HTMLのフッタ部分は定型に近いから?><?phpを使ってるんだけど
さほど変わらないのかなぁ・・・

433 :nobodyさん:03/07/31 10:25 ID:???.net
>431-432

http://www.php.net/manual/ja/language.basic-syntax.php

にもあるとーり結局内部的には echo で処理されてるから
あとは可読性の問題じゃないかねぇ。

434 :山崎 渉:03/08/02 02:24 ID:???.net
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

435 :ぼるじょあ ◆ySd1dMH5Gk :03/08/02 04:52 ID:???.net
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ

436 :nobodyさん:03/08/08 18:33 ID:???.net
mod_perlで動かすと、速いときはバカみたいに速いが、
遅いときはイライラするぐらい遅い。

普通こんなにバラツキがあるものなのですか?

437 :あぼーん:あぼーん.net
あぼーん

438 :nobodyさん:03/08/15 12:34 ID:???.net
>>436
新しいhttpdの子プロセス上がった時とかキャッシュがないからでは?
重そうなモジュールは起動時に読み込むようにするとかして
コンパイル時間短くしたら?



439 :nobodyさん:03/08/20 12:11 ID:???.net
speedyCGIで負荷が高くなると、InternalServerErrorが出るのですけど、
私の書き方が間違っているだけなんですかね?

440 :nobodyさん:03/08/20 12:21 ID:???.net
>438
mod_perl1.2使ってたとき、モジュールのキャッシュ無視して、別空間にロードされる場合も。
最近のバージョンで改善されているかどうかは不明ですが。


441 :nobodyさん:03/08/20 14:50 ID:???.net
>>440
モジュールの更新日が変わってるとか%INC消してるとかでなく?
どうやってその現象確認しました?


442 :440:03/08/21 18:44 ID:???.net
>>441
初回にロードした時間を記録するクラス作って、何度かリロードして確かめた記憶が。
他にも、子プロセス関係で何かしたと思ったけど、忘れた。
%INC消さなくても、ロードされる時はされてましたよ。
ライブラリモジュールに限らず、同一ファイル、同一パッケージ名の空間も
複数のキャッシュが存在してしまうこともしばしば。
それ知って以来、mod_perlは一切使ってませんが。

で、最近のバージョンはどうなんでしょう?

443 :nobodyさん:03/08/22 04:06 ID:???.net
>>442
webDBで、mod_perlを導入したが、遅い。
まだSpeedyCGIの方がパフォーマンスが良い。

ただ、>>439 の言う通り負荷が高くなると不安定なんだよなぁ。
なんか回避方があったら、教えて欲しいよ。

444 :nobodyさん:03/08/22 13:11 ID:???.net
>>443
私もWebとPostgresqlで組んでいるのですが、
mod_perlだと、速度のバラツキが尋常でなくて採用を辞めましたよ。
SpeedyCGIが安定さえしてくれれば、何も心配ないのですけどね。

445 :nobodyさん:03/08/22 15:05 ID:qLHm82v9.net
PHP使えよ。。

446 :nobodyさん:03/08/22 16:34 ID:???.net
>>444
DBI.pm使ってるからじゃないの?
それはmod_perlのせいじゃないような気が。

447 :nobodyさん:03/08/22 17:25 ID:???.net
>>446
DBI使うとダメなんですか?

448 :あぼーん:あぼーん.net
あぼーん

449 :nobodyさん:03/08/22 23:56 ID:???.net
>>447
>>446じゃないが、DBIは遅い気がする。

あとDBIじゃなかったかな?サーバー名にIPアドレスじゃなくて
FQDN指定するとident投げるのって。
identが繋がらないとタイムアウトするまで固まるんだよな。

450 :nobodyさん:03/08/23 00:30 ID:???.net
そういえば、PostgreSQLの日本語サイト見てたら、以外にも
Perl/CGIで利用しているところが多いのにビビりました。
DBMS使う以上、何らかの効率性を望んでいるのだと思うけど、何故Perl/CGIなんだと問いつめたいよ。


451 :nobodyさん:03/08/23 00:44 ID:12CD5sBt.net
>>450
逆に、Perl/CGIだと何がだめなのか説明してみてください。

452 :↓このURLにぴんときたら2chビューア:03/08/23 01:44 ID:???.net
http://endou.kir.jp/hankaku/
http://homepage.mac.com/hiroyuki45/hankaku

453 :nobodyさん :03/08/23 09:33 ID:???.net
>>450
漏れはMysq;でPerl/CGIしてるけど、移植元がperlだったから単純に鯖の負荷軽減が目的だったりしたが・・・
それに、Phpだと複雑なソース書ききれんかったろうってのもあるわけだが、お前さんはなにでやれと?

454 :nobodyさん:03/08/23 13:18 ID:???.net
PHP使えよ。


455 :nobodyさん:03/08/23 16:29 ID:IynKNpCX.net
perlなんだが。
ある位置から数行くらい読み込む時、
10kbくらいのファイルと、300kbくらい(要するにでかい)ファイルでは
負荷に違いってあります?

open IN, ...;
for($i=0; $i<10; $i++){
$line = <IN>;
...処理
}
close IN;

みたいなプログラムでつ。

456 :nobodyさん:03/08/23 16:46 ID:???.net
>>455
どうやって「ある位置」までファイルポインタを移動させるかに依る。
行単位で空読みさせて移動するよりは seek 一発の方が速い。
その例だとファイルの先頭からだから変わらん。

457 :nobodyさん:03/08/23 19:02 ID:V3x8NgSH.net
>>453
Perlで書けてPHPで書けない「複雑ソース」って何?

458 :nobodyさん:03/08/23 19:07 ID:???.net
LHA圧縮。

459 :nobodyさん:03/08/23 19:20 ID:???.net
>>457
最近あまり追ってないんだが、
PHPってtermiosによる端末制御できたっけ?
fork()は出来るけどpipe()は出来たっけ?

あと、PHPはスコープが滅茶苦茶だから(まぁPerlも変だけど)
あまり大きいソースを多人数で書くのには向いてないと思う。

460 :455:03/08/24 10:10 ID:XoFfp7Kp.net
>>456 サンクス
1行の文字数が不定なんでseekで飛ぶことが難しいんす。
2chログのように301-400だけ表示みたいな場合は
やっぱ空読みしてるんかな。

461 :nobodyさん:03/08/25 08:37 ID:???.net
>>460 間違いなくシークしてると思う。

462 :455:03/08/25 11:33 ID:???.net
でもどうやってx行目を見つけ出すの?
適当にread系のcgiを漁ってみたけど、やっぱ空読みしてるみたいだわ。

463 :nobodyさん:03/08/25 12:48 ID:???.net
>>462
1000行程度なら空読みでいいと思う。
万単位になったら、インデックスと作るとか対策考えろ。

464 :nobodyさん:03/08/25 13:26 ID:???.net
>>462
1、行ごとのファイルポインタを記録してある。
2、一定件数ごとに、ファイルポインタを記録してある。
3、2chは入力値の長さが決まっているから、固定長フォーマットにしてある。

これだけのアクセス数があるところで、空読みは考えにくいな。
板のトップで、数千行単位で空読みされるのですか?


465 :nobodyさん:03/08/25 14:55 ID:JfnblB1o.net
>>464
今は知らないけど、今までのVerでは思いっきり空読みしてるよ。
↓以前のread.cgi空読み部分。

else
{
if(nn_st && lineNo < nn_st) continue ;
if(nn_to && lineNo > nn_to) continue ;
if(nn_ls && line < lineMax - nn_ls) continue ;
}


ファイルのオープンってI/Oの負荷がでかいから、
ファイルポインタを記録/読出しするのも結構な負荷になる。
あぼーんの処理も面倒になるし1000行空読みの負荷がたいしたこと
ない(実際やってみ)事を考えると、大してメリットはないと思われる。

ちなみに2chは固定長フォーマットではないし、板のトップは書き込み時
に更新されるだけだから、read.cgiより呼び出される回数は圧倒的に少なく
それほど問題にならない気が。


466 :nobodyさん:03/08/26 10:19 ID:???.net
>>465は説得力がありますね

467 :nobodyさん:03/08/27 01:27 ID:???.net
useって宣言した場所によって読み込まれる時期が違うの?
それならJcodeなんかは先頭でuseせずに
送られてきたデータのチェック済ませてから読み込ませた方が良いのかな。
#チェックにJcode使うなら別だけど

468 :nobodyさん:03/08/27 02:23 ID:???.net
>>467
http://www.perldoc.com/perl5.8.0/pod/func/use.html
http://www.perldoc.com/perl5.8.0/pod/func/require.html

469 :nobodyさん:03/09/04 01:48 ID:???.net
ホッシュホッシュ

470 :nobodyさん:03/09/05 00:46 ID:???.net
SpeedyCGIでどうやったら、負荷が高いときのエラーが無くなるんだろう。
もう訳がわからん。

471 :nobodyさん:03/09/05 23:36 ID:???.net
>>470 マンシスペックを上げる

472 :nobodyさん:03/09/06 18:14 ID:???.net
>>471
負荷を軽減させるために、>>470がspeedyCGIを入れたんだろ。
ここは、負荷軽減の為のスレだよ。

473 :nobodyさん:03/09/17 00:18 ID:???.net
ホッシュホッシュ

474 :nobodyさん:03/09/17 21:25 ID:Rf3lCYFV.net
PHPの掲示板なんですができるだけ負荷がかからないログの読み込み方法ってどんなのがありますか?
今は書き込みや読み込みの時にfile()で全部取得しているんですがログが増えると負荷が大きくなりそうな気がするので。

475 :nobodyさん:03/09/17 22:10 ID:???.net
>474
DB使ってね!

476 :nobodyさん:03/09/17 22:15 ID:Rf3lCYFV.net
DB使う以外にうまいやり方無いですか?

477 :nobodyさん:03/09/17 22:24 ID:???.net
>476
ないですね!
逆に、なんでDB使うのいやなんですか?!

478 :nobodyさん:03/09/17 22:36 ID:???.net
>>477
なんで必死なの?

479 :nobodyさん:03/09/17 22:55 ID:???.net
>478
474が悩み事の矛盾に気がつかないからだよ!

480 :nobodyさん:03/09/17 22:59 ID:???.net
>>477
2ちゃん程度の規模でもDBなぞ使ってないんだが。
ていうか、逆に2ちゃんをDBで書き直したらえらい事になると思うが・・・。

普通のBBSって書き込みはFIFOだし、読み出しはシリアルだから
逆にDB使うほうが負荷が大きくなる。

481 :474:03/09/18 00:06 ID:???.net
DB使うのが嫌っていうか使ったことないので
DB使わずにfile()以外のやり方ないかと思ったんですが

482 : :03/09/18 00:52 ID:???.net
>481
スレ読めよ。

483 :nobodyさん:03/09/18 00:58 ID:???.net
ん?なんか問題あるか?

484 :nobodyさん:03/09/18 01:28 ID:???.net
問題ないだろ

485 :483:03/09/18 07:46 ID:???.net
「スレ読めよ」か。「スレタイ読めよ」と勘違いした。

486 :nobodyさん:03/09/18 09:35 ID:???.net
>474

データ構造を固定長にしてバイナリファイルに格納しておき
fseek fread fwrite などを使えば部分処理が出来るから負荷は
減ると思うよ

487 :nobodyさん:03/09/18 15:34 ID:???.net
SpeedyCGIでエラーが頻発したので、PerlからCに移植した。
えらく辛かったが、めちゃくちゃ速くなった。

488 :nobodyさん:03/09/24 13:10 ID:???.net
apacheの軽量化が威力あると言うが、
具体的にどういったモジュールを消せば良いのだろう。

489 :nobodyさん:03/09/24 13:16 ID:???.net
mod_rewrite

490 :nobodyさん:03/09/24 13:56 ID:???.net
>488

とりあえずスレ違いと思われ

スクリプト上で解決可能な話題が主題かと思う

491 :nobodyさん:03/09/24 14:07 ID:???.net
推敲しようぜ。

492 :nobodyさん:03/09/24 22:58 ID:Fv8u9zA+.net
★最新アダルト情報はこちらです★
http://click.dtiserv2.com/Click2/1-98-7254


493 :nobodyさん:03/09/25 07:19 ID:???.net
人よりちょっと知識の多い香具師が少ない香具師を馬鹿にするスレはここですね。

494 :nobodyさん:03/09/25 10:11 ID:???.net
>>490
apacheもスクリプトも両方チューニングして、
「負荷軽減対策委員会」と呼べるような気がするのだが…

495 :nobodyさん:03/09/25 10:39 ID:???.net
>>1を見る限りそうとは思えないけどな
方針変更という事で・・・

496 :nobodyさん:03/09/25 16:05 ID:???.net
Apacheのチューニングはスクリプトの有無や出来とは関係なく
できることだし、別問題じゃないか?

497 :nobodyさん:03/09/25 17:02 ID:???.net
ループ開始

498 :nobodyさん:03/09/25 18:44 ID:???.net
ループは負荷が増えるので禁止

499 :nobodyさん:03/09/26 05:39 ID:???.net
足りない?
mod_mime_magic,mod_dir,mod_auth,mod_access,mod_cgi,mod_log_config,(mod_env)
(mod_perl)


500 :500:03/09/26 12:46 ID:???.net
500

501 :nobodyさん:03/09/28 01:16 ID:Hg1oCkYh.net
負荷軽減&速度重視ならDSO

http://httpd.apache.org/docs/dso.html

502 :nobodyさん:03/09/29 13:04 ID:???.net
>>501
速度重視ならDSOを使わな方が良いという話で良い?


503 :とおりすがり:03/09/29 17:18 ID:???.net
>>502
そういうこったな(w

>>501
「あぱちのmoduleとして動作させると」とか
書いとけばつっこまれなかったのにな

504 :nobodyさん:03/09/30 17:47 ID:???.net
素直に専用鯖借りてmod_perlとgzip圧縮でも使いなさい。

505 :nobodyさん:03/09/30 18:17 ID:???.net
もうgzipはいいだろ。

506 :nobodyさん:03/10/08 17:46 ID:???.net
保守

507 :nobodyさん:03/10/14 23:31 ID:???.net
ホシュ

508 :nobodyさん:03/10/16 19:43 ID:???.net
出尽くしたかな。

509 :nobodyさん:03/10/18 19:58 ID:???.net
変数より定数使ったほうがやっぱ軽いのかなぁ・・・

あとは定数と直接数値を書き込むのはどっちが軽いのだろうか

510 :nobodyさん:03/10/19 00:18 ID:???.net
>>509
ぐだぐだいう前にベンチしろ、このヴォケが


511 :nobodyさん:03/10/29 01:38 ID:???.net
ね、みんなローカルでPerlをテストする時、何のソフト使ってるの?

512 :nobodyさん:03/10/29 01:46 ID:???.net
何のソフトとは?エディタ?ブラウザ?

513 :nobodyさん:03/10/29 01:48 ID:???.net
私はペギーパッド使ってます

514 :nobodyさん:03/10/29 01:55 ID:???.net
Winで簡単なPerlだったらプロンプトで十分だけど。
Perlを始めよう、ならエディタから直接プロンプト起動できるし良い。
俺はtxt,HTML,Perl,PHP,SQL,C,Java,XMLなど全部ひとつのエディタで
やりたいからEmEditor3を使ってる。

515 :511:03/10/29 13:34 ID:???.net
ね、みんなローカルでPerlをテストする時、何のソフト使ってるの??

自分は
エディタ・・・秀丸
ブラウザ・・・アパッチ

516 :nobodyさん:03/10/29 13:46 ID:???.net
特に深いことは考えてない。
エディタ:QX(慣れてる&コマンドラインに渡せるから)
サーバー:ANHTTPD(既に入れてたから)
なんだけど、やっぱ、アパッチの方がいいかね?

……スレ違いだけど、この話題続けていいもんかね。

517 :nobodyさん:03/10/29 15:06 ID:???.net
負荷軽減にはあまり関係ない。

エディタはPerlエディタスレ、サーバ話は何処が良いんだ。
無難に初心者質問スレでも薦めておくか。

ところでブラウザがアパッチって凄いな。


518 :511:03/10/29 16:10 ID:???.net
あ、ごめん、サーバの間違え
>>512がブラウザ?って・・・


519 :nobodyさん:03/10/29 16:31 ID:t/aBtGdw.net
変態美少女がいっぱい!http://www.bigchat.tv

520 :nobodyさん:03/10/30 00:48 ID:???.net
美少女が変態では何の価値もない

521 :nobodyさん:03/10/30 10:59 ID:???.net
テストサーバーで、JAVAみたいに「;がありません。」など、
エラーの内容を出力してくれるサーバーって無いの?

522 :nobodyさん:03/10/30 12:01 ID:???.net
>>521
例えばCGIでエラーを標準出力に表示するのは?

523 :nobodyさん:03/10/30 13:00 ID:???.net
>>522
え?そんなのあるの?知らなかった・・・・
やり方は?

524 :nobodyさん:03/10/30 13:34 ID:???.net
>>523
言語にもよるけど、rubyならこんなかんじで

begin
# 例外が発生する可能性がある処理
rescue 例外
puts "#{$!} (#{$!.type})"
puts $@.join("\n")
end

perlはよく知らないけどこれでできるかな?

eval 'なんかの処理';
print $@ if($@);


525 :nobodyさん:03/11/03 00:59 ID:???.net
と言うかスレ違い以下略。

526 :nobodyさん:03/11/06 16:02 ID:4b5YfiKA.net
巷に出回る perl CGI って、
1. グローバル変数多し、my レキシカル変数使わず
2. 関数分割せず、ベタ書き
3. ヒアドキュメントを使わず、print '' の嵐
なものが多い。こんな手法が負荷軽減に貢献すんのか?
意見求む。

527 :nobodyさん:03/11/06 16:18 ID:???.net
誰でも負荷軽減を考えているわけではないから

528 :nobodyさん:03/11/06 21:45 ID:???.net
>>526
> 2. 関数分割せず、ベタ書き
について負荷軽減との関連性についてのご教授お願いします。

529 :ぺるにゃん:03/11/06 22:21 ID:???.net
軽減はしますよ。

でも、HTML を軽くするために、すべての改行を取り払ってサイズを小さくしよう的な
アプローチですにゃ。そこまで必死な人は、すればいいにゃ。

530 :nobodyさん:03/11/06 22:26 ID:???.net
ベタ書きのほうが負荷はかからないのは言うまでも・・・

531 :nobodyさん:03/11/07 00:48 ID:???.net
ブラウザゲーム作るならやっぱりphpのほうがええかな?

532 :ぺるにゃん:03/11/07 01:30 ID:???.net
>>531
負荷を考えれば、そうだけど。
普及を考えれば、どうかにゃあ。


533 :nobodyさん:03/11/07 02:57 ID:???.net
ヒアドキュメントってprint"と変わらないんじゃなかったっけか?

534 :ぺるにゃん:03/11/07 03:40 ID:???.net
ケース1:print 文の嵐
print '<HTML>';
print .........
print '</HTML>';


ケース2:print 文いっかいだけ
print '<HTML>
.......
</HTML>';


ケース3:ヒアドキュメントで print 文いっかいだけ
print <<'END of HTML';
<HTML>
.........
</HTML>
END of HTML

こういうのを比べてるってこと?

535 :ぺるにゃん:03/11/07 03:43 ID:???.net
ヒアドキュメントかどうかは関係がないと思うけど。

ケース2とケース3は、(ヒアドキュメントの末尾の改行を除けば)等価でしょ?
じゃなかったら首つるです。
違いが出てくるとすれば、パース・・構文解析にかかる時間。
それも有意差は出ないでしょう。

異論ありますかにゃ?

536 :nobodyさん:03/11/07 05:18 ID:???.net
もういいから。わからないやつは黙っておけ。

537 :nobodyさん:03/11/07 05:19 ID:???.net
>>535
ttp://boobar.hp.infoseek.co.jp/bench/print.txt

538 :nobodyさん:03/11/07 07:00 ID:H74hevQp.net
>>537
へー結構差があるんだね。

539 :(  _。。)_ バタ。 ◆eJlUd9keO2 :03/11/07 09:15 ID:???.net
PHPAってどのくらい早くなるんだろうか。
…測定はやはり浮動小数点か何かでやったらいいのだろうか。

540 :(  _。。)_ バタ。 ◆eJlUd9keO2 :03/11/07 14:43 ID:???.net
PHPAってコンパイルキャッシュするだけか。
(´・ω・`)ケイゲンサレタノカ、ヨクワカンナカッタ。

541 :nobodyさん:03/11/07 19:01 ID:???.net
>>540
PHPA、だいぶというかかなり違うようですが。

542 :nobodyさん:03/11/07 21:04 ID:???.net
Turck MMCacheってのを使ってる奴いますか?
http://turck-mmcache.sourceforge.net/

能書きのとおりなら「最速」だそうだが。

543 :(  _。。)_ バタ。 ◆eJlUd9keO2 :03/11/08 16:35 ID:???.net
>>541
全然実感できない つдT)


544 :nobodyさん:03/11/11 02:37 ID:???.net
>526
my 変数の方が速いの?
速度とか関係無しにstrict通るようにした方が良いだろうって話は置いといて。


545 :nobodyさん:03/11/11 03:02 ID:???.net
そりゃあ速いさ
シンボルテーブルに登録されないし

546 :nobodyさん:03/11/11 12:14 ID:???.net
>>544-545
ttp://boobar.hp.infoseek.co.jp/bench/scope.txt

547 :nobodyさん:03/11/11 20:21 ID:???.net
メモリにかかる負荷を測定するってことは出来ますかね。

548 :nobodyさん:03/11/11 21:35 ID:???.net
ああ俺もそれ調べたい。
と言うかメモリ使用量とかどうやって調べてるんだろ…。
測定用のモジュールとかあるのかな?

549 :nobodyさん:03/11/11 21:57 ID:???.net
>>547-548
OS に依る。Linux や *BSD なら vmstat(8) とか top(1) で
別ターミナルから測定。

550 :nobodyさん:03/11/11 22:06 ID:???.net
Winは無理っすか。
タスクマネージャみたいな監視ツール作ってログ取るようにすれば良いんかな…俺にゃ無理だけど…。

551 :nobodyさん:03/11/12 20:29 ID:???.net
掲示板とかのスクリプトでHTMLを吐き出してそれにアクセスさせるってあるけど
ログファイル自体をHTMLにするって効率悪いよねぇ。

552 :nobodyさん:03/11/12 22:06 ID:???.net
>>551
変換するのは1回だがアクセスされるのは何度もあるからいいのよ


553 :nobodyさん:03/11/13 00:24 ID:???.net
逆にアクセス解析とかカウンターとかは変換するだけ無意味って言うか
ログなんて管理人しか見らんし。


554 :nobodyさん:03/11/13 00:49 ID:???.net
↓イケイケ

555 :nobodyさん:03/11/14 16:06 ID:???.net
ID:???←こいつうぜえ

556 :nobodyさん:03/11/16 09:50 ID:+X9Lai7L.net
久しぶりに見たら。このスレまだ生きてたんだー

557 :nobodyさん:03/11/17 01:02 ID:???.net
今日、会社休みます。。。

会社の負荷を減らすためにネ!

558 :nobodyさん:03/11/17 01:47 ID:???.net
1日だけとは言わずに毎日休んだらどうっすかね?

559 :nobodyさん:03/11/17 01:52 ID:???.net
人類のお荷物を減らすために?

560 :nobodyさん:03/11/25 03:00 ID:???.net
ミンナリストラ

561 :nobodyさん:03/11/27 00:12 ID:fPk+Wuzv.net
堕スレ化したの?
でも、結局負荷軽減ってアルゴリズム考えた方が、
myがどーの、ヒアドキュメントがどーの、言うより意味あるよね。
言語選択ではある程度答え出てるし、このスレの意義って。。。

562 :nobodyさん:03/11/27 02:12 ID:???.net
ちょっとした負荷を減らすために非常に参考になりました

563 :nobodyさん:03/11/27 10:02 ID:???.net
ふかふか

564 :nobodyさん:03/11/27 23:39 ID:???.net
ふかきょ〜〜〜ん!

565 :nobodyさん:03/12/01 11:39 ID:???.net
やっぱ表示速度を優先するか
サーバの負荷を優先するか。

きわどいな…

566 :nobodyさん:03/12/01 11:41 ID:???.net
おまいら、このファイルアップロード掲示板はどうよ
http://kenchin9.hp.infoseek.co.jp/fupbbs.html
http://kenchin9.hp.infoseek.co.jp/cgi-bin/fupbbs/bbs.cgi

567 :nobodyさん:03/12/01 13:36 ID:???.net
サイトのセンスは最悪だな

568 :nobodyさん:03/12/01 14:07 ID:E1CqoPVw.net
> [ネットランナー]
> ベスト・オブ・ツール 2002
> サーバ&コミュニティ部門 掲示板CGIカテゴリー
> (祝) 金賞受賞

これはすごいことなの?

569 :nobodyさん:03/12/01 14:16 ID:???.net
>>566
宣伝ウザイ。あちこちマルチすんな!

570 :nobodyさん:03/12/01 14:17 ID:???.net
>>568
ネットランナーだぞ?ネットランナー

571 :nobodyさん:03/12/01 15:14 ID:E1CqoPVw.net
>>570
「ネットランナー」って読んだことないです

とりあえずぐぐってみたら、
http://www.zdnet.co.jp/internet/runner/
> 超ヘビーユーザーになるためのインターネット活用誌
( ゚д゚)ポカーン

572 :nobodyさん:03/12/01 15:31 ID:???.net
>>571
厨房の愛読書だよ
賞もCGIの人気とか上っ面だけしか見てないで取ったりして、
作る人から見たらひどいソースのものも入賞してる

573 :nobodyさん:03/12/01 16:04 ID:???.net
うるせぇよ、年末の賞の審査員は有名サイト管理者を寄せ集めてるんだから、
それには文句いうの(・A・)イクナイ!!

574 :nobodyさん:03/12/01 16:37 ID:???.net
まあ、実際使う側からしてみれば、
たいていのやつがソースなんてどうでもいいんだがな。

575 :nobodyさん:03/12/01 17:37 ID:???.net
とりあえず、あんなのに金賞をあたえるネトランは糞

576 :nobodyさん:03/12/01 17:46 ID:w243ltNf.net
ちょっと使ってみた

重(・A・)イイ!!
返信で無制限にファイルをアップロードできた
ファイルタイプの判別を拡張子のみでやってる

設定でどうにかなるかもしれないけど
とりあえず気になったのはこんなところ

577 :nobodyさん:03/12/02 16:30 ID:???.net
ていうか、コード酷すぎ。
配列の使い方すらわかってないように見えたし、変数全部グローバルだし。
関数の使い方も変だし。 ネットランナーとかいう雑誌のレベルがわかっちゃうな

578 :nobodyさん:03/12/02 18:49 ID:???.net
だから対象の選考者は一般人だってば

579 :nobodyさん:03/12/02 19:09 ID:???.net
一般人だとなんだっていうのよ?

580 :nobodyさん:03/12/02 20:01 ID:???.net
俺らに責任はありません。

581 :nobodyさん:03/12/02 20:28 ID:???.net
>>566
ネットランナーとやらでは金賞かもしれんがバグ放置はまずいと思うぞ。
常にSTDINから無条件で受け入れる仕様。
投稿記事がある状態で-Tを付けて起動するとrtn_gnrl.plで起こる無限ループ。
管理用ページ→基本設定→「記事ページ最大表示数」を空にして設定保存→掲示板へ戻ると
Lib_gnrl.plで0除算して二度と起動しなくなる事で負荷を下げるエレガントな仕様、等他大量。


582 :nobodyさん:03/12/02 20:38 ID:???.net
>>581
> 負荷を下げるエレガントな仕様
禿しくワロタ

[Tue Dec 02 20:31:53 2003] [error] [client 127.0.0.1] Illegal modulus zero at ./routine/Lib_gnrl.pl line 514.
[Tue Dec 02 20:31:53 2003] [error] [client 127.0.0.1] Compilation failed in require at bbs.cgi line 35.

583 :nobodyさん:03/12/03 02:06 ID:???.net
こんなとこで陰口たたいててもしょうがない。
直接言ってやらないと。

584 :nobodyさん:03/12/03 08:56 ID:???.net
陰唇と陰口どっちが好きですか?

585 :nobodyさん:03/12/05 00:37 ID:???.net
陰核

586 :nobodyさん:03/12/05 16:47 ID:???.net
陰核を
  叩いてわたる(^^)
        585

587 :nobodyさん:03/12/07 10:59 ID:kmAZpJfG.net
Linuxサーバ、topで調べてみたら
毎晩httpdにCPU20〜89%くらい使用量があって
サーバが激重なんですが、原因がはっきりしない…

Apacheやネットワークの設定をどうにかこうにかして
負荷を減らす方法無いですか?

588 :nobodyさん:03/12/07 11:48 ID:???.net
妙に抽象的なんですが、

589 :nobodyさん:03/12/07 16:07 ID:???.net
>>587
どのようなスクリプトを実行させているか、で話は変わってくる。


590 :nobodyさん:03/12/07 23:24 ID:???.net
>>587
非力なwwwサーバで山ほどモジュール組み込んで激重CGIでも置いてるんだろ

591 :nobodyさん:03/12/08 00:18 ID:???.net
鯖がリダイレクト合戦してるんだよ。

592 :587:03/12/08 10:06 ID:ZQtmk+Sq.net
>>589
2ショットチャットとか画像アップローダとか・・。

>>590
えーっとサーバは確かPenIVの2GB、RAM1GBだったかな。

593 :nobodyさん:03/12/08 10:34 ID:???.net
>>592
なんだ、ネタだったのか

594 :nobodyさん:03/12/08 11:01 ID:???.net
騙りだろ

595 :nobodyさん:03/12/08 11:44 ID:???.net
釣りだろ

596 :nobodyさん:03/12/08 20:07 ID:???.net
PenIVの2GB
PenIVの2GB
PenIVの2GB
PenIVの2GB
PenIVの2GB

597 :nobodyさん:03/12/09 04:16 ID:oL7UDJrs.net
>>587デテオイデ。

598 :nobodyさん:03/12/09 07:30 ID:???.net
あまりに盛り上がらなかったからねぇ

599 :nobodyさん:03/12/09 10:15 ID:5gjkqVTX.net
陰口を叩く。

600 :nobodyさん:03/12/10 03:11 ID:???.net
陰唇と陰口どっちが好きですか?

601 :nobodyさん:03/12/10 12:01 ID:???.net
著作権表示を消す

602 : ◆8772606082 :03/12/24 04:28 ID:???.net
すれ違いと言われたのでここにきました。

my($a,$b,$c);

とするのと

my($a);#コメント
my($b);#コメント
my($c);#コメント

と書くのでは、処理速度や負荷に差がありますか?
配布とかメンテを考えると後者で書きたいんですが。


603 :nobodyさん:03/12/24 05:11 ID:???.net
大差なし。メンテしやすさが最優先。

604 :nobodyさん:03/12/28 07:34 ID:???.net
全体で150KBくらいになるCGIソースで
処理によってはルーチンのうちのほんの一部しか
使わないという場合、
処理をライブラリにしてrequireするのと
全体が1ファイルなのとどっちが効率いいのでしょうか?



605 :nobodyさん:03/12/28 08:50 ID:???.net
環境によるだろ。計測しろ。

606 :nobodyさん:03/12/28 15:28 ID:???.net
計測ってどうやってやるんですか?
でっかい実行ファイルを起動するのと
ちっちゃいのを起動してrequireするのと
どっちが軽いかという問題だと思うんですが。




607 :nobodyさん:03/12/28 15:45 ID:???.net
>>606
負荷が気になるなら負荷を調べる方法ぐらい知っておいたほうがよろしいかと

608 :nobodyさん:03/12/28 17:57 ID:???.net
>606
そもそも、あなたの「軽い」ってどういう意味ですか?

609 :nobodyさん:03/12/28 18:15 ID:???.net
<?
  exit;

  〜以下長文〜

?>

610 :nobodyさん:03/12/28 23:20 ID:???.net
>>606
requireのとこまで来たら結局全部読み込まれるのではないかな?


611 :nobodyさん:04/01/12 13:26 ID:???.net
処理順では通らない部分のrequireも
スクリプト内にあるとrequireされるんでしょうか?
requireを見つけてからrequireする?

612 :nobodyさん:04/01/12 15:36 ID:???.net
>>611
そんな簡単なことぐらい試せばわかるだろ

613 :nobodyさん:04/01/12 15:48 ID:???.net
#!perl
if ( 0 == 1 ) { require './存在しないスクリプト.pl'; }
exit;


614 :nobodyさん:04/01/13 18:58 ID:???.net
一枚岩で作って、え〜となんだっけか名前わすれたけど
一回実行したらメモリー上にキャッシュして次回から高速実行するツール
あれ使ったほうが軽さという面では圧倒的(ただしCPU負荷)
回線負荷は変わらんし大概先に満杯になるのは回線帯域のほうだ


615 :nobodyさん:04/01/13 20:44 ID:???.net
負荷を気にするならperl,phpをやめろ

616 :nobodyさん:04/01/15 16:33 ID:???.net
perl、phpの中でだろ?
共有鯖での利用を考えてる人もいるだろうし

617 :nobodyさん:04/02/02 09:09 ID:???.net
ACP管理者

618 :nobodyさん:04/02/22 16:00 ID:???.net
7行プログラムってスレ、すごいねアレは。
でも、短くするために敢えて重い処理をしていることもあると思うんよ。
それでも短いから負荷は感じないわけだけれども。

単純に処理を軽くする以外にも、コードを小さくする負荷軽減もあるんやねぇ。

619 :nobodyさん:04/02/22 22:12 ID:hBJi8oj3.net
言ってること矛盾してるじゃん。
>短くするために敢えて重い処理をしている
>コードを小さくする負荷軽減もある
ドキュンやな。


620 :nobodyさん:04/02/22 22:34 ID:???.net
翻訳を試みた。
ある処理をする際に
 A: 複雑な処理をする組み込み関数を使う
 B: 単純な処理をする組み込み関数をいろいろ組み合わせる
の2種類の方法があるとして
 Aの負荷 < Bの負荷
ってこと?

621 :618:04/02/23 00:56 ID:???.net
>>620 YES.
そういう場合もあるんじゃないかと思ったので。

622 :619:04/02/23 04:07 ID:???.net
フーン。スマソねー。



623 :nobodyさん:04/03/17 17:24 ID:???.net
HTTP/1.1 のチャンクコーディングを忘れてない?
試しにnph ソースを作って、Content-Length を送信するようにしたら、
チャンクコーディングされなかったけど、接続が毎回切れるみたい。

どっちが良いのか微妙っぽい。


624 :nobodyさん:04/04/20 20:30 ID:yfis5kmt.net
age

625 :nobodyさん:04/05/16 04:46 ID:2fTgoYEJ.net
A.. if($aa=~/x/){$pa=1;$pb=1;}else{$pa=0;$pb=0;}
B.. $aa=~/x/?($pa=1,$pb=1):($pa=0,$pb=0);

等価らしいです
ソースは、ttp://ww4.tech.nu/?d=653

たしかにコードは短くできるので試したところ
レスポンスが悪く、重くなった気がします


626 :nobodyさん:04/05/16 04:54 ID:???.net
>>625
http://perldoc.com/perl5.8.4/lib/Benchmark.html

627 :nobodyさん:04/05/16 10:10 ID:???.net
>>625
三項演算子使ってるだけでしょ、普通に使うけど。
レスポンスは落ちるのかなぁ? 

628 :nobodyさん:04/05/16 11:14 ID:???.net
>>627
藻前は一つ前のレスが読めねーの?

629 :nobodyさん:04/05/20 12:34 ID:NShBOzWM.net
PHP普及の原因は、イスラエル・Zend社のマーケティングの成功にある。
@Perlでは別インストールで多くの人が知らないデーターベース利用を標準で使用できるようにし、「データーベースが簡単に取り扱える」というイメージを特に強く植えつけた。
Aウェブサイト作成への特化。例えば、セッション管理がそうだ。
Bソースの隠蔽による著作権保護を可能にした。
データーベースを使いたいが、使い方がわからない。そこに、PHPなら使えるという情報が先に入る。これで、PHPに入った人もかなり多いはず。
PHPの言語仕様はZendに大きく左右される。
二年ほど前、PHPが出始めた頃には、変数のスコープがPerlとまったく同じ仕様だった。
もともと、Perlのソースコードを改編して作成されたPHP。
↓PHPの歴史
http://php.planetmirror.com/manual/ja/history.php
PHPには、Perlコードの退行による高速化の意図が言語のいたるところに見える。
マイクロソフトは、オブジェクト指向への対応というのが大義にVB6.0からVB.NETに言語仕様を大幅に変えた。
今後も大きく言語仕様が変わることはないのか?
オープンソースとは言っても、Zend社の
http://www.zend.com/management.php
の数人のスタップによって大きく左右される。
再帰的定義とされる「PHP:Hypertext Preprocessor」という名前にも理由がある。これは、要するに、正確には、「Perl Hypertext Preprocessor」としたいところだが、GNUの「GNU is Not UNIX」という再帰的な定義をもじったものだ。
要するに、「GPLのフリーソフトのライセンスには違反していませんよ!」と一つには主張し、また、一つには、「PHP is Not Perl」とでも言って、Zendの社としての姿勢を、先人の「Perl開発者たち」から擁護する意図があったのだろう。
Nではなく、Hなのが、そのための味噌だ!Perl開発者たちは、当然、面白くないはずだ。
PHP信奉者は、六芒星(hexagram)マークのユダヤ教にでも、入信せよ!



630 :nobodyさん:04/05/20 13:06 ID:9F0Z79In.net
Cで組め。手っ取り早く最速で負荷を極力少なくできる。


631 :nobodyさん:04/05/20 14:55 ID:???.net
負荷を少なくするならまず、
データ構造とアルゴリズムを見直せ
次にCPUをグレードアップしろ
それでもダメならCか汗ブラで

632 :nobodyさん:04/05/20 15:38 ID:???.net
スタップ?

633 :nobodyさん:04/05/20 16:08 ID:???.net
PHPって
Personal Home Page の略?

634 :nobodyさん:04/05/20 16:11 ID:cgjPprlD.net
ここできくなよ

635 :nobodyさん:04/06/24 13:00 ID:???.net
喪主

636 :nobodyさん:04/07/18 20:12 ID:Sl8hc8ID.net
>>629は、洩佐渡にアボーンされるよ。

637 :nobodyさん:04/08/11 03:33 ID:2sgdWAV8.net
なんで掲示板をテキストファイルに出してるんだ?
データベースに入れてしまうのってよろしくないの?
最後の方を読む時とかに早いと思うんだけど。

638 :nobodyさん:04/09/07 11:18 ID:???.net
保守

639 :nobodyさん:04/10/04 17:10:56 ID:???.net
ゲッシュ

640 :nobodyさん:04/10/12 03:56:07 ID:???.net
2chの話になるけどさ、sageで書き込みするとスレッド位置が変わらず、
index.htmlとsubback.htmlの更新・ソートを省略できて負荷軽減に繋がらない?

と思ったけどレス数表示のために更新しなきゃならないか…。
もう少し工夫すればなんとかなる気がする。

641 :nobodyさん:04/10/17 09:28:30 ID:???.net
ディスクのアドレスに直接書き込めばいいと思うよ

642 :nobodyさん:04/10/17 10:04:16 ID:???.net
>641

マジレスするとそんな低レベルの操作をしたら
処理中は他の処理が出来なくなるだろうが

643 :nobodyさん:04/10/20 23:44:33 ID:gn/p6wba.net
あげマン

644 :nobodyさん:04/10/21 19:27:52 ID:vF6/MaNc.net
掲示板なら静的HTML生成が一番簡単で一番効果がある。
スクリプトをあれこれこねくり回す前に試してみれ。

645 :nobodyさん:04/10/21 19:55:41 ID:???.net
>644
誰に対してのレス?

646 :nobodyさん:04/10/22 21:15:01 ID:???.net
javaでクッキーを保存する方法が載ってれば全部HTMLにするのに

647 :nobodyさん:04/10/23 23:24:38 ID:???.net
java?javascriptじゃなくて?

648 :nobodyさん:04/10/24 01:33:51 ID:???.net
>>644
それは理解した上で別の方法を模索するスレなのでは?

649 :nobodyさん:04/10/24 04:14:11 ID:???.net
>>647
javascript

650 :nobodyさん:04/10/24 14:11:54 ID:???.net
javascriptでクッキー出力はできるけど・・・多分違うことなんだよな

651 :nobodyさん:04/10/24 18:28:23 ID:???.net
静的HTML生成ってどうやればいいの?

652 :nobodyさん:04/10/24 19:00:16 ID:???.net
>>651
ファイルに出力

653 :nobodyさん:04/10/25 05:14:38 ID:???.net
>>649
ようするにHTMLでクッキー機能できるようにすりゃいいってことでしょ?


654 :nobodyさん:04/10/25 05:44:32 ID:XKm5So8L.net
セットはcgiですればいいから、あとはそれをJavaScriptでゲットすればいいんだよ。

655 :nobodyさん:04/10/25 14:51:34 ID:???.net
ファイルの読み書きはperlのキモの部分だから、せめてこれだけは理解しましょう。

656 :nobodyさん:04/10/25 15:08:33 ID:???.net
javascriptでゲットする方法が載ったサイトきぼん


657 :nobodyさん:04/10/25 15:35:37 ID:???.net
getCookie

658 :nobodyさん:04/10/25 17:09:16 ID:???.net
htmlの不都合点とかあるかな?
NEWマーク表示できないくらいしか思い浮かばん
いらん機能だし

659 :nobodyさん:04/10/25 17:26:29 ID:7ozi48tg.net
>>658
出来る。

660 :nobodyさん:04/10/25 17:29:59 ID:7ozi48tg.net
HTMLの不都合は、たとえばSSI使わないとカウンターが表示できないとか。

661 :nobodyさん:04/10/25 23:10:16 ID:???.net
オールHTML化するとレイアウトを変更したときが面倒なんだよなぁ。
ファイル数も結構増殖していくし。

それくらいかの。

662 :nobodyさん:04/10/26 02:14:41 ID:???.net
>>656
このスレのソース。

663 :nobodyさん:04/10/26 06:22:53 ID:???.net
>>662
サンクス

664 :nobodyさん:04/10/27 10:01:04 ID:???.net
HTMLでクッキーとか機能させるって言ってるけどIE以外は無視?
operaやMozillaだと文字化け起こすぞ

665 :nobodyさん:04/10/27 10:20:49 ID:???.net
IE以外いいよってみんな思ってるんじゃない?
実際そうだし2chもそうだからいいかな、と。

666 :nobodyさん:04/10/27 10:40:24 ID:GQQpVWEo.net
tcupの掲示板てどうなってんだろう。
拡張子無しで/bbsってなってるのが昔から不思議で。
googleなんかのuri表示で見ると、
http://xxx.teacup.com/yyyy/bbsだと、
www.tcup-.com/xxx/yyyy.htmlが本体らしいんだけど。

667 :nobodyさん:04/10/27 11:17:53 ID:???.net
javaだとIE以外じゃ日本語取得できないのかorz
みんな妥協派ですか?

668 :nobodyさん:04/10/27 11:57:31 ID:???.net
>>666 >>667
http://pc5.2ch.net/test/read.cgi/php/1095633323/

669 :nobodyさん:04/10/27 12:24:58 ID:???.net
>>668
だからIE以外じゃできないってのアホ

670 :nobodyさん:04/10/27 16:51:51 ID:pygimpYU.net
>>668
( ´,_ゝ`)プッ

671 :nobodyさん:04/10/27 22:34:47 ID:???.net
>>666
http://www.google.co.jp/search?sourceid=navclient-menuext&ie=UTF-8&q=%E6%8B%A1%E5%BC%B5%E5%AD%90%E3%81%AA%E3%81%97%E3%81%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%A7%E3%81%8D%E3%82%8B%E8%A8%AD%E5%AE%9A

672 :nobodyさん:04/10/27 23:34:24 ID:???.net
閲覧時にクッキー使ってなにがしたいの?
投稿時ならともかく。

673 :nobodyさん:04/10/27 23:38:06 ID:???.net
例えばツリー、スレッド表示の切り替えとかじゃね?

674 :nobodyさん:04/10/27 23:48:20 ID:???.net
お!早い。
切替ならそれぞれリンクを用意するだけで済むのでは?
閲覧時のクッキーってストーキング用途しか思いつかない。

675 :nobodyさん:04/10/27 23:57:22 ID:???.net
>>674
それだけしか思いつかないおまいの脳に乾杯

676 :nobodyさん:04/10/28 03:33:14 ID:???.net
>>664-667あたり
2chで化けるのはbbs.cgiで発行してJavaScriptで取得してるからじゃ?

677 :nobodyさん:04/10/28 06:29:55 ID:???.net
javaで発行すると問題あるんじゃなかったっけ?

678 :nobodyさん:04/10/28 07:03:35 ID:aCWpvFRR.net
つーか無理にHTML表示なんかせんでもいいよ。
動的にやればインタラクション的にも手軽になんでも出来るし。

679 :nobodyさん:04/10/28 07:20:03 ID:???.net
わざわざ内部に組み込むのがアレだって話してんだろ

680 :nobodyさん:04/10/28 08:43:20 ID:???.net
掲示板の1ページ目だけだけど
HTMLにすんのとしないのとじゃけっこう差出るの?

681 :nobodyさん:04/10/28 09:01:31 ID:???.net
htmlファイルに書き出すかどうかは、そのサイトへの訪問者の利用状況によって異なる
一概に○○なら△△とはいえない。
まあ、統計的に、そのページが更新されるまでに10回以上アクセスされるとわかれば、
一般的にはhtml化した方がいいだろうな。

式にすれば

html化するコスト << html化しない場合のCGI起動コスト * not modify間での平均アクセス数

の場合は、html化のメリットが大きい

682 :nobodyさん:04/10/28 14:03:48 ID:???.net
まあHTMLよりCGIの方が負担少ないなんてことはないな

683 :nobodyさん:04/10/28 15:02:48 ID:???.net
>>678
このスレは負荷軽減がテーマなんだが?

684 :nobodyさん:04/10/28 15:05:59 ID:???.net
まあHTMLにしないで負荷を軽減する方法を模索していくのもいいんでない?

685 :nobodyさん:04/10/28 16:23:56 ID:???.net
むしろHTML化できないからプログラムの負荷を下げる必要があるんじゃね?
本当に負荷を下げたいならCGIなんか使わずサイト丸ごと圧縮しておくのが一番だろうし。
俺はCGIを作る側だけど実は↑これが一番好き。

686 :nobodyさん:04/10/28 19:02:58 ID:???.net
しかしコスト(時間や手間込み)単位での効果ならやはり静的HTML生成がベストチョイスなのも事実だし。
まあ両面作戦だね。

687 :nobodyさん:04/10/29 00:44:55 ID:???.net
1, Requests per second: 2.67 [#/sec] (mean)   perl/cgi
2, Requests per second: 17.53 [#/sec] (mean) mod_perl (1と全く同じソース)
3, Requests per second: 60.22 [#/sec] (mean) html (1,2のプログラムで出力された物をhtmlで保存した物)
DBIやarchive等、結構重いモジュールを読み込んでDBにアクセスして表示するプログラム。mod_perlのDBアクセスは永続化している。
処理内容によって一概にいえないけど1つのパターンとして参考までに。

静的htmlだとカウンターだのダイレクトに表示出来ないしクッキーも文字化け(IEではunicode,xxxだとURLencodeだの)
等の問題が発生してめんどくさい。クライアント依存の処理はやはり気持ち悪い。

688 :nobodyさん:04/10/29 07:10:04 ID:???.net
>>687
これって数字高い方がいいってことなの?
ベンチマークに無知でスマソ

確かに文字化けるんだよな・・・
ユーザにHTMLとCGIモードを選ばせるようにしたらいいかも

689 :nobodyさん:04/11/04 17:30:49 ID:???.net
書き込みのときjavascriptでクッキー発行すれば化けんよ。

690 :nobodyさん:04/11/10 00:14:30 ID:???.net
>>1
このアンカー、2chではタグをアクセスごとにつけてるんだっけ?

691 :nobodyさん:04/11/10 01:11:49 ID:???.net
>>690
んだよ、ほれ。
http://pc5.2ch.net/php/dat/1034645635.dat

サニタイジングもregist時にやってるな。
2chは書き込みも多いが、それ以上に読み込みが凄まじいからな。

692 :nobodyさん:04/12/23 11:27:06 ID:???.net
でつ<喪主

693 :nobodyさん:05/01/07 17:35:04 ID:qgEKEyAA.net
質問なんですが、
リンクトレードproやThe Roomのランキングリンクのようなエロサイトによくあるランキングを
PHPで作ってみました。ユーザーごとに情報を1行CSVに保存させて、それがカウントファイルも兼ねてます。
表示部分は静的です。

出来上がったところで、上司に負荷かかりそうだからDBにしてよと言われ、MySQLで作り直してみたところ、
現在ユニーク1万/日くらいのサイトであっというまにMySQL接続数多杉エラーが出ました。
サーバ管理者にMySQLの接続数多すぎと出ましたと言ったところ、
設定変えることもできるけど、トラフィック多いサイト目指すならPostgreSQLにしたほうが良いといわれました。

今とりあえず素直にPostgreをサイト見ながらソース書き直してますが、
一体どの方法がベストなんでしょうか。

ちなみにPHPは趣味レベル、DBの経験は今年からなのでソースに問題があるのかもしれません・・

694 :halc:05/01/07 18:03:52 ID:???.net
>>693
postgresにすれば良いってわけじゃないような。
ユニーク1万/日ぐらいだと、squidでリバースプロクシを導入してみるとかは?

695 :693:05/01/07 18:12:16 ID:???.net
>>694
今後増える予定です。目標が10万PV/日くらいです。

696 :halc:05/01/07 18:22:54 ID:???.net
>>695
同時接続数を増やせないなら、1接続あたりの接続時間の短縮をやらんといけない訳で。
もうクエリを発行しないと分かった時点でコネクション切断とか、
そのレベルの最適化はやってるよね?
初心者らしいから言ってみると、WHERE句、LIMIT, OFFSETで取得数を限定して、
DBから取得したけど使わず捨てているデータを削りこむとかやってみそ。

697 :693:05/01/07 18:56:00 ID:???.net
>>696
やってるつもりなんですが、、
inのカウント取得ファイルのソースをコピーしてみます。
http・・・xxx.php?usrid=$usridで叩いて、DB開き。
$tabledata = mysql_query("SELECT * FROM usr_table",$db);
//配列に入れ
while($row = mysql_fetch_array($tabledata))
{$usr_array[$row[usrid]] = $row;}
//t1フィールドに直前IP記録&カウント
if($rmhost != $usr_array[$usrid][t1]){
$incountup = mysql_query("UPDATE usr_table set incount = ceiling(incount + 1) where usrid = \"$usrid\"");
$ipupdate = mysql_query("UPDATE usr_table set t1 = \"$rmhost\" where usrid = \"$usrid\"");
}
mysql_free_result($tabledata);
mysql_close($db);

if( !$db ) {
print "接続できません。<br>\n";
exit;
}
header("location:{$homeurl}");

これだけです。これで動いたんですが、やっぱり記述おかしかったりしますかね、、?

698 :nobodyさん:05/01/07 19:50:01 ID:???.net
まさか mysql_pconnect とか使ってないよね?

699 :nobodyさん:05/01/07 21:06:14 ID:???.net
>>693
ランクカウント以外の部分(順位の表示とかカテゴリ参加数の表示とか)はどう処理してる?
もしリアルタイムでやってるなら、静的なHTMLで処理するとかcronで処理させるとかすると、
劇的にコネクト数は減るよ。

ユニーク1万にも耐えられないならDB使う意味ないし、Postgresにすりゃいいってもんでもないと思ふ。
やはり、設計段階からの見直しが必要かと。。
毎秒何回ぐらいqueryの発行あるか分かるなら書いてみて。

700 :693:05/01/07 21:46:52 ID:qgEKEyAA.net
mysql_pconnect思いっきりつかってますが、、それって駄目なんですか?

>>699
順位他の処理は、3600秒ごとに静的に書き出してテキストファイルをrequireしてます。
cronではなく、テキストファイルにタイムスタンプ書き出してアクセスごとにチェック、前の書き出しから+3600秒以上経っていたらランキング再書き出し、という感じです。

>ユニーク1万にも耐えられないならDB使う意味ないし、Postgresにすりゃいいってもんでもないと思ふ。
ですよね。。
毎秒何回query発行あるか、どこで見れば良いんでしょう。。
とりあえず今はサイト止まってしまうので旧テキストファイル版に戻してしまいました。

701 :nobodyさん:05/01/07 22:16:37 ID:???.net
>>700
やはりそれぢゃったか

mysql_pconnect して DB に接続すると
mysql_close しても
スクリプトが実行を終了しても
それどころかクライアントがブラウザを閉じた後も
DB接続が切断されずに残り続けるんぢゃよ
つまり今の状態だと mysql_close が全く効いておらん

これは接続をプールして再接続の負荷を減らすためのGJな機能なんぢゃが
DB接続数上限が逼迫している状態では逆に足を引っ張ってしまう両刃の剣
素人にはお薦めできないとまでは言わないが、注意して使わんといかんのぢゃ
mysql の最大接続数を apache の MaxClients より大きく設定する、とかぢゃな

とりあえず mysql_pconnect を myqsl_connect に変更すれば
mysql_close で接続が切断されるようになるので
かなり状況が改善するんぢゃないかのう

702 :nobodyさん:05/01/08 00:00:05 ID:???.net
>>701
勉強になったありがとう。

703 :693:05/01/08 01:09:47 ID:???.net
うわー、、そうだったんですか。
きっとそれっぽいですね。
大変勉強になります。ありがとうございました。とりあえずそれを試してみます。

704 :halc:05/01/08 04:03:06 ID:???.net
>>697
なんてか、削り込み以前にDBMSの本をちゃんと読もうよ。。
  header("location:{$homeurl}");
と、リダイレクト先URLしか要らないのに、
  $tabledata = mysql_query("SELECT * FROM usr_table",$db);
ここで全テーブルデータをぶっこ抜いているのがそもそもの間違い。

ここは
  $tabledata = mysql_query("SELECT * FROM usr_table WHERE usrid = \"$usrid\" ",$db);
と必要な行以外は抜いてこないように直すべき。

705 :halc:05/01/08 04:13:11 ID:???.net
全テーブルぶっこ抜きの方法は、いわゆる「MySQLでかんたん掲示板」系の
入門書から取ってきたんだと思うけど、このやり方、小さな個人サイトなら
またしも10万PV/日のサイトに使える方法じゃない。

という訳で入門書以外のDBMS専門書を読むことを勧める。

706 :nobodyさん:05/01/18 10:29:13 ID:???.net
perl のDBMモジュールでも
データーベースオープン
全データーを配列にコピー
データーベースクローズ
その後配列に対して処理色々なんてことをやってるスクリプトを見かけるが
全部読み込まなきゃいけない処理なら普通のファイルに保存したほうが軽くて速くないか?


707 :nobodyさん:05/01/18 13:57:10 ID:???.net
>>706
早いかもしれないけど影響がでるほどの量だとすれば、
データの書き込み(更新)する必要がある場合dbでやる方が安全だと思う。

708 :nobodyさん:05/01/19 10:26:45 ID:???.net
>>707
いや、だから、あのさ(w
db使うなら丸ごと読み込んだりしないだろう?普通

709 :halc:05/01/20 23:11:44 ID:???.net
全ぶっこ抜きじゃトランザクション隔離のかけらも無いよなぁ

710 :nobodyさん:05/01/29 14:37:47 ID:8oiPQs40.net
大前提として、どれくらいの規模(データと一日あたりのhit数)になったときに
プレーンテキストからDBに移行するべきなのかという目安を考えるべきだと思う。

711 :nobodyさん:05/01/29 15:49:02 ID:???.net
サーバスペックやスクリプトの作りにもよるからなあ

とりあえず思いつくのは

・アクセス頻度と平均処理時間から待ち行列を計算して「ヤバ」と判断したとき
・top の load average が 1 を超えたとき
・HDDのスワップ音が聞こえるとき
・体感的に「重い」と感じたとき

712 :nobodyさん:05/01/30 01:18:32 ID:???.net
表示用HTMLファイルとか作成しちゃうなら、場合によっては
小規模でもデータはDBで管理した方が良いね。

713 :nobodyさん:05/01/30 05:59:08 ID:???.net
そうだな、俺もDBが動いてる環境なら規模によらず常にDBを使う

714 :nobodyさん:05/02/08 01:21:04 ID:???.net
私もDB使っちゃうな

715 :nobodyさん:05/02/19 00:53:49 ID:???.net
orz

716 :nobodyさん:2005/05/06(金) 15:00:41 ID:???.net
DB使った方がコストが安くすむ…場合もあるからDB使っちゃうな。
こんな俺はきっと駄目なPGだ orz

717 :nobodyさん:2005/05/06(金) 19:18:23 ID:???.net
Plain text - 43FoldersWiki
http://wiki.43folders.com/index.php/Plain_text

どうでもいい;)

718 :nobodyさん:2005/10/07(金) 14:59:04 ID:???.net
落ちないもんだな・・・

719 :nobodyさん:2005/10/08(土) 16:41:55 ID:???.net
w

720 :nobodyさん:2005/10/14(金) 03:04:33 ID:???.net


721 :nobodyさん:2005/10/14(金) 18:19:58 ID:???.net
httpd.conf 最適化とかリバースプロキシとかの話はここではしてないの?

722 :nobodyさん:2005/10/16(日) 01:53:02 ID:???.net
>>721
それはWebProgを走らせる「環境」の話だから。
ここは共有鯖で使うCGIの負荷を以下に下げるかの話するスレ(機能してないけど)

723 :nobodyさん:2005/10/16(日) 12:07:20 ID:???.net
httpd.confみたいに説明書と設定ファイルが同じになってると萎える
コメント行削ったら半分以下になった

724 :nobodyさん:2005/10/17(月) 21:25:18 ID:???.net
すいません、ちょっと負荷の意味が違うかもしれない質問なのですが
CGIやPHPで大きなファイルなどのダウンロード速度の制限などを行えるのでしょうか。
検索してみても出てこなかったので
やはりサーバーの方で直接設定しないと出来ないものなのでしょうか。

725 :nobodyさん:2005/10/17(月) 22:42:47 ID:???.net
普通はmod bandwidthとか使ってやると思うけど・・

726 :nobodyさん:2005/10/17(月) 23:09:28 ID:???.net
>>724
スクリプトでファイルを読んで、pushするなら出来ないことも無い。
でも回線負荷は下がるかもしれんが、サーバの負荷軽減にはならんでしょ。
普通は>>725の通り。スクリプトでファイルを送り出すなんてしない(高負荷)。


727 :nobodyさん:2005/10/17(月) 23:11:24 ID:???.net
となると,DBにファイル放り込むのはよくないのかな

728 :nobodyさん:2005/10/17(月) 23:27:23 ID:???.net
教えていただき、ありがとうございました。
やはりサーバー側で直接行う方がスマートで負荷低減になるのですね。
当方サーバー側をTelnet出来ない専用サーバーをレンタルしており
スクリプトでどうにかならないか考えておりました。

SQLite機能がついており、ファイル制限が出来るらしいのですが
DBもやめた方がよいとのことで、
ありがとうございました。

729 :nobodyさん:2005/10/18(火) 23:51:53 ID:???.net
>>727
管理上の必要があれば、DBに放り込むこと自体が悪いわけではない。

730 :nobodyさん:2005/10/19(水) 07:51:56 ID:???.net
>>728
専用鯖なら負荷かかってもいいんじゃないの

731 :nobodyさん:2005/10/19(水) 11:40:17 ID:???.net
>>728
専用サーバなのにTelnetできないのかww

732 :nobodyさん:2005/10/19(水) 17:29:25 ID:???.net
>>731
SSHがあるというオチとか

733 :nobodyさん:2005/10/27(木) 22:33:36 ID:???.net
ちょいと具体的な話でなくてもうしわけないんですがとあるWEBアプリケーション(phpからpostgresを使ってるらしい)について相談をうけまして
ちょっと覗かせてもらったらapacheのプロセスがひとつ毎に10MBほどもメモリーを消費しちゃってるんで、一瞬、え?っと思ったんですが
当方phpもpostgresもあんまり詳しくありませんのでもしかしたらこの構成だと普通の状況なのかな?とも思いまして質問させていただきました

phpはapache2.のモジュールとして組み込んで有ります。

それくらいふつうだろとか、直感的になんかあやしいとか、プログラムがタコだとそうなるとか、感想をお願いします



734 :nobodyさん:2005/10/27(木) 23:41:30 ID:???.net
だれか>>733の解説を頼む

735 :nobodyさん:2005/10/28(金) 00:30:42 ID:???.net
ポスグレのデーモンじゃないか

736 :nobodyさん:2005/10/28(金) 00:31:21 ID:???.net
>>734
要約するとapacheのモジュールとして組み込まれたphpからpostgresqlを使ったらメモリーを10MBガメるのは普通ですか?
ってことだな


737 :nobodyさん:2005/10/28(金) 00:32:58 ID:???.net
ただ単にApacheに色々組み込みすぎて肥大化してるんじゃない?


738 :nobodyさん:2005/10/28(金) 00:40:50 ID:???.net
>>736 thx
ただのリクエストで、どれだけ消費するか見てみないと、なんともいえないね。

739 :nobodyさん:2005/10/28(金) 00:48:08 ID:???.net
>>733
>apacheのプロセスがひとつ毎に10MBほどもメモリーを消費しちゃってるんで
普通。

740 :739:2005/10/28(金) 00:50:20 ID:???.net
正しくは
>phpはapache2.のモジュールとして組み込んで有ります
のような状況の場合、普通。
(PHPのエクステンションを極力動的に組み込めば減るけど)

741 :nobodyさん:2005/10/28(金) 02:09:42 ID:???.net
PHPってメモリー食いなんですね
もしかしてCGIから動かしたほうがいい?


742 :nobodyさん:2005/10/28(金) 07:50:18 ID:???.net
>>741
10メガ位でけちけちすんなよ
別プロセスで立ち上げると負荷かかって遅くなるし

743 :nobodyさん:2005/10/28(金) 11:45:46 ID:???.net
>>741
その代わりPHPを使うリクエストがくる度にロードすることになるから
今度はCPU負荷が高くなるよ。まあサイトの特性で考えれ。
共有サーバなんかはセキュリティを高めるにはCGIで動かすしかないしな。
(例えリクエストの度にロードされてレスポンスが悪くなるデメリットがあるとしても)

744 :nobodyさん:2005/10/29(土) 00:54:53 ID:???.net
>>743
>共有サーバなんかはセキュリティを高めるにはCGIで動かすしかないしな。

何故?

745 :nobodyさん:2005/10/29(土) 13:42:20 ID:???.net
>>744
パーミッションの都合

746 :nobodyさん:2005/11/05(土) 02:38:22 ID:???.net
参照渡しとかすると負荷は軽減するのか?

747 :nobodyさん:2005/11/05(土) 08:52:03 ID:mQF7x1FD.net
データの無駄な二重化が無いから負荷は軽減すると考えてもいいんじゃ?
間違ってたらスマソ

748 :nobodyさん:2005/11/05(土) 09:39:48 ID:???.net
データがコピーされるのは,値が変更されるときでは?
$a = $b ってしてもその瞬間にはコピーされない.

749 :nobodyさん:2005/11/06(日) 12:33:12 ID:???.net
らしいね。
だから、PHPでは「パフォーマンス重視の参照渡し」は
ほとんど無意味ってことかな。

750 :nobodyさん:2005/11/06(日) 12:35:31 ID:???.net
C ならともかく,スクリプト書きながらそういうレベルのパフォーマンス向上を考えること自体間違いな気もするね.


751 :nobodyさん:2005/11/06(日) 12:37:26 ID:v9ryuHmW.net
むしろインタプリタだから「少しでも速度向上」を気にするのでは?

752 :nobodyさん:2005/11/06(日) 16:36:18 ID:???.net
トレードオフだろ

753 :nobodyさん:2005/11/06(日) 17:38:39 ID:???.net
>>741
eAcceleratorなんか使ったら相当違わない?

754 :nobodyさん:2005/11/06(日) 22:56:29 ID:???.net
>>751
要するに PHP を選択してる時点で既にパフォーマンスよりも開発効率を取ってる,ってこと.
速度上げたいなら重い処理だけ C/C++ 使うとか,あるいはハードウェアで解決するとかしたほうがいいんじゃないかな.
アルゴリズムの最適化はもちろんするけど.

755 :nobodyさん:2005/11/06(日) 23:12:20 ID:???.net
まずはプロファイリングだな

756 :nobodyさん:2005/11/30(水) 18:13:41 ID:K1wk1cov.net
アクセラレータつかったりFCGI化するだけで天と地ほど違うぞ
インタプリタだからこそ工夫するというのはその通りだけど、
ざっくり体感に跳ね返ってくるレベルで考えたほうがいいと思う

757 :nobodyさん:2006/01/14(土) 16:02:10 ID:???.net
>>733
たかだか10Mだろ?
そこメモリ何Mのマシン使ってんのよ?
32Mとか?w


758 :nobodyさん:2006/04/05(水) 19:30:26 ID:zzYD4Tt9.net
このスレッドで聞いていいかな・・・?

DBサーバとフロントサーバを分ける場合、
両者はやはり同じLAN内に設置するのが基本ですか?
離れたところに置くと、レスポンスはけっこう遅くなります?


759 :nobodyさん:2006/04/05(水) 20:38:39 ID:???.net
>>758
物理的な距離とレスポンスは関係ない。
LANであろうが回線が遅ければ遅い。
WANであっても回線が速ければ速い。

760 :nobodyさん:2006/04/05(水) 20:45:37 ID:???.net
マルチだけど答えておくか。

セキュリティを重視して分けておけ。

761 :758:2006/04/05(水) 21:03:46 ID:zzYD4Tt9.net
どもです。
同じLAN内に設置すべき、っていうわけでもないんですね。
でも普通はLAN内の方が回線は速そうですね。

762 :nobodyさん:2006/04/05(水) 22:19:19 ID:???.net
>>761
何かLANとドメイン(≠インターネットドメイン)を
一緒くたにしてるように思えるけど。

763 :nobodyさん:2006/04/06(木) 21:08:23 ID:???.net
一緒ですよね。

764 :nobodyさん:2006/04/07(金) 00:57:56 ID:45h+7cJz.net
インターネットを介さないという意味なら、プライベートIPアドレスで構成されたLANの中にウェブサーバとDBサーバを置くのが普通。

765 :nobodyさん:2006/04/07(金) 01:16:20 ID:???.net
おまいらDB間のやるとりはSSHでしょ?

766 :nobodyさん:2006/04/07(金) 01:54:59 ID:???.net
AppleTalkだよ。

767 :nobodyさん:2006/04/07(金) 09:28:08 ID:???.net
ウチはRFC1149準拠。夜間の速度が出ないのが悩み

768 :nobodyさん:2006/04/08(土) 09:38:51 ID:???.net
>>765
ssh は重い


769 :nobodyさん:2006/04/19(水) 23:24:50 ID:???.net
>>757
たかだか、というけど、メモリ上限のあるVPSとか借りてると結構辛いよ?

770 :nobodyさん:2006/04/30(日) 14:21:18 ID:???.net
>>766
うちはlocalTalkですよ。

771 :nobodyさん:2006/07/22(土) 11:03:58 ID:???.net
ホシュ

772 :nobodyさん:2006/09/23(土) 14:37:37 ID:???.net
クシュ

773 :aaz:2006/11/05(日) 22:15:22 ID:???.net
asd D

774 :aaz:2006/11/05(日) 22:18:49 ID:???.net
asd D http://fitaly.com/board/wordperfect/posts/362.html

775 :nobodyさん:2006/11/11(土) 00:59:59 ID:???.net
今更だが
このスレって負荷軽減の邪魔する委員会なんだろ?

776 :nobodyさん:2006/11/26(日) 22:29:27 ID:3LCl7xig.net
PHP+MySqlでユーザー認証する時、DBにはユーザーのIDやパス他の情報があるとします。
仮にそれはもうめちゃくちゃユーザーが登録されていて(かなりの負荷)、DBの読み書きをする場合以下の2つのパターンだとどちらが負荷がかからないでしょうか?
速度の点についても知りたいです。

1.1つのテーブルに全員分登録しておき、普通に読み書きする。
2.ファイルに「ID+その人が使用するテーブル」を記述しておき、それを読み込んでから、複数用意されてるテーブルの中から指定されたテーブルを動的に選択して、読み書きする。

どうなんでしょ?質問+保守上げ。

777 :nobodyさん:2006/11/26(日) 22:33:49 ID:3LCl7xig.net
あ、2の複数テーブルはまぁ10個くらいとします。
仮にデータが50000件あれば1つのテーブルは5000件で済むということになりますよね?

778 :nobodyさん:2006/11/26(日) 22:37:40 ID:???.net
2ちゃんねるってデータベース使ってるんですか?

779 :nobodyさん:2006/11/26(日) 23:02:42 ID:???.net
>>778
あははおもしろーい

780 :nobodyさん:2006/11/26(日) 23:18:23 ID:???.net
>>776
1

781 :nobodyさん:2006/11/26(日) 23:32:51 ID:???.net
>>776
試して測ってみんなに報告。これで皆幸せ。











多分1の方が効率的だと思うけど。


782 :776:2006/11/27(月) 08:15:18 ID:c6HTdBMZ.net
レスありがとうございます。やっぱり1ですかね。
2だと他に色々やりたい時不便になってきますよね。
地道にプログラム面を改善していった方がいいのかもしれませんね。

783 :nobodyさん:2006/11/27(月) 20:23:19 ID:???.net
>>778
2chはテキストファイルベースです
言語はC

>>776
1の方
DBの負荷を下げたいのなら、テキストファイルベースの処理を上手く使うといい

784 :nobodyさん:2006/11/29(水) 02:28:09 ID:???.net
2chはperl+SpeedyCGIで、一部Cじゃなかったっけ?

785 :nobodyさん:2006/11/29(水) 02:58:52 ID:???.net
bbs.cgi=Perl
read.cgi=C
だったかと

786 :nobodyさん:2006/11/29(水) 09:36:30 ID:???.net
bbs.cgi=Perl;
read.cgi=C;

787 :nobodyさん:2006/11/30(木) 03:56:05 ID:???.net
リレーションがいらないなら、フラットなただのテキストファイルが早いんだね。当然か。

788 :nobodyさん:2007/01/30(火) 02:11:44 ID:yyajzISr.net
掲示板の画像をダウソツールで根こそぎかっぱらっていく不届き者を特定した
さて、貴方ならどのような方法でdenyする?

789 :nobodyさん:2007/01/30(火) 07:57:33 ID:???.net
アクセスポイント絞りの範囲指定で.htaccess。

790 :nobodyさん:2007/01/30(火) 10:53:36 ID:???.net
閉鎖

791 :nobodyさん:2007/02/06(火) 23:24:45 ID:???.net
>>788
ダウソツールとわかるUserAgentならまずそいつを403へ
次に一定間隔の連続or同時接続を503へ
それでも懲りないならFWで叩き落す。

792 :nobodyさん:2007/02/26(月) 07:23:03 ID:g5As6DDV.net
私も今、掲示板サイト作ってる途中なので、ちょっとカキコミさせてもらいますお
JAVAなのでちょっとperl、PHPスレとは違うけど共通する部分はあるので。
私の場合、某フリーソースの掲示板を元々おいてたんですけど、レス数が3万をこえたあたりから
ワード検索やレスのカキコミに非常に時間がかかるようになってしまいました。
そのCGI(PERL)はレスのログをテキストファイルに出力しているんですが、毎回何万行も読むんではそりゃ時間かかる
なという感じになってしまいました。
そこで、新しく掲示板作る時には、DB使うべきなのか、それともログ出力用のテキストファイル使うべきなのか、HTMLファイルとして吐き出す
べきなのか、どれがいいとおもいますか?
2chとかはオーバーヘッド対策でDB使わない仕様にしてると聞きました。
やっぱDBにするメリットはオーバーヘッド考えると皆無なんでしょうか?
HTMLファイルに書き出すってのは軽そうだけど検索用のメソッドをHTMLファイルに走らせると早いのかどうか不安な部分もあるんです。
関係ないのでしょうか?


793 :nobodyさん:2007/02/26(月) 08:17:13 ID:???.net
日本語でおk

794 :nobodyさん:2007/02/26(月) 14:14:45 ID:???.net
過去ログを小分けにすればいいじゃん。
2chだって1000レスか512kで別のスレ立てないといけないんだし。

795 :nobodyさん:2007/02/26(月) 23:25:08 ID:???.net
>>792
DBのオーバーヘッドを心配しなければいけない程アクセスが予想されるなら、
表示はHTMLで出力、読み書きはテキストファイル(もちろん分割して)すればいいし、
そうでもないならDB使えばウンコみたいに楽ちん。

796 :nobodyさん:2007/02/27(火) 01:43:49 ID:Sbf00PNr.net
>>794>>795

DB使わない前提で考えると
ということは、1スレごとにHTMLファイルを作ったほうがいいんでしょうか?

1スレ、1ファイルにしたら何万ファイルもできちゃいっても大丈夫なんでしょうか?





797 :nobodyさん:2007/02/27(火) 01:53:27 ID:???.net
>>796
http://www.kusastro.kyoto-u.ac.jp/~baba/wais/other-system.html

798 :nobodyさん:2007/02/27(火) 21:43:24 ID:UMgu+4mi.net
>>797
大変参考になりました。
こんなに役に立った外部リンクは初めてです。
本当にありがとうございます。
最初grep型の検索しか考えてなかった自分の低脳ぶりがはずかしいですw

結局、スレごとに1ファイル書き出して、Luceneを実装してこれでインデクシングして検索に対応することにしました。
Namazuに比べるとどうかな?と最初は考えてましたが、wikipediaでの採用実績を考えると問題ないとおもいましたので。

1スレ1ファイルをテキストファイルで生成して、XSLTで整形してHTML表示しようとおもいますが、YSTやGOOGLEのSEOを考えると、
最初からHTMLとしてファイル生成したほうがいいとおもいますか?
テキストファイルで生成するとpageRANKつかないですよね?

799 :nobodyさん:2007/02/28(水) 03:31:22 ID:???.net
>>798
何いってんのかよくわかんねえけど
ページランクはHTMLで書いてあれば、どんな形式でもつく。

800 :nobodyさん:2007/03/15(木) 00:14:36 ID:???.net


801 :nobodyさん:2007/04/19(木) 09:38:42 ID:80HBTeap.net
おいコラ
1分おきに画像掲示板に底引き網かけてるやつ
死ね!おまえだよおまえ→.kngwnt01.ap.so-net.ne.jp
丸ごと永久規制してやってもまだやってやがる
何時間PC付けっぱなしなんだよ
火事になって死ね

802 :nobodyさん:2007/05/05(土) 17:01:11 ID:429gUmit.net
保守

803 :nobodyさん:2007/06/21(木) 00:36:03 ID:sn0UC2wW.net
質問させてください。

Webサーバ上にあるファイル(バイナリ含む)をファイルパス直接指定でダウンロードする(させる)のと、
以下のようにperlのcgiを通してダウンロードさせるのではどのくらい負荷が違うのでしょうか。


binmode(STDOUT);
while(1){
 read(FILE, $buf, $bufsize);
 last unless (length($buf));
 print $buf;
}


目的は、IEで日本語ファイル名のファイルをダウンロードするときに
ファイル名が文字化けするのを防ぐためです。

つまりapplication/octet-streamやContent-Disposition: attachment; filename=を付けるためだけのCGIです。
もしダウンロードしている間ずっとCPU時間を使っていたら大変だと思いまして。

例えばファイルパス名指しで直接アクセスした場合の負荷を1として、
CGIを使うと10くらいになるのかあるいは1.1くらいなのかの目安が知りたいのです。

bufsizeは1024です。「bufsizeをこう変えたら負荷が減る」というアドバイスなどもあれば助かります。


804 :nobodyさん:2007/07/03(火) 19:21:20 ID:E54Y+fni.net
ECサイトCGI(ZenCart)は
CPU負荷が特別高いのでしょうか。
ご教授お願い致します。


805 :nobodyさん:2007/07/03(火) 23:16:16 ID:???.net
スレ違い

806 :nobodyさん:2007/07/05(木) 18:22:59 ID:???.net
究極の負荷削減はクライアントPCで処理をたくさん行わせる手法である

807 :nobodyさん:2007/07/06(金) 18:02:51 ID:???.net
基地外

808 :nobodyさん:2007/07/06(金) 19:46:39 ID:ZTnm/2V7.net
ttp://minkara.carview.co.jp/userid/108766/profile/

809 :nobodyさん:2007/11/24(土) 04:42:26 ID:0kYCB2/U.net
やたーダウソツールで画像に底引き網をかけてる奴を
.htaccessに放り込むスクリプトができたよー(^o^)ノ

810 :nobodyさん:2007/11/24(土) 11:33:11 ID:???.net
うp

811 :nobodyさん:2008/01/08(火) 01:01:23 ID:hTVbQiHi.net


812 :nobodyさん:2008/03/16(日) 13:10:53 ID:wXI+Q9fC.net


813 :nobodyさん:2008/03/22(土) 08:30:06 ID:???.net
すべてのアクセスを拒否れば負荷はほとんどなくなるアルよ。

814 :nobodyさん:2008/04/24(木) 08:07:46 ID:Ey7r9OAL.net
次のものは負荷はかかるでしょうか?

・ランキングは使わないが登録人数が300人を超すCGIゲーム(50分おきに送信)
・FLASHやJAVAを表示するCGI(1個約2MB、合計12個を1つずつ表示)

815 :nobodyさん:2008/05/13(火) 22:43:06 ID:???.net
>>814の者です。
>>814の疑問が解決しそうです。

816 :nobodyさん:2010/11/02(火) 12:36:44 ID:ZRssODmy.net
こんなのどうよ
http://codezine.jp/article/detail/1027

817 : 忍法帖【Lv=40,xxxPT】(1+0:8) 【14.4m】 電脳プリオン ◆3YKmpu7JR7Ic :2012/11/23(金) 12:02:34.20 ID:???.net ?PLT(12079)
  ∧_∧
  ( ・∀・)      | | ガガッ
 と    )      | |
   Y /ノ      .人
    / ) .人   <  >_∧∩
  _/し' <  >_∧∩`Д´)/
 (_フ彡 V`Д´)/   / ←>>434
            / ←>>277

818 :nobodyさん:2015/11/02(月) 10:25:00.04 ID:QbuLzB/f.net
主食の

魚沼産コシヒカリ
A5のサーロイン
大間のマグロ
高級メロン

の軽減税率をお願いしますねwww

819 :nobodyさん:2015/11/06(金) 18:31:31.04 ID:tDSzu+Xy.net
転職時の注意事項。
下記の条件が全て当てはまる会社にご注意下さい。

・IT系 in Tokyo
・転職会議で2.5点
・転職会議の「その他>2ch情報」の欄で過去の労基2chスレが表示される

820 :nobodyさん:2017/12/30(土) 12:57:08.26 ID:YhlYw6jg.net
誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。

グーグル検索⇒『半藤のブブイウイウレレ』

TM7C0LN4KO

821 :nobodyさん:2018/06/21(木) 10:09:14.47 ID:VtSVJLaY.net
プログラミングを誰でも習得できる方法は、「前場アキドルのプログラミングマスター方法」というブログで見られるらしいよ。ネットで調べると見られるらしいです。

AKH0N

822 :nobodyさん:2018/07/06(金) 15:30:23.76 ID:???.net
age

823 :nobodyさん:2023/01/21(土) 22:10:26.78 ID:???.net
ただ今制限を設けております。

824 :nobodyさん:2023/08/10(木) 03:54:28.99 ID:???.net
プハァー ~~-v( =´o`=) 。o 〇 ○

825 :nobodyさん:2023/10/12(木) 17:24:00.63 ID:???.net
残念だったな!!俺はブリーフ派だ」   

163 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★