★負荷軽減対策委員会(Perl、PHP)★
サーバ上にPerlやPHPを置く場合、何よりも重視しなければ
ならないのはサーバへの「負荷」。
負荷の高いCGIの使用は削除対象となるのが目に見えてます。
負荷を軽減させるにはどうすればいいか?
どういう書き方をすればいいか?
そんな委員会を開設しました。 >>743
>共有サーバなんかはセキュリティを高めるにはCGIで動かすしかないしな。
何故? データの無駄な二重化が無いから負荷は軽減すると考えてもいいんじゃ?
間違ってたらスマソ データがコピーされるのは,値が変更されるときでは?
$a = $b ってしてもその瞬間にはコピーされない. らしいね。
だから、PHPでは「パフォーマンス重視の参照渡し」は
ほとんど無意味ってことかな。 C ならともかく,スクリプト書きながらそういうレベルのパフォーマンス向上を考えること自体間違いな気もするね.
むしろインタプリタだから「少しでも速度向上」を気にするのでは? >>741
eAcceleratorなんか使ったら相当違わない? >>751
要するに PHP を選択してる時点で既にパフォーマンスよりも開発効率を取ってる,ってこと.
速度上げたいなら重い処理だけ C/C++ 使うとか,あるいはハードウェアで解決するとかしたほうがいいんじゃないかな.
アルゴリズムの最適化はもちろんするけど. アクセラレータつかったりFCGI化するだけで天と地ほど違うぞ
インタプリタだからこそ工夫するというのはその通りだけど、
ざっくり体感に跳ね返ってくるレベルで考えたほうがいいと思う >>733
たかだか10Mだろ?
そこメモリ何Mのマシン使ってんのよ?
32Mとか?w
このスレッドで聞いていいかな・・・?
DBサーバとフロントサーバを分ける場合、
両者はやはり同じLAN内に設置するのが基本ですか?
離れたところに置くと、レスポンスはけっこう遅くなります?
>>758
物理的な距離とレスポンスは関係ない。
LANであろうが回線が遅ければ遅い。
WANであっても回線が速ければ速い。 マルチだけど答えておくか。
セキュリティを重視して分けておけ。 どもです。
同じLAN内に設置すべき、っていうわけでもないんですね。
でも普通はLAN内の方が回線は速そうですね。 >>761
何かLANとドメイン(≠インターネットドメイン)を
一緒くたにしてるように思えるけど。 インターネットを介さないという意味なら、プライベートIPアドレスで構成されたLANの中にウェブサーバとDBサーバを置くのが普通。 ウチはRFC1149準拠。夜間の速度が出ないのが悩み >>757
たかだか、というけど、メモリ上限のあるVPSとか借りてると結構辛いよ? 今更だが
このスレって負荷軽減の邪魔する委員会なんだろ? PHP+MySqlでユーザー認証する時、DBにはユーザーのIDやパス他の情報があるとします。
仮にそれはもうめちゃくちゃユーザーが登録されていて(かなりの負荷)、DBの読み書きをする場合以下の2つのパターンだとどちらが負荷がかからないでしょうか?
速度の点についても知りたいです。
1.1つのテーブルに全員分登録しておき、普通に読み書きする。
2.ファイルに「ID+その人が使用するテーブル」を記述しておき、それを読み込んでから、複数用意されてるテーブルの中から指定されたテーブルを動的に選択して、読み書きする。
どうなんでしょ?質問+保守上げ。 あ、2の複数テーブルはまぁ10個くらいとします。
仮にデータが50000件あれば1つのテーブルは5000件で済むということになりますよね? >>776
試して測ってみんなに報告。これで皆幸せ。
多分1の方が効率的だと思うけど。
レスありがとうございます。やっぱり1ですかね。
2だと他に色々やりたい時不便になってきますよね。
地道にプログラム面を改善していった方がいいのかもしれませんね。 >>778
2chはテキストファイルベースです
言語はC
>>776
1の方
DBの負荷を下げたいのなら、テキストファイルベースの処理を上手く使うといい 2chはperl+SpeedyCGIで、一部Cじゃなかったっけ? bbs.cgi=Perl
read.cgi=C
だったかと bbs.cgi=Perl;
read.cgi=C; リレーションがいらないなら、フラットなただのテキストファイルが早いんだね。当然か。 掲示板の画像をダウソツールで根こそぎかっぱらっていく不届き者を特定した
さて、貴方ならどのような方法でdenyする? アクセスポイント絞りの範囲指定で.htaccess。 >>788
ダウソツールとわかるUserAgentならまずそいつを403へ
次に一定間隔の連続or同時接続を503へ
それでも懲りないならFWで叩き落す。 私も今、掲示板サイト作ってる途中なので、ちょっとカキコミさせてもらいますお
JAVAなのでちょっとperl、PHPスレとは違うけど共通する部分はあるので。
私の場合、某フリーソースの掲示板を元々おいてたんですけど、レス数が3万をこえたあたりから
ワード検索やレスのカキコミに非常に時間がかかるようになってしまいました。
そのCGI(PERL)はレスのログをテキストファイルに出力しているんですが、毎回何万行も読むんではそりゃ時間かかる
なという感じになってしまいました。
そこで、新しく掲示板作る時には、DB使うべきなのか、それともログ出力用のテキストファイル使うべきなのか、HTMLファイルとして吐き出す
べきなのか、どれがいいとおもいますか?
2chとかはオーバーヘッド対策でDB使わない仕様にしてると聞きました。
やっぱDBにするメリットはオーバーヘッド考えると皆無なんでしょうか?
HTMLファイルに書き出すってのは軽そうだけど検索用のメソッドをHTMLファイルに走らせると早いのかどうか不安な部分もあるんです。
関係ないのでしょうか?
過去ログを小分けにすればいいじゃん。
2chだって1000レスか512kで別のスレ立てないといけないんだし。 >>792
DBのオーバーヘッドを心配しなければいけない程アクセスが予想されるなら、
表示はHTMLで出力、読み書きはテキストファイル(もちろん分割して)すればいいし、
そうでもないならDB使えばウンコみたいに楽ちん。 >>794>>795
DB使わない前提で考えると
ということは、1スレごとにHTMLファイルを作ったほうがいいんでしょうか?
1スレ、1ファイルにしたら何万ファイルもできちゃいっても大丈夫なんでしょうか?
>>797
大変参考になりました。
こんなに役に立った外部リンクは初めてです。
本当にありがとうございます。
最初grep型の検索しか考えてなかった自分の低脳ぶりがはずかしいですw
結局、スレごとに1ファイル書き出して、Luceneを実装してこれでインデクシングして検索に対応することにしました。
Namazuに比べるとどうかな?と最初は考えてましたが、wikipediaでの採用実績を考えると問題ないとおもいましたので。
1スレ1ファイルをテキストファイルで生成して、XSLTで整形してHTML表示しようとおもいますが、YSTやGOOGLEのSEOを考えると、
最初からHTMLとしてファイル生成したほうがいいとおもいますか?
テキストファイルで生成するとpageRANKつかないですよね? >>798
何いってんのかよくわかんねえけど
ページランクはHTMLで書いてあれば、どんな形式でもつく。 おいコラ
1分おきに画像掲示板に底引き網かけてるやつ
死ね!おまえだよおまえ→.kngwnt01.ap.so-net.ne.jp
丸ごと永久規制してやってもまだやってやがる
何時間PC付けっぱなしなんだよ
火事になって死ね 質問させてください。
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をこう変えたら負荷が減る」というアドバイスなどもあれば助かります。
ECサイトCGI(ZenCart)は
CPU負荷が特別高いのでしょうか。
ご教授お願い致します。
究極の負荷削減はクライアントPCで処理をたくさん行わせる手法である ttp://minkara.carview.co.jp/userid/108766/profile/ やたーダウソツールで画像に底引き網をかけてる奴を
.htaccessに放り込むスクリプトができたよー(^o^)ノ すべてのアクセスを拒否れば負荷はほとんどなくなるアルよ。 次のものは負荷はかかるでしょうか?
・ランキングは使わないが登録人数が300人を超すCGIゲーム(50分おきに送信)
・FLASHやJAVAを表示するCGI(1個約2MB、合計12個を1つずつ表示) >>814の者です。
>>814の疑問が解決しそうです。 ∧_∧
( ・∀・) | | ガガッ
と ) | |
Y /ノ .人
/ ) .人 < >_∧∩
_/し' < >_∧∩`Д´)/
(_フ彡 V`Д´)/ / ←>>434
/ ←>>277 主食の
魚沼産コシヒカリ
A5のサーロイン
大間のマグロ
高級メロン
の軽減税率をお願いしますねwww 転職時の注意事項。
下記の条件が全て当てはまる会社にご注意下さい。
・IT系 in Tokyo
・転職会議で2.5点
・転職会議の「その他>2ch情報」の欄で過去の労基2chスレが表示される 誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
TM7C0LN4KO プログラミングを誰でも習得できる方法は、「前場アキドルのプログラミングマスター方法」というブログで見られるらしいよ。ネットで調べると見られるらしいです。
AKH0N プハァー ~~-v( =´o`=) 。o 〇 ○