- WEBシステム開発 TOP
- 選ばれる理由
- システム性能改善のために
システム性能改善のために
システムの応答速度はサーバの性能だけではありません。システム設計の工夫によってスピードアップする事ができます。サイトをオープンして1年、2年と経過すると、データ量の増加や閲覧数の増加により、サービス速度の低下が目立ってきます。そこで以下の様な工夫を行う事で、快適なレスポンスを維持しています。
キャッシュの活用
アクセスのたびに必要な情報を、都度データベースに問い合わせていては、データベースの負荷が増して行く一方です。または外部のRSSの読み込みなども、表示のたびにリモートアクセスを繰り返していると、相手のサーバに負担がかかる上、レスポンスも低下してしまいます。そこで、PEAR::Cache_Liteなどを使って、プログラム実装レベルやHTMLレベルのキャッシュを保持する事で、サービス全体の速度を高速化しています。
データベースチューニング
データベースのスキーマ実装を行い、そのまま運用しているだけでは、データが増えるに従って処理が重くなってきます。そこで、インデックス機能の活用やメモリ配分のチューニングを行う事で、サーバスペックを最大まで引き出す事ができます。クエリキャッシュの利用によって、SQLレベルでキャッシングを行う事も出来ます。
サマリーデータ活用
上記のデータベースチューニングを行っても、SQL自体がサブクエリやテーブル結合を多重に行っている場合などは、SQL自体の見直し、テーブル構造の見直しを行わなければ速度を改善出来ません。年、月、日毎にデータを集計し、サマリーデータを作成する事で、一度の計算量を減らし、SQLのスリム化を行う事が出来ます。
アクセラレータ導入
ハードウェアの性能向上に伴い、プログラムの処理自体がボトルネックになるケースは減って来ていますが、それでも、例えば0.1秒の処理が100万回行われれば「10万秒=28時間」の処理時間となります。わずかでも処理効率を上げる必要がある際は、PHPスクリプトをエンコードして高速化を行える、ionCUBE、Zend
Encoderなどを活用しています。