我有几个问题
1)我们如何在weblogic配置中定义允许或一次允许多少并发用户访问特定应用程序?
2)我们如何判断线程在weblogic中的使用情况?
3)我应该设置多少个最大jdbc连接数,这样用户才不会因为所有连接都用完而被阻塞。如何在最大允许jdbc连接的并发用户数/线程数之间保持平衡?
谢谢
发布于 2012-07-17 13:45:46
它在每个用例场景中都是不同的。但通常WLS1实例每个实例可以覆盖50~100个活跃用户。实例拥有2个CPU和1~1.5 and的堆。
本文档将对您的问题有所帮助:
"Planning Number Of Instance And Thread In Web Application Server"
发布于 2011-05-03 02:05:28
1)您可以使用工作管理器来执行此操作以管理请求。然而,限制并发用户的数量将因应用程序而异。如果是web应用程序,请使用最大限制等于您要限制的用户数的工作管理器。然而,一定要弄清楚如何处理溢出-当你收到100个请求,但有5个用户的限制时,你会怎么做?这是同步处理还是异步处理?
2)理想情况下,您希望池中线程与连接的比例为1:1。这保证了没有线程(用户请求)在等待连接。我建议你试试这个。您可以使用WebLogic控制台并将字段添加到连接的“监视”选项卡下的列中,来监视JDBC连接池。如果您有大量的等待者,并且/或者等待时间很长,那么您可能希望增加池中的连接数。您可以从1:0.75的线程:连接比率开始,进行性能/负载测试,并根据您的发现进行调整。这真的取决于你管理连接的能力。是在从数据库获取数据后立即释放连接,还是继续应用程序逻辑并在方法/逻辑结束时释放连接?如果你长时间保持连接,你可能需要更接近1:1的比例。
发布于 2011-05-05 18:30:40
1)如果您为每个用户分配了一个会话,那么您可以在webapp weblogic描述符中控制会话的最大数量,例如,添加以下约束:
<session-descriptor> <max-in-memory-sessions>12</max-in-memory-sessions> </session-descriptor>它比限制工作管理器的请求数量更有效(如果您的意思是1个用户=1个会话)。另一种方法是,当您无法预测会话的大小和用户数时,可以调整内存过载参数并设置:
weblogic.management.configuration.WebAppContainerMBean.OverloadProtectionEnabled.更多信息请点击此处:http://download.oracle.com/docs/cd/E12840_01/wls/docs103/webapp/sessions.html#wp150466
2)线程的容量由WebLogic通过工作管理器进行管理。默认情况下,只存在一个: default,线程数不受限制(!)。
3)通常情况下,使JDBC连接的数量适应线程的数量更有效。
下面的页面肯定会非常有趣:http://download.oracle.com/docs/cd/E11035_01/wls100/config_wls/overload.html
https://stackoverflow.com/questions/5860523
复制相似问题