JDBC连接配置中Max Wait(ms)值的最佳实践是什么? JDBC
我正在执行两种类型的测试:
使用Max Wait = 10000ms我可以使用10,20,30,40,60和80个线程执行JDBC请求而不会出错。使用Max Wait = 20000ms我可以更高并执行100,120,140个线程而不会出错。这似乎是合乎逻辑的行为。
现在提问。 我可以根据需要增加Max Wait值吗?如何获得更多测试结果是否正确? 如果在某些报告中发生错误,我是否应该停止测试并且不增加线程数?我得到了10000个样本的误差为0.06%。这是我的测试停止吗? 感谢。
答案 0 :(得分:1)
Everything depends on what your requirements are and how you defined performance baseline.
我可以根据需要增加Max Wait值吗?如何获得更多测试结果是否正确?
注意:数据库操作的响应时间越长,最终会导致Web应用程序(或最终用户)的响应时间更长
如果在某些报告中发生错误,我是否应该停止测试并且不增加线程数?
我的测试停止了吗?
以下是一些很好的参考资料:
答案 1 :(得分:1)
根据文档
,此设置映射到DBCP -> BasicDataSource -> maxWaitMillis parameter在抛出异常之前,池将等待(没有可用连接时)连接的最大毫秒数,或者-1无限期等待
它应与应用程序数据库配置的相关设置匹配。如果您的目标是确定最高性能 - 只需将-1
放在那里,就会禁用超时。
关于我的测试停止了吗? - 它取决于多种因素,例如应用程序正在做什么,您要实现的目标以及正在进行的测试类型。如果你测试数据库哪个协调核电站运行比零误差阈值是唯一可接受的。如果这是猫的图片库,这个错误级别可以被认为是可接受的。
在大多数情况下,性能测试分为几个测试执行,如:
有关详细描述的上述测试类型,请参阅Why ‘Normal’ Load Testing Isn’t Enough文章。