[DB]接続プールとHikariCP
3873 ワード
何が連絡を解除しますか? 接続プールの利点 DataSource DataSourceの例 HikariCP
サーバの開発には、データベースの使用が必要です.私のサーバーがDBとどのように接続するか知りたいです.
要求されるたびにデータベースに接続する方法があり、サーバがデータベースに接続してから接続された接続をデータベースに接続する方法があります.
次に、2つ目の方法を見てみましょう.接続を解放する方法を見てみましょう.
1.ネットの意味とは?
データベース接続を格納するコネクタ(Webサーバなど)の場所を「接続プール」と呼びます.
デフォルトでは、コネクタは作成後に消えますが、コネクタプールに接続されたコネクタを作成すると、リクエストを受信したときに一致することができます.
2.接続解除のメリット
インタフェースを事前に作成することで、パフォーマンスを向上させることができます.
スタックオーバーフローの答えを引用するには、皿を使用して捨てるか、茶碗を洗ってから再使用するかに例えます.コネクタを接続するコストは、新しい皿を購入するコストと同じです.😂
あんていせい
信頼できる方法は、複数のコネクタを作成し、指定したコネクタに配布することです.
n/a.費用
新しく作成した接続は、約6 MBから10 MBのメモリを使用します.
3. DataSource (JDBC)
JDBCは、接続プールを作成するためのDataSourceと呼ばれる良いインタフェースを提供しています.
DataSourceインタフェースを表示するには、次の3つの方法で実行できます.
4.データソースの例
接続(Spring)
@Autowired
private DataSource dataSource;
@GetMapping("/")
public String test() throws SQLException {
System.out.println("getConnection...");
Connection connection = dataSource.getConnection();
System.out.println("disconnect!");
connection.close();
return "ok";
}
上記のコードを実行すると、
DataSourceを使用して接続を確立できます.
接続の設定(HikariCP)
HikariCPを使用して、データソースを空中登録することができます.@Configuration
public class DataSourceConfig {
@Bean
DataSource dataSource() {
HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost:3306/connectionpool?serverTimezone=UTC");
config.setUsername(" db 이름 ");
config.setPassword(" db 비밀번호 ");
config.setDriverClassName("com.mysql.cj.jdbc.Driver");
config.setMaximumPoolSize(20);
config.setMinimumIdle(10);
DataSource dataSource = new HikariDataSource(config);
return dataSource;
}
}
setMaximumPoolSize:最大サイズ.
setMinimumIdle:HikariCPコントロールプールで保持する有効な接続の最小数.
5. HikariCP
JDBC接続プールの1つで、高速で簡単な利点があります.
独身は日本語では明るいという意味です.2012年頃にBrettWoldridgeが開発したHikariCP github
次の図は、HikariCPのパフォーマンスを、c 3 p 0、dbcp 2、Tomcat、viburなどの他のプールフレームワークと比較したものです.
コメントリンク
https://stackoverflow.com/questions/457287/what-is-the-benefit-of-connection-and-statement-pooling
https://medium.com/@rajchandak1993/understanding-hikaricps-connection-pooling-behaviour-467c5a1a1506
https://www.javadoc.io/doc/com.zaxxer/HikariCP/2.6.3/com/zaxxer/hikari/HikariConfig.html
Reference
この問題について([DB]接続プールとHikariCP), 我々は、より多くの情報をここで見つけました
https://velog.io/@kkj53051000/DB-커넥션-풀과-HikariCP-Java
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
@Autowired
private DataSource dataSource;
@GetMapping("/")
public String test() throws SQLException {
System.out.println("getConnection...");
Connection connection = dataSource.getConnection();
System.out.println("disconnect!");
connection.close();
return "ok";
}
@Configuration
public class DataSourceConfig {
@Bean
DataSource dataSource() {
HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost:3306/connectionpool?serverTimezone=UTC");
config.setUsername(" db 이름 ");
config.setPassword(" db 비밀번호 ");
config.setDriverClassName("com.mysql.cj.jdbc.Driver");
config.setMaximumPoolSize(20);
config.setMinimumIdle(10);
DataSource dataSource = new HikariDataSource(config);
return dataSource;
}
}
JDBC接続プールの1つで、高速で簡単な利点があります.
独身は日本語では明るいという意味です.2012年頃にBrettWoldridgeが開発したHikariCP github
次の図は、HikariCPのパフォーマンスを、c 3 p 0、dbcp 2、Tomcat、viburなどの他のプールフレームワークと比較したものです.
コメントリンク
https://stackoverflow.com/questions/457287/what-is-the-benefit-of-connection-and-statement-pooling
https://medium.com/@rajchandak1993/understanding-hikaricps-connection-pooling-behaviour-467c5a1a1506
https://www.javadoc.io/doc/com.zaxxer/HikariCP/2.6.3/com/zaxxer/hikari/HikariConfig.html
Reference
この問題について([DB]接続プールとHikariCP), 我々は、より多くの情報をここで見つけました https://velog.io/@kkj53051000/DB-커넥션-풀과-HikariCP-Javaテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol