先週末に本稼働したシステムが、実際に運用してみると性能的に問題があったので、改善してリリースした。
テストが十分じゃなかったから、あとは運用しつつ確認する感じになっちゃうかな。

今日のやったこと、できたこと

  • プログラミング
  • システムメンテナンス
  • 取引先のホームページ更新
  • 取引先の業務代行

明日への課題

  • システムメンテナンス
  • 経理処理
  • ブログ記事執筆

今日のワーク

今回起こった性能の問題は、大量データの読み込みからのinsertとupdate。
テストでは数100件程度までしかやらなかったので問題なかったけど、本番環境で10万件のデータを対象にやったら待たされる待たされる。

これじゃ20万件目標にしてるのに話にならないので、取り敢えず改修することにした。

今回、DBの処理速度を改善する方法を調べた限り、下記の方法があるのかなと。

  • バルクインサートに変える
  • commit回数を減らす
  • インデックスを追加する

バルクインサートをするにあたっては便利なgemがあったし、commit回数減らすのも簡単にできた。
インデックスも当然簡単に追加できるのですぐに実行すると、驚きのスピード改善が!

それまで10万件で30分くらいかかってたのに、改修後は5分もかからない!
たったこれだけどこんなにも変わることに衝撃を受けた。

ただ、updateはロジックをほとんどいじってないので、もっと処理スピードを上げることも可能かなと思ってる。
現状1件1件updateしているのでね。

あとはいつも通り、取引先の業務をこなして終わり。
明日は祝日だけど、経理処理をしようと思う。

そんな感じ。