开发者社区> 问答> 正文

处理一个web请求涉及很多数据库查询,那么将Tomcat配置成NIO线程模型会不会反而降低并发能力?

数据库查询会阻塞当前NIO线程,那么这个NIO线程在此期间就无法处理其它请求,造成了CPU浪费。这样的话是不是还不如BIO模型并发能力好?

展开
收起
小旋风柴进 2016-03-04 11:36:35 2851 0
1 条回答
写回答
取消 提交回答
  • 数据库的查询阻塞和 Tomcat 的 NIO/BIO 配置没有关系。可以认为大量数据库查询阻塞的是当前请求的业务处理线程,造成的问题是服务器对于请求的事务处理时间长、响应慢。但应用服务器接收其他请求并处理的能力还是在的,这个时候其他线程在服务器总资源(包括数据库资源)满足情况下不会受题主假设的该阻塞线程影响。

    当然,如果并发高,类似的请求造成堆积的话会对系统造成很大影响。不过,就此题而言,这些和题主考虑的 NIO、BIO 关系不大。我认为,此题中 BIO 并不会比 NIO 表现出色。

    2019-07-17 18:52:02
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
React Native 全量化实践—web 技术打造移动研发新模式 立即下载
Web服务架构变迁与性能优化 立即下载
多IO线程优化版 立即下载