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

0001ジークハルト ◆VUxx/EwNXI
垢版 |
02/10/15 10:33ID:ifgLRUyb
サーバ上にPerlやPHPを置く場合、何よりも重視しなければ
ならないのはサーバへの「負荷」。
負荷の高いCGIの使用は削除対象となるのが目に見えてます。
負荷を軽減させるにはどうすればいいか?
どういう書き方をすればいいか?
そんな委員会を開設しました。
0536nobodyさん
垢版 |
03/11/07 05:18ID:???
もういいから。わからないやつは黙っておけ。
0538nobodyさん
垢版 |
03/11/07 07:00ID:H74hevQp
>>537
へー結構差があるんだね。
0541nobodyさん
垢版 |
03/11/07 19:01ID:???
>>540
PHPA、だいぶというかかなり違うようですが。
0544nobodyさん
垢版 |
03/11/11 02:37ID:???
>526
my 変数の方が速いの?
速度とか関係無しにstrict通るようにした方が良いだろうって話は置いといて。
0545nobodyさん
垢版 |
03/11/11 03:02ID:???
そりゃあ速いさ
シンボルテーブルに登録されないし
0547nobodyさん
垢版 |
03/11/11 20:21ID:???
メモリにかかる負荷を測定するってことは出来ますかね。
0548nobodyさん
垢版 |
03/11/11 21:35ID:???
ああ俺もそれ調べたい。
と言うかメモリ使用量とかどうやって調べてるんだろ…。
測定用のモジュールとかあるのかな?
0549nobodyさん
垢版 |
03/11/11 21:57ID:???
>>547-548
OS に依る。Linux や *BSD なら vmstat(8) とか top(1) で
別ターミナルから測定。
0550nobodyさん
垢版 |
03/11/11 22:06ID:???
Winは無理っすか。
タスクマネージャみたいな監視ツール作ってログ取るようにすれば良いんかな…俺にゃ無理だけど…。
0551nobodyさん
垢版 |
03/11/12 20:29ID:???
掲示板とかのスクリプトでHTMLを吐き出してそれにアクセスさせるってあるけど
ログファイル自体をHTMLにするって効率悪いよねぇ。
0552nobodyさん
垢版 |
03/11/12 22:06ID:???
>>551
変換するのは1回だがアクセスされるのは何度もあるからいいのよ
0553nobodyさん
垢版 |
03/11/13 00:24ID:???
逆にアクセス解析とかカウンターとかは変換するだけ無意味って言うか
ログなんて管理人しか見らんし。
0556nobodyさん
垢版 |
03/11/16 09:50ID:+X9Lai7L
久しぶりに見たら。このスレまだ生きてたんだー
0557nobodyさん
垢版 |
03/11/17 01:02ID:???
今日、会社休みます。。。

会社の負荷を減らすためにネ!
0558nobodyさん
垢版 |
03/11/17 01:47ID:???
1日だけとは言わずに毎日休んだらどうっすかね?
0559nobodyさん
垢版 |
03/11/17 01:52ID:???
人類のお荷物を減らすために?
0561nobodyさん
垢版 |
03/11/27 00:12ID:fPk+Wuzv
堕スレ化したの?
でも、結局負荷軽減ってアルゴリズム考えた方が、
myがどーの、ヒアドキュメントがどーの、言うより意味あるよね。
言語選択ではある程度答え出てるし、このスレの意義って。。。
0562nobodyさん
垢版 |
03/11/27 02:12ID:???
ちょっとした負荷を減らすために非常に参考になりました
0565nobodyさん
垢版 |
03/12/01 11:39ID:???
やっぱ表示速度を優先するか
サーバの負荷を優先するか。

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

これはすごいことなの?
0571nobodyさん
垢版 |
03/12/01 15:14ID:E1CqoPVw
>>570
「ネットランナー」って読んだことないです

とりあえずぐぐってみたら、
http://www.zdnet.co.jp/internet/runner/
> 超ヘビーユーザーになるためのインターネット活用誌
( ゚д゚)ポカーン
0572nobodyさん
垢版 |
03/12/01 15:31ID:???
>>571
厨房の愛読書だよ
賞もCGIの人気とか上っ面だけしか見てないで取ったりして、
作る人から見たらひどいソースのものも入賞してる
0573nobodyさん
垢版 |
03/12/01 16:04ID:???
うるせぇよ、年末の賞の審査員は有名サイト管理者を寄せ集めてるんだから、
それには文句いうの(・A・)イクナイ!!
0574nobodyさん
垢版 |
03/12/01 16:37ID:???
まあ、実際使う側からしてみれば、
たいていのやつがソースなんてどうでもいいんだがな。
0575nobodyさん
垢版 |
03/12/01 17:37ID:???
とりあえず、あんなのに金賞をあたえるネトランは糞
0576nobodyさん
垢版 |
03/12/01 17:46ID:w243ltNf
ちょっと使ってみた

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

