サーバーが重いので助けてくださいと言われたときの確認手順方法

トイズクリエイションではインフラ構築・サーバープログラムの受託開発をメインにしていますが、
たまにお客様より弊社が制作していない既存サービスのサーバーのパフォーマンスが
悪いので改善して欲しいというご依頼がくることがあります。

サーバー・パフォーマンスチューニングとして見るべき順番は、
インフラ > データベース > ソフトウェア(プログラム)と考えており下にいくほど時間・コストが発生します。
インフラで解決できる部分はインフラで解決というのが弊社のスタンスです。

今回〜数週に渡って弊社が実際に行っているパフォーマンス注意点をゆっくりではありますが
連載していきたいと思います。

パフォーマンスチューニング目次

インフラ

  1. 1. インフラ構成が適切か。
  2. 2. 余計なソフトウェアが起動していないか。
  3. 3. サーバー1台に対しての同時接続、処理数設定が正常に行われているか。(Nginx・PHP・MySQLなど設定が最適化を確認)
  4. 4. 全体のアクセスに対してサーバー台数が足りているか。

データベース

  1. 1. データベース構成が適切か。(参照系・更新系とテーブルを分けているかなど)
  2. 2. テーブルレコードが大きくなりすぎていないか。
  3. 3. 大きくなる可能性があるテーブルはパーティション・シャーディングが行われているか。
  4. 4. プライマリー・ユニーク・インデックスが正常に設定されているか。

ソフトウェア

  1. 1. ループ系の処理などボトルネックになりそうな処理を記述していないか。
  2. 2. 更新処理が多い場所はキュー処理を利用しているか。
  3. 3. 参照処理に対してキャッシュを利用しているか。
  4. 4. 参照処理に対してレプリケーションを利用しているか。

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です