小小困惑:各位在公司都是如何做稳定性测试的?
公司产品在做验收,压力、负载测试全部通过了,目前在做稳定性测试,计划是让200人(分属不同的用户组,做不同的操作)负载不间断运行200小时,产品用的是公司内部的标签库+spring2.5+struts1.2.9+hibernate3.3,ehcache作为二级查询缓存,默认使用apache的dbcp连接池,但经测试后十分不稳定,换c3p0后效果好些,但是运行20小时左右就持续抛出jdbc fails等异常,接着出现out of memory。。。最后无奈把连接池切换到proxool,
具体配置如下
情况开始好转,然而好景不长,系统稳定运行了96小时后,开始抛出一下异常:
问题解决,所有查询提交完后立马释放连接,原有配置跑500并发没有出现任何异常。
结论:
查询式操作最好同样附上spring事务控制,别图省事;
原有问题跟DBCP、c3p0以及proxool孰优孰劣无关,问题在于使用连接池的程序员还有测试数据库雷人的wait_timeout=300![]()
再次衷心感谢各位。 43 楼 godson_2003 2008-11-24 wait_timeout=300 是什么意思?
不好意思 没怎么用mysql
不解:查询跟事务有什么关系? 44 楼 wyfshchaoya 2008-12-01 wait_timeout=300 在测试的时候看到这样的代码真的想杀人....呵呵...真要命. 45 楼 zhouyaguo 2008-12-29 关于 wait_timeout
参考 http://www.eliotk.net/12/21/mysql-wait_timeout-default-is-set-too-high/