Sil*_*ior 32 java mysql performance weblogic connection-pooling
目前我们正在使用4个带有8GB RAM的cpu windows box,并在同一个盒子上安装了MySQL 5.x. 我们在我们的应用程序中使用Weblogic应用程序服务器.我们针对我们的应用程序定位了200个并发用户(显然不是针对相同的模块/屏幕).那么我们应该在连接池中配置什么是最佳连接数(最小和最大数量)(我们使用的是weblogic AS'连接池机制)?
Ang*_*own 55
你真的是指200个并发用户还是只有200个登录用户?在大多数情况下,浏览器用户每秒不能执行超过1页的请求.因此,200个用户每秒转换为200个事务.对于大多数应用来说,这是一个非常高的数字
无论如何,作为一个例子,让我们每秒进行200次交易.假设每个前端(浏览器)tx需要0.5秒才能完成,0.5秒,0.25就花费在数据库中.因此,您需要在WebLogic thead池中使用0.5*200或100个连接,并在数据库连接池中使用0.25*200 = 50个连接.
为了安全起见,我将最大线程池大小设置为比预期允许加载峰值大至少25%.最小值可以是最大值的一小部分,但权衡是某些用户可能需要更长的时间,因为必须创建新的连接.在这种情况下,对于DB来说,50-100个连接并不是那么多,所以这可能是一个很好的起始数字.
请注意,要确定平均事务响应时间以及平均数据库查询时间,您将不得不进行性能测试,因为加载时间可能不会是您单独查看的时间用户.
Sla*_*hev 10
这个问题有一个非常简单的答案:
连接池中的连接数应等于WebLogic中配置的exec线程数.
基本原理很简单:如果连接数小于线程数,则某些线程可能正在等待连接,从而使连接池成为瓶颈.因此,它至少应该等于exec线程的数量(线程池大小).
您应该分析不同的预期工作流程以找出答案.理想情况下,您的连接池还将根据最近的使用情况动态调整实时连接的数量,因为加载是目标地理区域中当前时间的函数.
从较小的数字开始,尝试达到合理数量的并发用户,然后启动它.我认为您可能会发现您的连接池机制与其他软件的可扩展性差不多.
| 归档时间: |
|
| 查看次数: |
37149 次 |
| 最近记录: |