连接池耗尽了,导致请求连接的程序等了很久都没等到连接而超时,相关配置是这两项:<!-- 指定连接数据库连接池的最大连接数 -->
<property name="maxPoolSize" value="60" />
<!--当连接池连接耗尽时,客户端获取连接等待所需时间-->
<property name="checkoutTimeout" value="20000"/>
原因基本上是有连接泄漏,检查代码是怎么关闭连接的?是不是都在finally里面close了?
<property name="maxPoolSize" value="60" />
<!--当连接池连接耗尽时,客户端获取连接等待所需时间-->
<property name="checkoutTimeout" value="20000"/>
原因基本上是有连接泄漏,检查代码是怎么关闭连接的?是不是都在finally里面close了?
只有两个地方用了getSession() 我自己也关闭了 其他都用Spring的HibernateTemplate来做操作现在就不知道是哪的问题 郁闷
你这个不是办法,连接再多,也经不起泄漏。我4楼说的:
如果熟悉数据库的话,可以去查看下数据库中保持的连接session,最后究竟都执行了啥语句,这样便于反向追查问题源。
+-----+------+---------------------+---------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+-----+------+---------------------+---------+---------+------+-------+------------------+
| 59 | root | localhost | NULL | Query | 0 | NULL | show processlist |
| 80 | root | 192.168.1.102:56229 | ezzcard | Sleep | 4511 | | NULL |
| 93 | root | 192.168.1.102:56232 | ezzcard | Sleep | 4507 | | NULL |
| 349 | root | 192.168.1.15:37854 | ezzcard | Sleep | 808 | | NULL |
| 348 | root | 192.168.1.15:37855 | ezzcard | Sleep | 808 | | NULL |
| 350 | root | 192.168.1.15:37856 | ezzcard | Sleep | 808 | | NULL |
| 352 | root | 192.168.1.15:37858 | ezzcard | Sleep | 808 | | NULL |
| 351 | root | 192.168.1.15:37857 | ezzcard | Sleep | 808 | | NULL |
| 355 | root | 192.168.1.15:37861 | ezzcard | Sleep | 808 | | NULL |
| 363 | root | 192.168.1.15:37874 | ezzcard | Sleep | 704 | | NULL |
| 364 | root | 192.168.1.15:37875 | ezzcard | Sleep | 704 | | NULL |
| 365 | root | 192.168.1.15:37876 | ezzcard | Sleep | 704 | | NULL |
| 366 | root | 192.168.1.15:37877 | ezzcard | Sleep | 704 | | NULL |
| 367 | root | 192.168.1.15:37878 | ezzcard | Sleep | 704 | | NULL |
| 368 | root | 192.168.1.15:37879 | ezzcard | Sleep | 704 | | NULL |
| 369 | root | 192.168.1.15:37880 | ezzcard | Sleep | 701 | | NULL |
| 370 | root | 192.168.1.15:37881 | ezzcard | Sleep | 701 | | NULL |
| 371 | root | 192.168.1.15:37882 | ezzcard | Sleep | 701 | | NULL |
| 372 | root | 192.168.1.15:37883 | ezzcard | Sleep | 701 | | NULL |
| 373 | root | 192.168.1.15:37884 | ezzcard | Sleep | 701 | | NULL |
| 374 | root | 192.168.1.15:37885 | ezzcard | Sleep | 701 | | NULL |
| 375 | root | 192.168.1.15:37886 | ezzcard | Sleep | 693 | | NULL |
| 378 | root | 192.168.1.15:37890 | ezzcard | Sleep | 696 | | NULL |
| 379 | root | 192.168.1.15:37892 | ezzcard | Sleep | 646 | | NULL |
| 381 | root | 192.168.1.15:37894 | ezzcard | Sleep | 646 | | NULL |
| 380 | root | 192.168.1.15:37893 | ezzcard | Sleep | 646 | | NULL |
| 382 | root | 192.168.1.15:37898 | ezzcard | Sleep | 646 | | NULL |
| 383 | root | 192.168.1.15:37899 | ezzcard | Sleep | 646 | | NULL |
| 384 | root | 192.168.1.15:37901 | ezzcard | Sleep | 646 | | NULL |
| 390 | root | 192.168.1.15:37909 | ezzcard | Sleep | 520 | | NULL |
| 393 | root | 192.168.1.15:37913 | ezzcard | Sleep | 521 | | NULL |
| 397 | root | 192.168.1.15:37920 | ezzcard | Sleep | 367 | | NULL |
| 398 | root | 192.168.1.15:37921 | ezzcard | Sleep | 369 | | NULL |
| 402 | root | 192.168.1.15:37928 | ezzcard | Sleep | 287 | | NULL |
| 403 | root | 192.168.1.15:37929 | ezzcard | Sleep | 291 | | NULL |
| 412 | root | 192.168.1.15:37941 | ezzcard | Sleep | 146 | | NULL |
| 413 | root | 192.168.1.15:37942 | ezzcard | Sleep | 147 | | NULL |
+-----+------+---------------------+---------+---------+------+-------+------------------+
37 rows in set (0.00 sec)