見出し画像

ポートフォリオ重かった話

当時の状況

RDSを見回りに行くと、およそ自分がポートフォリオを確認したタイミングからMySQLのコネクションが張りっぱなしでした。
以下、show processlist;の結果です。

25コネクションもついてるMySQL
MySQL詳細

解決の道

まず確認すること

今回はGo言語で初めてDBを使った。そして明示的にコネクションのCloseをしていなかった。
というわけでGoサーバーへのアクセスが原因の場合、リロードを増やせばコネクションも同じ量増えるはず。
確かめてみた。
増えた。

gormの仕様を確認

gorm.DBにはclose関数がないことがvscodeのサジェストで分かりました。
そのためググりました。
ありました。

解決

gormからsql.DBを取得し、閉じる。

// コネクション開始
db = gorm.Open(...)
...
// コネクションを閉じる
sqlDB, _ := db.DB()
sqlDB.Close()

感想

やっぱCloseはありましたね。よし。

いいなと思ったら応援しよう!