X



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

0001ジークハルト ◆VUxx/EwNXI
垢版 |
02/10/15 10:33ID:ifgLRUyb
サーバ上にPerlやPHPを置く場合、何よりも重視しなければ
ならないのはサーバへの「負荷」。
負荷の高いCGIの使用は削除対象となるのが目に見えてます。
負荷を軽減させるにはどうすればいいか?
どういう書き方をすればいいか?
そんな委員会を開設しました。
0177126
垢版 |
02/10/22 15:38ID:???
>>175
じゃあ、Z80は言語じゃない、なんて突っ込みも許されるかひ?
0178nobodyさん
垢版 |
02/10/22 16:10ID:???
>>171

Fortrun という言語について、詳しく教えて下さい。
0179nobodyさん
垢版 |
02/10/22 18:50ID:???
>>177
Z80は言語じゃない、ガラスです
ttp://www.watch.impress.co.jp/av/docs/20021022/sharp.htm
0180nobodyさん
垢版 |
02/10/23 13:13ID:dAD4Tigy
Perlの一般的なスクリプトの場合、
ログを読み出すとき出力を直接printで表示しているけど、
出力を$buffer .= "〜";というように一つの変数にまとめておいて
最後にprint $buffer;とした方が速いのかな。
imode用のスクリプトはContent-lengthヘッダを出すためにそうしてるけど。

変な日本語でスマソ
0181nobodyさん
垢版 |
02/10/23 15:19ID:???
最初が表示されてから最後が表示されるまでは速いだろうが、
最初を表示するまでが遅くなるだけじゃねーの?

imode程度なら良いけど、メモリ食うだけじゃない?
0182nobodyさん
垢版 |
02/10/23 15:53ID:???
>>180
2chのread.cgiがまとめて表示だったら嫌だ。
0183 ◆hMJAPH9PWA
垢版 |
02/10/23 18:46ID:???
>>180
出力する量にもよるだろうけど、最後に一気に出力の方が早いって事は無いんじゃないかな。
Content-Lengthが必要ないならあえて選択する方法じゃないね。
0184102
垢版 |
02/10/23 22:07ID:???
思ったんですけどKENTさんのYY-BOARDって無駄な処理が多くないでしょうか?
レスのトップソートがある場合、ない場合とかもっとスマートにできそう。
0185nobodyさん
垢版 |
02/10/23 22:32ID:???
>>184
ガイシュツすぎる
Kentの使わないで自分でいいやつ組むのがよろし。
0186102
垢版 |
02/10/23 22:34ID:???
>>185
そうなんですか。KENTさんもバージョンアップの繰り返しで
無駄な処理を省くのが面倒なんでしょうね。
今、YY-BOARDを元に新しい掲示板を作っています。
0187nobodyさん
垢版 |
02/10/24 08:03ID:???
Kentを元にするなって。
最初から作った方が、良いものが作れる。
0188nobodyさん
垢版 |
02/10/24 10:36ID:???
ニュースCGI(読み込む時に常に1MBのlog.csvを読み込む)を、
ログの容量減らす以外でこのスクリプトの負荷を軽減する方法を
いくつか教えてください。

又、これってApacheのモジュール版PHPに変えたら負荷はなくなりますか?
0189nobodyさん
垢版 |
02/10/24 11:44ID:???
ニュースCGIを使うのを止める。
0190nobodyさん
垢版 |
02/10/24 11:59ID:???
>>189の方法が一番負荷が減るけど。
後は、何で全部表示するのにcsvにするの?最初からhtmにしとけばぁ。
ほいで、前から議論に出てるgzipで固めればぁ。
何かのキーで検索するんなら、DBMにすればぁ。
早いし全部ファイルを総なめにする必要ないから負荷激減だね。
0192nobodyさん
垢版 |
02/10/24 12:51ID:???
>>189
いや、つーか・・ええ!?

>>190
CGIの拡張子をHTMLにしてもだめですかね
ダメですよね・・・
0193nobodyさん
垢版 |
02/10/24 12:54ID:???
負荷下げたいならapache2.0+mod_perlでいいんじゃねーの?
要はプロセス作成が重いんだし。
あとは、スクリプトのアルゴリズム次第。
0194102
垢版 |
02/10/24 14:02ID:???
>>187
open(IN,"?????")||&error("情報ファイルを開くことが出来ませんでした");
($no,$ip,$time)=split(/<>/,IN);
$no++;
close(IN);

