April 2022
Beginner to intermediate
464 pages
6h 44m
Japanese
Goでは標準ライブラリの database/sql パッケージがコネクションプーリングを行います1。コネクションプールに関してパラメーターチューニングできるAPIは以下の4つであり、とてもシンプルです。
API名 |
用途 |
デフォルト値 |
|---|---|---|
|
同時にデータベースへ接続できるコネクション数 |
制限なし |
|
アイドルのコネクションとしてコネクションを保持する最大の数 |
2 |
|
コネクションを再利用できる最大時間 |
制限なし |
|
コネクションがアイドル状態でいられる最大時間 |
制限なし |
APIのうち SetMaxOpenConns 、 SetMaxIdleConns は Go 1.2までで実装されているコネクションプーリング全体に関するパラメーター、 SetConnMaxLifetime は Go 1.6で実装されたコネクションの再利用時間に関するパラメーターを設定するAPIです。デフォルトの設定では、 SetMaxOpenConns はコネクションプールを無制限に確保します。コネクションプールに使用可能なアイドル接続のコネクションが存在しない場合、新しいコネクションが生成されます。しかし、無制限にコネクションプールを拡張したとしても、データベース側の設定でコネクションを受け入れられることが前提になります。MySQLやPostgreSQLの max_connections パラメーターが、データベース側での同時接続数の限界になります。 ...
Read now
Unlock full access