最近项目上线后遇到了一个连接池获取的连接不可用,导致报last packet ... ms这样的错误。记录一下解决的过程。
我们使用的是druid数据库,使用的是网上最常见的配置方式,如下:
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!-- 基本属性 url、user、password -->
<property name="url" value="${jdbc_url}" />
<property name="username" value="${jdbc_user}" />
<property name="password" value="${jdbc_password}" />
<!-- 配置初始化大小、最小、最大 -->
<property name="initialSize" value="1" />
<property name="minIdle" value="1" />
<property name="maxActive" value="20" />
<!-- 配置获取连接等待超时的时间 -->
<property name="maxWait" value="60000" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="300000" />
<property name="validationQuery" value="SELECT 'x'" />
<property name="testWhileIdle" value="true" />
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />
<!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->
<property name="poolPreparedStatements" value="true" />
<property name="maxPoolPreparedStatementPerConnectionSize" value="20" />
<!-- 配置监控统计拦截的filters,去掉后监控界面sql无法统计 -->
<property name="filters" value="stat" />
</bean>
这里的超时时间其实就是timeBetweenEvictionRunsMillis设置的60秒了,空闲时间超过60秒的连接,在使用前会检查是否可用,所以首先查看数据库配置,但发现数据库配置的时间是超过60秒的,而且再加大超时时间也没有用。
后来dba说在数据库前还用了mycat,把mycat去掉直接连果然好了。
可是mycat也有超时时间,查看设置后发现也是大于60秒的,所以虽然基本上确定是mycat那边的问题,但始终不知道怎么解决。
直到...一天后dba又说mycat前面还有haproxy代理(...),并且发现haproxy设置的超时时间很短,后来加大时间把mycat加回去后问题终于解决。
总结:遇到类似的问题一定要搞清楚从程序到数据库一共经过了几层,每一层的超时时间必须依次增大,否则就会出现类似问题。
分享到:
相关推荐
eNSP.exe 打开需要使用的动态...由于找不到packet.dll,无法继续执行代码,重新安装程序可能会解决此问题 解决办法: 复制Packet.dll 到 C:\Windows\SysWOW64 和 C:\Windows\System32 目录下,再次启动软件即可正常。
Packet.sys是一个重要的系统驱动文件,主要用于在Windows操作系统中实现TCP/IP协议的底层接口。本文将深入探讨TCP/IP协议,Packet.sys的作用以及如何安装和使用。 首先,TCP/IP协议栈由四个主要层次组成:网络接口...
3. "Packet.dll_PChome下载介绍.txt" - 这可能是一个文本文件,包含了从PCHome下载packet.dll的详细说明,包括如何验证文件的真伪、如何正确安装以及可能遇到的问题和解决方法。 在处理packet.dll缺失的问题时,...
标签中的"winpcapSDK 开发包 头文件 sdk pcap.h Packet32.h Packet32.h wpcap.lib Packet.lib"进一步强调了这些文件在WinPCAP SDK中的重要性。这些标签是关键词,方便开发者搜索和识别相关资源。 在压缩包的子文件...
packet.DLL,很多开发软件需要个人经历啊!好多开发软件需要各种各样的dll,并且还需要单独放到目录里 就便宜点吧,无语了……
这个"Packet.Tracer5.3.0.0088-汉化包"是该软件的一个版本,针对中文用户进行了语言本地化处理,使得中国用户在使用过程中能够更加方便地理解和操作。 Packet Tracer的主要功能包括以下几个方面: 1. **网络模拟**...
思科路由器交换机模拟软件].Packet.Tracer5.3.0.0088.part1,还有part2
Packet.Tracer5.2.0.0068.part1内含汉化包
HG532eV100R001C01B020_upgrade_packet.bin 定制版的华为HG532具有远程执行代码漏洞。 经过身份验证的攻击者可以将恶意数据包发送到端口37215,以发起攻击。 成功的利用可能导致远程执行任意代码。
在使用android openfire 作为IM服务的时候 利用第三方账号 如果第三方账号中含有@符号的话 登录会报错 可以利用这个代码进行...然后传递到openfire 在查询数据库之前进行解析 这是在openfire的源代码中找出来 [更多]
本文将详细讲解如何使用packet.dll库来实现这一功能,该库为开发者提供了直接操作网络接口层的能力,使得我们可以构建更加灵活且定制化的网络应用。 首先,packet.dll是一个Windows平台下的动态链接库,它提供了低...
在linux先安装sebek往往缺少这个内核文件,内核版本2.6.18
Packet.Tracer5.2.0.0068.part1内含汉化包
一个头文件,做网络嗅控时要用到的头,在计算机网络可以用到
Packet.Tracer5.3.3官方原版+汉化包
[[思科路由器交换机模拟软件].Packet.Tracer5.3.0汉化包,[思科路由器交换机模拟软件].Packet.Tracer5.3.0汉化包