首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连接池大小与并发请求数

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

Stack Overflow用户
提问于 2011-07-14 02:14:32
回答 2查看 3.8K关注 0票数 1

我必须开发一个高可伸缩性的set服务,但连接池大小(Oracle DB)设置为50。

拥有这个大小意味着服务的并发请求的数量将是最大的50,否则没有新的连接可用,对吗?

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

我读到服务器接受请求,这些请求被‘排队’,直到一个线程处理它们。

关于“可伸缩性”,我也有一个问号,因为数据库调用的平均时间是1.2秒。+每次调用的响应时间为2秒、3秒的soap overhead...==>。

我可以估计服务器将支持多少并发用户(Weblogic或Glasfish 4 4gb)吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-14 06:33:23

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

使用连接池主要是为了避免总是建立新连接的成本(加上缓存已准备好的语句等),因此其目的是尽可能频繁地重用它们。

当你说平均数据库调用耗时1.2秒时:如果这是一个单一的查询,我认为你应该考虑查询或表索引来减少这一时间(否则我担心你无论如何都会遇到可伸缩性问题),但如果它是多个查询,那么它们应该与其他请求交错。

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

票数 6
EN

Stack Overflow用户

发布于 2020-04-16 15:06:15

当您谈论web服务时,您需要在连接池和并发请求之间保持最佳平衡。关于这个概念,你可以参考:https://dzone.com/articles/optimum-database-connection-pool-size

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6683572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档