Web中间件——Tomcat中的BIO、NIO、APR模式
简介
Tomcat在我们日常开发B/S项目时常常进行使用,当然在Spring全家桶中我们现在也是使用的内置tomcat,但是很多人可能不会对于tomcat进行深入性研究,其实在我们的产品进行性能提升时,web中间件的优化也是占有很大一部分,而tomcat中采用不同的模式对应的使用场景下性能也是不一样的,因此本篇文章将对于这几个模式进行简单讲解,后续我们会对于不同的模式进行配置方式讲解。
参见文章
Tomcat的BIO、NIO、APR模式对比与性能测试结果
正文
BIO 同步并阻塞
阻塞式I/O操作,这个模式使用的是Java I/O操作。该运行方式性能最低。
NIO 同步非阻塞
基于Java 缓存区提供非阻塞式I/O操作,相比BIO,该运行方式有更好的性能。当前tomcat7及以上版本默认采用该模式。
APR 异步非阻塞
以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,有效提高静态文件的处理性能。该运行方式对于高并发场景性能最高(当然高并发还有其他优化点)。
注:APR配置方式可以参见我的文章
本文声明:
知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。