設定でどうにかなるかもしれないけど
とりあえず気になったのはこんなところ
0577nobodyさん
垢版 |
03/12/02 16:30ID:???
ていうか、コード酷すぎ。
配列の使い方すらわかってないように見えたし、変数全部グローバルだし。
関数の使い方も変だし。 ネットランナーとかいう雑誌のレベルがわかっちゃうな
0578nobodyさん
垢版 |
03/12/02 18:49ID:???
だから対象の選考者は一般人だってば
0579nobodyさん
垢版 |
03/12/02 19:09ID:???
一般人だとなんだっていうのよ?
0581nobodyさん
垢版 |
03/12/02 20:28ID:???
>>566
ネットランナーとやらでは金賞かもしれんがバグ放置はまずいと思うぞ。
常にSTDINから無条件で受け入れる仕様。
投稿記事がある状態で-Tを付けて起動するとrtn_gnrl.plで起こる無限ループ。
管理用ページ→基本設定→「記事ページ最大表示数」を空にして設定保存→掲示板へ戻ると
Lib_gnrl.plで0除算して二度と起動しなくなる事で負荷を下げるエレガントな仕様、等他大量。
0582nobodyさん
垢版 |
03/12/02 20:38ID:???
>>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.
0583nobodyさん
垢版 |
03/12/03 02:06ID:???
こんなとこで陰口たたいててもしょうがない。
直接言ってやらないと。
0584nobodyさん
垢版 |
03/12/03 08:56ID:???
陰唇と陰口どっちが好きですか?
0586nobodyさん
垢版 |
03/12/05 16:47ID:???
陰核を
  叩いてわたる(^^)
        585
0587nobodyさん
垢版 |
03/12/07 10:59ID:kmAZpJfG
Linuxサーバ、topで調べてみたら
毎晩httpdにCPU20〜89%くらい使用量があって
サーバが激重なんですが、原因がはっきりしない…

Apacheやネットワークの設定をどうにかこうにかして
負荷を減らす方法無いですか?
0589nobodyさん
垢版 |
03/12/07 16:07ID:???
>>587
どのようなスクリプトを実行させているか、で話は変わってくる。
0590nobodyさん
垢版 |
03/12/07 23:24ID:???
>>587
非力なwwwサーバで山ほどモジュール組み込んで激重CGIでも置いてるんだろ
0591nobodyさん
垢版 |
03/12/08 00:18ID:???
鯖がリダイレクト合戦してるんだよ。
0592587
垢版 |
03/12/08 10:06ID:ZQtmk+Sq
>>589
2ショットチャットとか画像アップローダとか・・。

>>590
えーっとサーバは確かPenIVの2GB、RAM1GBだったかな。
0596nobodyさん
垢版 |
03/12/08 20:07ID:???
PenIVの2GB
PenIVの2GB
PenIVの2GB
PenIVの2GB
PenIVの2GB
0597nobodyさん
垢版 |
03/12/09 04:16ID:oL7UDJrs
>>587デテオイデ。
0598nobodyさん
垢版 |
03/12/09 07:30ID:???
あまりに盛り上がらなかったからねぇ
0599nobodyさん
垢版 |
03/12/09 10:15ID:5gjkqVTX
陰口を叩く。
0600nobodyさん
垢版 |
03/12/10 03:11ID:???
陰唇と陰口どっちが好きですか?
0602 ◆8772606082
垢版 |
03/12/24 04:28ID:???
すれ違いと言われたのでここにきました。

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

とするのと

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

と書くのでは、処理速度や負荷に差がありますか?
配布とかメンテを考えると後者で書きたいんですが。
0603nobodyさん
垢版 |
03/12/24 05:11ID:???
大差なし。メンテしやすさが最優先。
0604nobodyさん
垢版 |
03/12/28 07:34ID:???
全体で150KBくらいになるCGIソースで
処理によってはルーチンのうちのほんの一部しか
使わないという場合、
処理をライブラリにしてrequireするのと
全体が1ファイルなのとどっちが効率いいのでしょうか?

