java - Web应用的Hibernate session 连接关系

标签 java hibernate

我是hibernate的新手,

从下面的链接,

Hibernate Session Connection Relationship 我知道一个 hibernate session 对象将保存一个连接对象。

所以我怀疑,如果我在我的服务器中将我的连接池大小配置为 10。是否可以只允许 10 个人同时在应用程序中工作?

如有错误请指正。

最佳答案

部分是的。这意味着只能同时执行 10 个 SQL 查询。如果 11 个客户端同时访问同一个页面,并且大部分时间花在一些长时间运行的 SQL 查询上,那么第 11 个客户端很可能必须等待其余 10 个中的一个完成。

但这并不意味着您的应用程序仅限于 10 个 session /客户端!例如,在 Web 应用程序中,用户通常会打开一个页面,看一会儿,然后点击链接等。如果您的用户花 9 秒阅读该页面并花 1 秒等待下一页,那么只有 10% 的时间花费在服务器上 - 因此您可以处理 100 个登录用户。

此外,处理请求不仅仅是关于 SQL 查询。来回发送数据、解析、呈现... - 这一切都需要时间。

基本上:您被限制为 10 个并发 SQL 查询,但这意味着可以使用您的应用程序的用户数量增加 10 倍甚至 100 倍。

关于java - Web应用的Hibernate session 连接关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10724682/

相关文章:

java - 如何使用一个对象访问所有子方法?

java - 如何在数组列表中循环添加语句

java - 使用 Eclipse 格式化程序从 'if else' block 中删除空格

sql-server - SQLServer 和 Hibernate 基于架构的 Multi-Tenancy

java - @Transactional(readOnly = false,propagation = Propagation.REQUIRED)抛出异常

java - AWS Corretto 示例应用程序源

java - 谁能告诉我为什么会发生这种情况 "org.hibernate.exception.GenericJDBCException: could not execute query"?

mysql - 如何在同一个Hibernate事务中保存两个数据库记录?

hibernate - JPA CriteriaBuilder - 如何使用 "IN"比较运算符

java - 将 OpenCv DCT 转换为 Android