Максимальный размер пула подключений при загрузке пружины обеспечивает большее количество соединений, чем должно - PullRequest
0 голосов
/ 09 апреля 2019

Я настроил максимальный размер пула как 10 в своем приложении Spring boot 2.0 (я использую пул соединений Hikari).Я тестирую свой REST API с помощью JMeter.Я пытаюсь смоделировать 500 одновременных пользователей (Группа потоков -> Свойства потока -> Количество потоков (пользователь): 500).Я ожидаю, что тест не пройдёт после 20-го запроса, но мой тест JMeter работает отлично.

spring.datasource.hikari.minimumIdle: 10
spring.datasource.hikari.maximumPoolSize: 10
spring.datasource.hikari.connectionTimeout: 30000
spring.datasource.hikari.idleTimeout: 600000
spring.datasource.hikari.maxLifetime: 1800000
spring.datasource.hikari.connectionInitSql: SELECT 1 FROM DUAL

pom.xml

    <dependency>
        <groupId>com.oracle.jdbc</groupId>
        <artifactId>ojdbc7</artifactId>
        <version>12.1.0.2</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>
  1. Даже при том, что у меня есть MaximumPoolSize 10, я могу установить 500 соединений одновременно.почему это позволяет?
  2. Правильно ли настроен мой пул соединений Hikari?то есть мне нужно отключить пул соединений Tomcat, исключив его в pom.xml (я считаю, что это не требуется в Spring 2.0)

1 Ответ

0 голосов
/ 10 апреля 2019

Количество одновременных пользователей - это потенциальное количество запросов, одновременно попадающих на сервер. Обратите внимание, что это может быть около страницы (статическая страница) и, следовательно, не будет достигать / влиять на базу данных вообще.

Даже когда запрос достигает базы данных, тогда, если пул достиг максимального активного соединения, пул ожидает соединения, в вашем случае, до 30 секунд, что достаточно для транзакции БД в реальном времени.

Как настроить источник данных, это сложно, но в целом ваши настройки верны, вы просто сравниваете разные метрики.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...