10-4パフォーマンスチューニングTips514 パフォーマンスチューニングをする
Level1
Pointシステムのボトルネックを探す
パフォーマンスチューニングと一口に言ってもその手法は様々です。それはシステムのどこにボトルネックが生じてるかによります。一般的なWebシステムの場合、ボトルネックは様々な箇所で生じる可能性があります。回線、ルーターなどのネットワーク機器、サーバのハードディスク、CPU、メモリなどハードウェア的な要因から、DBアプリケーションそのもの、SQLの書き方、テーブルのスキーマ定義、Webサーバ(主にApache)のパラメータなど、本当に様々です。ですので、システムのパフォーマンスチューニングをする場合には、まずどこにボトルネックが生じてるのかを正確に判断する必要があります。
これら全てのボトルネックの要因について一つ一つ解説していくとそれだけで1冊、いいえ、複数冊の本になりますが、本節ではPHPのプログラムの書き方によって生じるボトルネックについて考えていくことにしましょう。
PHPで生じるボトルネックとしては、PHP自体の設定も影響しますが、その多くは「遅い関数」を多用していることから生じます。PHPには数百もの関数が存在しますが、中には歴史的な経緯やその実装の不十分さから「遅い」関数が存在します。また本来であれば速い関数なのにその使い方によって、結果的に処理が遅くなったりもします。
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録