今天要将一个应用程序部署到服务器上,操作系统是Linux,应用服务器是JBoss。在JBoss启动完毕之后,发现程序并没有启动,查看日志,原来在启动程序时,应用程序需要连接MySql数据库,同时要查询其中的某张表,结果说找不到这张表,报出的错误类似于:can`t
fing dbName.TA...
【linux】 【服务器】 【mysql】 【日志】 【数据库】 【web】 …
Jan
11
2017
Jan
10
2017
Jan
08
2017
Jan
05
2017
Jan
03
2017
Dec
22
2016
Dec
22
2016
Dec
13
2016
Dec
13
2016
Dec
07
2016
现象
Sysbench对MySQL进行压测, 并发数过大(>5k)时, Sysbench建立连接的步骤会超时.
猜想
猜想: 直觉上这很简单, Sysbench每建立一个连接, 都要消耗一个线程, 资源消耗过大导致超时.
验证: 修改Sysbench源码, 调大超时时间, 仍然会发生超时.
检查环境
猜想失败, 回到常规的环境检查:
- MySQL error log 未见异常.
- syslog 未见异常.
- tcpdump 观察网络包未见异常, 连接能完成正常的三次握手; 只观察到在出问题的连接中, 有一部分的TCP握手的第一个SYN包发生了重传, 另一部分没有发生重传.
- 自己写一个简单的并发发生器, 替换sysbench, 可重现场景. 排除sysbench的影响 …