パフォーマンス最適化
パフォーマンス最適化:profiling、caching、lazy loading、ページネーション、connection pooling、DB インデックス作成
1Spring Boot のコンテキストにおける HikariCP とは何ですか?
Spring Boot のコンテキストにおける HikariCP とは何ですか?
回答
HikariCP は、バージョン 2.0 以降の Spring Boot におけるデフォルトの connection pool マネージャーです。最適化された実装(低オーバーヘッド、効率的な並行処理管理)により卓越したパフォーマンスを提供し、市場で最速の connection pool として広く認識されています。Spring Boot は、依存関係に spring-boot-starter-data-jpa または spring-boot-starter-jdbc が含まれている場合、自動的にこれを使用します。
2HikariCP のどのパラメータが pool 内の最大接続数を定義しますか?
HikariCP のどのパラメータが pool 内の最大接続数を定義しますか?
回答
maximumPoolSize パラメータは、HikariCP が pool 内に維持する最大接続数(アクティブおよびアイドル)を定義します。HikariCP が推奨する値は一般的に connections = ((core_count * 2) + effective_spindle_count) という式に基づいており、典型的なアプリケーションでは多くの場合 10 から 20 の間です。値が高すぎるとデータベースが飽和する可能性があり、値が低すぎると接続待ちが発生する可能性があります。
3HikariCP における maximumPoolSize と minimumIdle の違いは何ですか?
HikariCP における maximumPoolSize と minimumIdle の違いは何ですか?
回答
maximumPoolSize は pool 内の総接続数の最大値(アクティブおよびアイドル)を定義し、minimumIdle は HikariCP が常に維持するアイドル接続の最小数を定義します。HikariCP は、minimumIdle を設定せず、maximumPoolSize に pool を管理させること(デフォルトの動作:minimumIdle = maximumPoolSize)を推奨しています。pool は負荷に基づいて自動的に調整され、パフォーマンスを最適化するためです。
maximumPoolSize を計算するために HikariCP が推奨する式は何ですか?
HikariCP のどのパラメータが pool から接続を取得するための最大待機時間を制御しますか?
+27 面接問題