-1

我有一个托管在websphere应用服务器8.5上的spring rest api。它使用数据源连接到数据库并存储值 api处理大约10000个并发请求。 我真正想知道的是,最大连接数是否设置为10.连接池如何连接数据库以及实际创建多少会话以实现多达10000个并发请求的负载。websphere如何通过多个请求的数据源管理连接池

+0

阅读对象池。 – Kayaman

+0

@Kayaman我想知道会创建多少个数据库会话。一个链接将不胜感激赞赏。 我要去这个链接http://www.ibm.com/developerworks/websphere/techjournal/0909_blythe/0909_blythe.html#sec3b – user3341233

+0

我不知道你的“数据库会话”是什么,但如果你有一个池大小'10',那么你有10个用户共享的连接。如果您无法找到关于连接池的解释,那么您的搜索结果并不够用。 – Kayaman

回答

0

连接池中的连接由WebContainer线程共享。连接池最大大小限制了将向数据库打开的连接数。当线程完成时,连接通常会返回到池中。如果在应用程序中将连接设置为非共享,则可以更快地返回到连接池(但是,由于某些事务原因不这样做,所以您将不得不通过设置true和false来测试应用程序,请参阅https://www.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.nd.doc/ae/cdat_conshrnon.html)。

应用程序服务器可以处理的并发请求数取决于(a)WebContainer线程池的大小和(b)连接池中可用连接的数量以及(c)运行应用程序的JVM的数量(d)数据库处理请求需要多长时间,以及(e)应用程序代码还有什么作用。

对于每个应用程序都没有单一数字,但一般的经验法则是拥有比连接池更大的WebContainer线程池。如果请求处理很快,那么可以处理大量的并发请求。同样,如果请求处理缓慢,那么并发请求的数量就会减少。见https://publib.boulder.ibm.com/httpserv/cookbook/WebSphere_Application_Server-WAS_Traditional-Thread_Pools.htmlhttps://publib.boulder.ibm.com/httpserv/cookbook/WebSphere_Application_Server-WAS_Traditional-Java_Database_Connectivity_JDBC.html

您可以监视使用技术JVM在https://www.ibm.com/developerworks/websphere/library/techarticles/0304_polozoff/polozoff.html概述这里https://www-01.ibm.com/software/webservers/appserv/was/performance.html

我喜欢做的是尺寸为最佳性能单个JVM(即你必须在任何应用中的瓶颈这将限制单个JVM可以处理多少个并发请求),然后水平扩展(用于故障转移),然后垂直扩展,直到达到并发请求数的服务级别协议(SLA)。您可能还需要查看应用程序中的非功能需求(NFR),以解决任何性能问题。

让我知道你是否有任何后续问题。