重いデータベースを改善して劇的に速くする簡単なお仕事です
とあるサイトのデータベースが重くてサーバーが悲鳴をあげていました。
モニタで見るとこんな感じ。
定期的にCPU使用率が100%になってるのがわかると思います。
こういう状態だとサイトが重くなったり落ちたりするわけで、ユーザービリティー的にも運営的にも物理的にも精神衛生上的にも色々よろしくないわけです。
データベースが重い理由は大体こんな感じ
- クエリの書き方が最適化されてない
- インデックスの貼り方が微妙
- サーバーのスペックがしょぼい
アクセス数やらアクティビティからスペックがしょぼいはずはないと踏んだので、クエリの書き方を調べてみました。
まずサイト内でレスポンスが重い箇所を捜査、色んなページを閲覧して重い箇所を調べるわけです。
んで、対象のページを見つけまして、
調べてみるとそのページは、レスポンスに10秒以上かかってたんですよね。
10秒の間に他の人が、同じリクエストをしてくる可能性があるので、そうなるとCPUリソースを使いまくることになるので、最悪の場合サーバーが落ちてしまうわけです。
ということで改善すべきターゲットを見つけたので、ソースコード改善してみた結果がこれ
24時間で見るともっとわかりやすい。
レスポンスも0.5秒以下になって、ユーザーにもマシンにも、運営者のお財布にも優しいサーバーができあがりました。
The following two tabs change content below.

まなびん
会社の代表やってます。遊ぶように仕事やってます。
最新記事 by まなびん (全て見る)
- 日本最大級セミナーのポータルサイトの開発に関わらせて頂いています - 2019年10月24日
- エンジニアとして求人応募する際に意識してほしいこと - 2019年10月23日
- 受託が忙しく自社サービス開発できないので開発メンバー募集! - 2019年1月28日