
223
5
数やロジックの複雑度などをもとに個別に目標値を設定します。
計測
計測にあたっては、ログから処理時間を取得するのか、ツールを使っ
て処理時間を測るのか、計測方法や手順を定めておきます。また、性能
目標値が達成できない場合にチューニングの手かがりとなる情報が取得
できるように準備します。ログを詳細レベルで出力してコンポーネント
ごとの処理時間を記録したり、SQLの実行回数や実行時間に関わる情
報を取れるようにしたりすると役立つでしょう。
SQLの実行に関する情報は、O/Rマッパーの機能で出力できる場合
がありますし、データベース製品の機能を使って取得することも可能で
す。また、クラウドのマネージドデータベースを利用している場合、
Amazon RDS Performance Insights
※ 13
のようなパフォーマンス分析
サービスが提供されている場合がありますので、利用を検討するとよい
でしょう。
チューニング
単機能性能テストで目標性能値を達成できない場合、原因はデータ
ベースアクセス周辺であることが多いです。中でも、SQL自体が遅い
か、一つの処理で数多くのSQLが発行されているというパターンがよ
く見られます。前者はインデックス付与やSQLチューニングによって、
後者はプログラムの処理を見直すことによって改善を行います。
SQLの分析と改善はDBAチームが担当する場合もありますが、専任
のDBAがいない場合や人数が少ない場合は、アプリケーション開発者
自身で行わなければなりません。SQLの実行計画の取得方法やその見 ...