Как использовать атрибуты maxWait, removeAbandonedTimeout и suspectTimeout, относящиеся к пулу соединений jdbc - PullRequest
0 голосов
/ 13 июня 2018

Я использую SQL Server 2012, tomcat-7 для развертывания моего приложения и Java 1.7.

Моя текущая конфигурация для пула подключений, как

<Resource
    name="jdbc/devC"
    auth="Container"
    type="javax.sql.DataSource"
    maxActive="100"
    maxIdle="5"
    maxWait="-1"
    driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
    url="jdbc:sqlserver://localhost:1433;DatabaseName=DB_NAME"
    username="sa"
    password="db#123"
    removeAbandoned="true"
    removeAbandonedTimeout="300"
    logAbandoned="false"/>

В моем приложении есть7 разных баз данных, поэтому указанная выше конфигурация также присутствует для 7 разных баз данных (эти 7 баз данных присутствуют на одном сервере).

При этой конфигурации я выполняю 80 потоков, каждый поток использует / использует одно соединение навремя.Теперь мне нужно улучшить выполнение моего приложения, поэтому я решил увеличить потоки с 80 до 150 или 200 Но для этого мне нужно подумать о влиянии на пул соединений, поэтому мне нужно больше понять об этом.

Как я могуиспользуйте этот атрибут, чтобы улучшить мой пул соединений, чтобы я мог добиться более быстрого выполнения, используя больше потоков и пулов соединений

  1. Как работает removeAbandonedTimeout?Потому что я провожу демонстрацию соединения с БД, чтобы проверить его поведение, но ничего не получил.
  2. Как работает suspectTimeout?
  3. Я отключил maxWait, установив -1, это правильный способ использования?Я отключил его, потому что мое приложение может когда-нибудь достигнуть максимального счетчика.

Заранее спасибо

...