karszawa / sign-of-horns

ISUCON 7 Qual Repository :metal:
0 stars 1 forks source link

dbのコネクションプールを導入する #25

Open totetotetotem opened 6 years ago

totetotetotem commented 6 years ago

なにをやるか

dbのコネクションプールを導入する。

なぜやるか

dbのコネクションをプールすることで、コネクションを使いまわして、コネクションをつなぎ直すオーバーヘッドを消す。またコネクションをつなぎすぎてネックになるのを防ぐ。

どうやるか

goのsqlドライバに対して

 db.SetMaxOpenConns(8)
 db.SetMaxIdleConns(8)

というコードをdefer db.Close()の前に追記する。 2コアで8はちょい多めらしい。

参考

https://qiita.com/methane/items/ccd3fd856b02b06c9452

totetotetotem commented 6 years ago

試したら、このコードを記述したことで大幅にスコア落ちたし、あまり適切ではないかもしれない まあ、パラメータ次第なんかな