0605nobodyさん
垢版 |
03/12/28 08:50ID:???
環境によるだろ。計測しろ。
0606nobodyさん
垢版 |
03/12/28 15:28ID:???
計測ってどうやってやるんですか?
でっかい実行ファイルを起動するのと
ちっちゃいのを起動してrequireするのと
どっちが軽いかという問題だと思うんですが。


0607nobodyさん
垢版 |
03/12/28 15:45ID:???
>>606
負荷が気になるなら負荷を調べる方法ぐらい知っておいたほうがよろしいかと
0608nobodyさん
垢版 |
03/12/28 17:57ID:???
>606
そもそも、あなたの「軽い」ってどういう意味ですか?
0609nobodyさん
垢版 |
03/12/28 18:15ID:???
<?
  exit;

  〜以下長文〜

?>
0610nobodyさん
垢版 |
03/12/28 23:20ID:???
>>606
requireのとこまで来たら結局全部読み込まれるのではないかな?
0611nobodyさん
垢版 |
04/01/12 13:26ID:???
処理順では通らない部分のrequireも
スクリプト内にあるとrequireされるんでしょうか?
requireを見つけてからrequireする?
0612nobodyさん
垢版 |
04/01/12 15:36ID:???
>>611
そんな簡単なことぐらい試せばわかるだろ
0613nobodyさん
垢版 |
04/01/12 15:48ID:???
#!perl
if ( 0 == 1 ) { require './存在しないスクリプト.pl'; }
exit;
0614nobodyさん
垢版 |
04/01/13 18:58ID:???
一枚岩で作って、え〜となんだっけか名前わすれたけど
一回実行したらメモリー上にキャッシュして次回から高速実行するツール
あれ使ったほうが軽さという面では圧倒的(ただしCPU負荷)
回線負荷は変わらんし大概先に満杯になるのは回線帯域のほうだ
0615nobodyさん
垢版 |
04/01/13 20:44ID:???
負荷を気にするならperl,phpをやめろ
0616nobodyさん
垢版 |
04/01/15 16:33ID:???
perl、phpの中でだろ?
共有鯖での利用を考えてる人もいるだろうし
0618nobodyさん
垢版 |
04/02/22 16:00ID:???
7行プログラムってスレ、すごいねアレは。
でも、短くするために敢えて重い処理をしていることもあると思うんよ。
それでも短いから負荷は感じないわけだけれども。

単純に処理を軽くする以外にも、コードを小さくする負荷軽減もあるんやねぇ。
0619nobodyさん
垢版 |
04/02/22 22:12ID:hBJi8oj3
言ってること矛盾してるじゃん。
>短くするために敢えて重い処理をしている
>コードを小さくする負荷軽減もある
ドキュンやな。
0620nobodyさん
垢版 |
04/02/22 22:34ID:???
翻訳を試みた。
ある処理をする際に
 A: 複雑な処理をする組み込み関数を使う
 B: 単純な処理をする組み込み関数をいろいろ組み合わせる
の2種類の方法があるとして
 Aの負荷 < Bの負荷
ってこと?
0621618
垢版 |
04/02/23 00:56ID:???
>>620 YES.
そういう場合もあるんじゃないかと思ったので。
0622619
垢版 |
04/02/23 04:07ID:???
フーン。スマソねー。

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

どっちが良いのか微妙っぽい。
0624nobodyさん
垢版 |
04/04/20 20:30ID:yfis5kmt
age
0625nobodyさん
垢版 |
04/05/16 04:46ID:2fTgoYEJ
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

たしかにコードは短くできるので試したところ
レスポンスが悪く、重くなった気がします
0627nobodyさん
垢版 |
04/05/16 10:10ID:???
>>625
三項演算子使ってるだけでしょ、普通に使うけど。
レスポンスは落ちるのかなぁ? 
0629nobodyさん
垢版 |
04/05/20 12:34ID:NShBOzWM
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)マークのユダヤ教にでも、入信せよ!

0630nobodyさん
垢版 |
04/05/20 13:06ID:9F0Z79In
Cで組め。手っ取り早く最速で負荷を極力少なくできる。
0631nobodyさん
垢版 |
04/05/20 14:55ID:???
負荷を少なくするならまず、
データ構造とアルゴリズムを見直せ
次にCPUをグレードアップしろ
それでもダメならCか汗ブラで
0634nobodyさん
垢版 |
04/05/20 16:11ID:cgjPprlD
ここできくなよ
レスを投稿する