Java 连接池大小与并发请求数

Java 连接池大小与并发请求数,java,web-services,glassfish,scalability,Java,Web Services,Glassfish,Scalability,我必须开发一个高可扩展的Web服务,但Oracle DB的连接池大小设置为50 拥有这个大小意味着服务的并发请求的数量将最多为50,否则就不会有新的连接,对吗 但通过配置,Weblogic或Glassfish服务器是否可以同时接受超过50个请求 我了解到,服务器接受“排队”的请求,直到线程处理它们 关于“可伸缩性”,我还有一个问号,因为平均DB调用需要1,2秒soap开销…=>每次调用的响应时间为2.3秒 我可以估计服务器支持Weblogic或Glasfish 4gb的并发用户数吗 谢谢池中最多

我必须开发一个高可扩展的Web服务,但Oracle DB的连接池大小设置为50

拥有这个大小意味着服务的并发请求的数量将最多为50,否则就不会有新的连接,对吗

但通过配置,Weblogic或Glassfish服务器是否可以同时接受超过50个请求

我了解到,服务器接受“排队”的请求,直到线程处理它们

关于“可伸缩性”,我还有一个问号,因为平均DB调用需要1,2秒soap开销…=>每次调用的响应时间为2.3秒

我可以估计服务器支持Weblogic或Glasfish 4gb的并发用户数吗


谢谢

池中最多有50个连接并不意味着您一次只能处理50个用户。每个页面请求都应该生成可以相互交错的查询:因此,虽然一次只能运行50个查询,但应该能够处理更多的页面请求。这可以通过确保只在短时间内连接到数据库来实现

连接池的使用主要是为了避免始终建立新连接的成本,以及缓存准备好的语句等,因此目的是尽可能频繁地重用它们

当您说平均DB调用需要1.2秒时:如果这是一个查询,我认为您希望查看查询或表索引以减少这一时间,否则我担心无论发生什么,您都会遇到可伸缩性问题,但是如果是多个查询,那么它们应该与其他请求非常愉快地交织在一起


关于排队:weblogic将对查询进行排队,但您可以设置超时,以便在设置的时间后返回未完成的查询。然后,您可以决定再试一次,或者告诉用户系统正忙,或者稍后再试。

池中最多有50个连接并不意味着您一次只能处理50个用户。每个页面请求都应该生成可以相互交错的查询:因此,虽然一次只能运行50个查询,但应该能够处理更多的页面请求。这可以通过确保只在短时间内连接到数据库来实现

连接池的使用主要是为了避免始终建立新连接的成本,以及缓存准备好的语句等,因此目的是尽可能频繁地重用它们

当您说平均DB调用需要1.2秒时:如果这是一个查询,我认为您希望查看查询或表索引以减少这一时间,否则我担心无论发生什么,您都会遇到可伸缩性问题,但是如果是多个查询,那么它们应该与其他请求非常愉快地交织在一起


关于排队:weblogic将对查询进行排队,但您可以设置超时,以便在设置的时间后返回未完成的查询。然后,您可以决定再试一次,或者告诉用户系统正忙,或者稍后再试。

当您谈论web服务时,您需要在连接池和并发请求之间保持最佳平衡。对于您可以参考的概念:

当您谈论web服务时,您需要在连接池和并发请求之间保持最佳平衡。对于您可以参考的概念:

谢谢……我提出了一个类似的问题。您能解释一下相互交错的意思吗?生成页面的过程可能需要多个数据库操作。由于这些操作在时间上是间隔的,服务器可以一次生成多个页面,只有当页面需要获取一些数据时,才使用数据库连接,即在页面之间交错使用数据库。谢谢……我提出了一个类似的问题。您能解释一下相互交错的意思吗?生成页面的过程可能需要多个数据库操作。由于这些操作在时间上是间隔的,因此服务器可以一次生成多个页面,仅在页面需要获取某些数据时使用数据库连接,即在页面之间交错使用数据库。