最後にこれくらいの処理だけが面影として残ってる場合は著作権表記は必要ないと思いますか?
0195nobodyさん
垢版 |
02/10/24 14:24ID:???
>>194
コードの面影が残っていなくても
設計の面影が残っていたら著作権表示は必要(だと思う)

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

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

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

…と勝手なことを逝ってみる
0196102
垢版 |
02/10/24 14:40ID:???
>>194
>>193の部分を記述がめんどくさいのでコピっただけなのですがね。
参考になりました。スレからすれてすいません。
0197太郎
垢版 |
02/10/24 16:43ID:???
>>195
MAKIMAKIは消していいですか?
0198nobodyさん
垢版 |
02/10/24 19:17ID:???
>>196
>スレからすれてすいません。
( ´_ゝ`)

>>197
画像使うんなら消しちゃダメでしょ。
0200nobodyさん
垢版 |
02/10/25 00:28ID:???
そんなん知るかボケ。本人に聞け。
0202nobodyさん
垢版 |
02/10/28 11:06ID:???
2chみたいのじゃなくていわゆる普通の掲示板で
HTML吐き出しタイプの場合、「次のページ」とか
「次の10件」とかの処理どうするの?
『ログ保存数/1ページ表字数』回HTML出力したら
余計負荷かかりそうだし。
0203nobodyさん
垢版 |
02/10/28 12:51ID:???
>>202
???
ユーザがデータ追加する度に「次の10件」って変わるのか?
0204nobodyさん
垢版 |
02/10/28 14:05ID:???
>>202
トップページだけHTML表示にすればいいと思うよ。
全ページをHTML表示するのにはあまり意味はないと思います。
0205nobodyさん
垢版 |
02/10/28 22:38ID:???
次バージョンで修正した方がいいかな〜と思った点について
>>0-

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

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

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


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

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

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


こんなやり取りを見つけたんだけどどう思う?前者は100件を
一気に表示させるのはサーバに負荷がかかるだろうから制限した方がいいといって
後者はそれを否定している。
0207nobodyさん
垢版 |
02/10/29 11:25ID:???
一般的にどれぐらいの負荷でサーバから文句言われるの?
箱庭諸島とか禁止ってる所多いけど
0208nobodyさん
垢版 |
02/10/29 11:50ID:QTfCZ5sA
普通の掲示板ごときでサーバに負荷なんてかかるもんなんでつか?
0209nobodyさん
垢版 |
02/10/29 17:46ID:???
使ってるスクリプトや使い方による。
0210nobodyさん
垢版 |
02/10/29 20:15ID:???
>>206



                 ま た K E N T か



0211nobodyさん
垢版 |
02/11/01 09:24ID:???
Pentium4 1.6GHz RAM512MBの専用サーバなら
FF Adventureをいくつぐらいまで設置できますかね?
参加人数が1つの設置につき50人ぐらいとして。
0213211
垢版 |
02/11/01 15:22ID:???
>>212
どういう計算で3個という数が出たんですか?

FFAdventureのPHP版(Apacheモジュール版)を作ろうと思ってるんですが
それならその2倍くらい置けそうですよね?
0215age
垢版 |
02/11/02 16:50ID:???
FFAdventureが負荷かかりやすい理由は?
0217nobodyさん
垢版 |
02/11/02 23:20ID:rdTV1RKU
>>215
それとIE以外のブラウザで戻るボタン多用。

Pen4 1.6GHzよりもPen3 1GHz×2の方がいいわな。
Pen4よりもPen3かCeleronの方がCGIがサクサク動くよ。
0219nobodyさん
垢版 |
02/11/04 13:03ID:UUsMIZp7
厨行為がなくても負荷は掛かりやすい。
・同時プレイ人数が多い(多いところだと10人以上)
・ゲームという性質上、計算など処理量が多い。
チャットも上の性質を満たすが、それ+αなわけだ。
0220nobodyさん
垢版 |
02/11/04 13:07ID:UUsMIZp7
でも、デフォルトのFFAの更新頻度は10分になっているから
それならば本来、そんなに負荷は掛からないはずなのだ。
ただ、最近CGIを全然知らない負荷を意識しない奴が
平気に「短い方が良いに決まってるじゃん」という
理由で更新頻度を30秒とかにしちゃってるから問題になってるわけだと思う。
0222nobodyさん
垢版 |
02/11/04 15:10ID:Y3fUpfXy
異常にレベルの低い議論が続いてますね。
TOCでも勉強するといい
ボトルネック見極めないで憶測で議論しても意味ナイ
0223
垢版 |
02/11/04 16:29ID:???
ping -f pc.2ch.net
.
.
.
.
.
.
今日も快適だ
0224nobodyさん
垢版 |
02/11/05 14:57ID:???
掲示板とか運営するならCGIはログ読み込み+書き込み、だけやらせて、
タグ付けはクライアントサイドでやらせる、

負荷軽減
0225nobodyさん
垢版 |
02/11/05 15:00ID:???
>>202
全てのデータをXMLで吐かせておいて、
XSL+JavaScriptで表示、これで解決
0226nobodyさん
垢版 |
02/11/05 20:27ID:???
>>224
そうするとかちゅーしゃ等を使うのが一番手っ取り早いね。
0229age
垢版 |
02/11/09 08:48ID:???
ブラチラで終了かよ!
0230nobodyさん
垢版 |
02/11/09 11:56ID:E2/H+5gT
>>227はブラチラじゃないよ
0231nobodyさん
垢版 |
02/11/09 12:07ID:IRpoTYp2
ブラクラ
0232nobodyさん
垢版 |
02/11/14 16:08ID:???
ブラクラって何ですか?
体験させられはしたんで、何の略かを知りたいのでそ。

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

0236235
垢版 |
02/11/14 20:28ID:???
いっけね。あったよ。crashの方がコンピュータがクラッシュするって
いつも使ってるやつね。crushは、もみつぶす。俺の英語力もとほほや。
逝ってくる
0237age
垢版 |
02/11/15 09:16ID:???
データの転送量さえ少なければCGIの負荷ってかからないよね?
0238238
垢版 |
02/11/15 09:18ID:8BLO7GsJ
コバルトサーバ → CGI不向き
Pentium III    → CGI可
Pentium IV    → CGI最適

の図式で合ってる?
0239238
垢版 |
02/11/15 09:20ID:8BLO7GsJ
コバルトサーバ → CGI不向き
Pentium → CGI最適

と考えてよろしいか?
0242nobodyさん
垢版 |
02/11/16 02:53ID:???
perlでHTMLとか吐くとき
ヒアドキュメント使うのと全部printで表示するのはどっちがいいんですか?
0243nobodyさん
垢版 |
02/11/16 14:45ID:???
>>242
表示したい文字列を全て一つの変数に入れて、最後にprintする
0245nobodyさん
垢版 |
02/11/16 20:52ID:???
>>244
ところでHTML::Templateって結局>>243だよね。
$tmpl->output(\*STDOUT);
みたいにしてテンプレートに変数流し込むそばから
すぐprintできるとうれしい…。
0246nobodyさん
垢版 |
02/11/17 12:14ID:YRaU2xF9
つーか
@RANKING = $RANKING[
sort {$tmp1[$b] <=> $tmp1[$a] or $tmp2[$b] <=> $tmp2[$a]
}
0 .. $#tmp1];
ってなperlの部分をphpになおしたいんだが
だれか教えてくれないでしょうか?
0247nobodyさん
垢版 |
02/11/17 18:05ID:???
@tmp1 を主キー
@tmp2 を副キーにしてソートしてるだけのような。
0251nobodyさん
垢版 |
02/12/22 15:32ID:/yTei76p
lkh
0253nobodyさん
垢版 |
02/12/23 01:32ID:???
漏れ様の貧弱なマシンではよォ、use DBI;で0.20[s]もオーバーヘッドがかかりやがる。

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

やっぱApacheDBIにしたほうがよさげ?
0254 ◆grDYeooZwg
垢版 |
02/12/23 13:38ID:IPdi8EVE
最近、ここのYomi-Searchを改造してPath Infoに対応させた。
ロボット型検索エンジンからの直リンクが多いので、デコード処理をしない分
負荷軽減になるとおもうけど、どうおもう?
0255nobodyさん
垢版 |
02/12/24 16:19ID:???
>>252
じゃあこのスレにもひっそりと宣伝。現在配布に向けてテスト中。
あまり大々的にしてないので、参加者が少ないです。
もし暇な方とかいたらよろしく。
http://www.s55.net/~paka/
0256nobodyさん
垢版 |
02/12/31 02:35ID:TxzAlG2p
>>255
PHPにしたからって普通の鯖屋が
「FFA、箱庭は禁止ですがPHP版であれば設置可能です」なんて
言うと思えんとこがつらいな。
0257nobodyさん
垢版 |
02/12/31 11:13ID:???
>>255
例えば自分が設置しているS55netさんだと、
本来ゲームなどの高負荷CGIは+1000円になるのですが、
同じ料金のままにしてもらってます。

具体的に負荷をチェックしてみてくださいって言ってみるといいかもね。
それでも負荷が多かったら禁止されてもしょうがないし。
0258nobodyさん
垢版 |
02/12/31 11:14ID:???
ああ、でもFFA禁止って言うのは負荷だけじゃなくて
改造による暴走の危険性も考えてのことかな・・・
そうするとつらいかも。
0259nobodyさん
垢版 |
03/01/14 15:39ID:???
>>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 はちょ
と古いね。
0261nobodyさん
垢版 |
03/01/17 23:14ID:???
あの、漏れもFFAを軽量化しようと改良してるところ。
メインの画面のhtmlとかをJavaScriptで生成して2回目からは
クライアント側でキャッシュできるかな?と
思ってますがかなり軽量できますかね?
0262nobodyさん
垢版 |
03/01/25 16:11ID:gv57Iyhs
>>261
師匠、いくらプログラムをいじったってパソコンは軽くならないですよ。
0264nobodyさん
垢版 |
03/02/10 11:12ID:???
電源から電気をもらっているわけで
HDの容量が変わると電荷の分増えたりしないのか?
0266nobodyさん
垢版 |
03/03/01 17:02ID:???
2ショットサイト作成中なんですが、チャットってログはテキストより
SQLにした方が負荷は低いですか?
チャット自体はモジュールのPHPで動かす予定なんですが。
0267nobodyさん
垢版 |
03/03/01 17:06ID:???
>>266
ログは多くても100件保存できればOKでしょ?
だったらテキストの方が良いに決まってる。
0268nobodyさん
垢版 |
03/03/01 21:11ID:+zEIIVTI
>>266
チャットは
mod_perlで常駐させて
配列にログ入れて
ファイルアクセスをなくすと
めっちゃ早かったでつ。

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

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

>>268
mod_perlは普通に動くスクリプトをそのまま動かせるんだったら
試してみようとも思うんだが。お手軽さならPHPに流れちゃうね。
そういえば自分、JavaScriptは全然わけわかめだった^^;
0270ハッカ飴
垢版 |
03/03/02 23:25ID:???
>>244
1ページ分を1つの変数に入れたとしてもせいぜい50KB。
たいしてメモリを食わないと思うんだがどうだろう?
0271nobodyさん
垢版 |
03/03/03 15:53ID:???
辞典みたなものをCGIで作ろうと思ってるんだけど、データをHTMLで保存するか
ログファイルに保存して毎回CGIで表示するか迷ってる。
CGIサーバが5MBしか容量ないので保存データ量を節約したいけど負荷が気になる。
1日500件もアクセス無いはずだから別にいいかな?
0272nobodyさん
垢版 |
03/03/10 14:42ID:e5Gc6Qds
>>271
辞典の更新頻度、検索の手段によるのでは
0274nobodyさん
垢版 |
03/04/02 16:48ID:MBb6MhRw
質問です。

Windows2000
Apache 1.3.26 win32
ActivePerl 5.6.1

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

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

ご存じの方、よろしくお願いします。
0275nobodyさん
垢版 |
03/04/03 00:43ID:u5AEaj7N
>>274
DProf を試してみたら?
レスを投稿する


ニューススポーツなんでも実況