『 いろんな言語でゲーム関連のプログラムのベンチマークをとってみましたという話。 』
サーバのカスタマイズで乗り切る限界を突破してしまったため、GIGAZINEは今から新サーバに移転します。新サーバ移転後、何か不具合などがある場合には臨時用のこちらのメールフォームからご連絡いただければ助かります。 というわけで以下、旧サーバと新サーバの設定などについて。サーバのカスタマイズに興味のある人向けです。 まず旧サーバは「Dell PowerEdge 850」を利用し...
Jaslabs: High performance phpでMySQLのクエリを最適化するための10のTipsが公開されています。explainを利用した一般的な方法から、SELECT・INSERTのクエリオプションを使用するような方法まで紹介されています。MySQLクエリの速度低下にお悩みの方は一度読んでみるとよいでしょう。
尾藤正人です。 アクセス数の多いコンシューマ向けの web サービスは、処理速度がかなり重要になってきます。 応答速度が遅いと使用しているユーザにとってストレスになりますし、 処理に時間がかかればサーバに対する負荷も高くなります(厳密に言うと違う)。 そこでウノウではいろいろな工夫をして処理速度の高速化を行っています。 一口に高速化といってもいろいろな要...
『 >そういうわけで、そこはPHPで処理すれば良いんではないかと。可変部分が少ないのにわざわざRoutingするというのが問題であったのだ。 』
ダイナミックWebサイトの構築ではPerlとPHPが広く使われている。では、mod_perlとmod_phpのパフォーマンスはどちらがよいのだろうか。ちょっとしたテストをしてみたので報告する。 2006年08月25日 14時05分 更新 ダイナミックWebサイトの構築ではPerlとPHPが広く使われている。なにしろ、LAMPスタック(Linux、Apache、MySQL、 Perl/PHP/Python)に含まれる「P」の3分の2なのだ。それでは、通常のWeb...
というわけで、再び負荷を下げる方法を模索した、戦いの記録。 1.MySQLの設定を変更して高速化 2.Zend Optimizer 3の導入 3.ionCube PHP Acceleratorの導入 4.テンプレートの見直しでクエリーを減らす 5.robots.txtでクロールする間隔を制御する 6.MySQLの設定を負荷を低くする設定に変更 7.キャッシュを有効化する 前回解説した「GIGAZINEのLoadAvarageを「27」から「2」へ下げた方法」から約3週間後、6...
」(画面1)は、株式会社モバオクが運営する携帯電話およびPC向けのオークションサービスで、2007年2月末時点での有料会員数84万人、出品数284万品、1日のページビュー数7000〜8000万という規模である。 画面1:「モバオク」公式サイトトップページ 「モバゲータウン」(画面2)は、株式会社ディー・エヌ・エー(以下、DeNA)が運営している携帯電話サービスで、無料ゲームやSN...
選択する列も結合インデックスに含めるとさらに高速化が期待できる → DBにまったくアクセスせずに結果を返せる 参照が早くなる反面更新が遅くなるので注意 NULLはインデックスに含まれない。NULLの検索をしたいならデフォルト値の設定を検討すべき !=,<>の使用に注意。in,orなどの置き換えを考える WHERE句の条件に関数を使うとインデックスが使用されない。意味的に等価なS...
こんな記事 *1を読んで驚いたよ。何が驚いたかってはてブのコメント欄。 「役に立ちそう」「使ってみようかな」「よーしパパ特盛りだ」… おいおいマジかよ。突っ込み少なすぎだろ。 もうね。カッとなっちゃったんですよ。 そんな感じで悪役などやってみる。反省はしていない。*2 33. if (strlen($foo) < 5) を調べたいなら if (!isset($foo{5})) と書くと速い。 止めろ、こんなトリッ...
こんにちは sato です。 ベンチャーでは高価なハードウェアバランサなどを購入することはできないですが、 apache2.2 から mod_proxy_balancerという apacheモジュールの ソフトウェアバランサが 追加されたので、フォト蔵でも使用しています。 今のところ proxy サーバがボトルネックになることはないです。 想定構成は以下とし、apacheは 2.x を使用しました。 proxy1 +------web1 +------web2 ... +---...
MySQLのクエリキャッシュはテーブルの構造やテーブル内のレコードが一件でも変更されると破棄されてしまう。 memcachedのキャッシュは有効期限が過ぎるか明示的に削除しない限り破棄されない。 頻繁に更新されるテーブル、取得に時間がかかるクエリに関してはmemcachedを使った方がキャッシュ効果は高い。
『 フリーでオープンソースのPHPアクセラレータ。解析したスクリプトを中間コードの状態でキャッシュして高速化する。 』
PHPを高速化するために中間キャッシュを使う各種PHPアクセラレータについては以前に「PHPアクセラレータで一番高速なのはどれか?」で書きましたが、そういう方法以外にどこで時間がかかっているのか(ボトルネック)を見つけ出すことによって、根本的に高速化するという手法もちろんあるわけで。 そういう作業に役立ちそうなツールがいろいろとあるようなので実際の使い...
ちょっと大き目のWebサイト=Web/APサーバが複数台あることが前提=をPHPで構築する場合、セッション情報を格納するストレージをどこにするか、という話。 まずはストレージの選択から。 ●NFS 実装が一番楽で、 PHP側では特別設定不要。 お手軽さではNo.1だろう。 しかし、過去の経験では一番ナシの方法だ。 問題になるのはガベージコレクション。 セッションの仕組みからして...
『 array_get()→?:演算子かもhttp://ilia.ws/archives/187-Introduction-to-PHP-5.3-Slides.html 』
PHP では @ を付けることでエラーを回避できるという便利な記述方法があり、ものぐさな私などは if (@$var["foo"]) $result = $var["foo"]; みたいなコードを書いてしまいます。 で、この処理が「遅い」という噂やツッコミを度々受けるので調べてみました。 「ほら、そんな気にするほどでも無いよ」という結果を期待していたのですが、、、なんじゃこりゃ。。。 劇遅じゃないですか、こ...
幸いなことに、World Wide Web は 1990年代中頃のすべてが不便だった時代から、さまざまなものが大きく変わりました。デザイナーは開発者と同じように、Web サイトを作成するための便利なツールを手にしています。PHP を含むスクリプト言語は便利であり、また CakePHP (「参考文献」を参照) のようなフレームワークのおかげで、コーディングのあらゆる段階の作業を高速に行うことが...
米Yahoo!のパフォーマンス担当責任者が導き出した「高速サイトを実現する14のルール」を実例とともに紹介します。サイトの高速化と聞くと、サーバ負荷分散などバックエンドで実施する大掛かりなパフォーマンスチューニングを思い浮かべますが、じつは待ち時間の80%はフロントエンドの処理に費やされています。ここで紹介する明解なルールに従いさえすれば、この時間を大...
naoya です。最近、とうとう花粉症の季節に入ったので、生まれて初めて空気清浄機を購入しました。 さて、今日は Apache HTTP サーバの MPM (Multi Processing Module) について解説したいと思います。普段、ウェブサーバを構築するとき、Apache HTTP サーバを使うことが多いと思いますが、Apache HTTP サーバを使う上で MPM について理解しておくことは大事です。 この MPM ですが、Apache HTTP サー...