文档章节

Tomcat:关于内部IO模型

wiitht
 wiitht
发布于 2017/07/13 10:34
字数 356
阅读 13
收藏 0

    我们一直希望在IO这一块能够以高性能的形式出现,所以迫切希望tomcat能够默认为NIO模式(实际默认为BIO);用NIO方式处理并发性能好的前提是每个请求耗时不能高,但是这样对现有的request response处理要有额外处理。如果不能达到这个要求,用 NIO反而会是整体性能下降(因为在整体的IO请求中如果很多响应都过慢整体上来说性能还是低的)。

   一般的请求处理流程: 请求进来,查数据库,执行业务逻辑,渲染,然后返回;整体耗时很长。当然Tomcat是基于大部分情况这样考虑的,如果你的场景特殊tomcat还是提供了其他的IO模式:

  1. BIO:默认的模式,性能非常低下,没有经过任何优化处理和支持.

  2.NIO:利用Java的异步io护理技术,no blocking IO技术.

  3.APR:安装起来最困难,但是从操作系统级别来解决异步的IO问题,大幅度的提高性能.

  必须要安装apr和native,直接启动就支持apr。

  另外Tomcat本身受到servlet 3.0的限制并不能提供像netty一样的异步非阻塞IO模式;先来理解一下基于

Reactor模式的NIO机制:

 

© 著作权归作者所有

共有 人打赏支持
wiitht
粉丝 2
博文 158
码字总数 113789
作品 0
深圳
架构师
20140420技术交流活动总结

本次活动是我和葛莲莲女神一起搭档演讲,整个活动现场气氛都很不错,大家都能积极地参与讨论。 这次我的话题是Tomcat原理与实战,主要就是两个方面: 一,Tomcat的原理 这只老猫可以说是在jav...

和风赛跑
2014/04/23
0
8
【NIO系列】——之Netty

这是NIO系列的第四篇,欢迎继续关注: 【NIO系列】——之TCP探秘 【NIO系列】——之IO模型 【NIO系列】——之Reactor模型 如果你看过前面三篇文章,我们从最低层来分解NIO底层原理和使用方式,...

wier
07/31
0
0
深度解读Tomcat中的NIO模型

一、I/O复用模型解读 Tomcat的NIO是基于I/O复用来实现的。对这点一定要清楚,不然我们的讨论就不在一个逻辑线上。下面这张图学习过I/O模型知识的一般都见过,出自《UNIX网络编程》,I/O模型一...

新栋BOOK
2017/11/06
0
13
深度解读Tomcat中的NIO模型

一、I/O复用模型解读 Tomcat的NIO是基于I/O复用来实现的。对这点一定要清楚,不然我们的讨论就不在一个逻辑线上。下面这张图学习过I/O模型知识的一般都见过,出自《UNIX网络编程》,I/O模型一...

新栋BOOK
2017/11/05
0
0
Linux IO模型与Java NIO

概述 看Java NIO一篇文章的时候又看到了“异步非阻塞”这个概念,一直处于似懂非懂的状态,想解释下到底什么是异步 什么是非阻塞,感觉抓不住重点。决定仔细研究一下。 本文试图研究以下问题...

yingtju
06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

咕泡-Factory设计模式笔记

简单工厂模式(Factory) 做静态工厂方法(StaticFactory Method)模式,但不属于23 种设计模式之一 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类 Spring...

职业搬砖20年
14分钟前
0
0
Java中的锁分类

在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏...

Funcy1122
22分钟前
0
0
Ansible随机数

想为你的Ansible剧本取一个随机数?还想在接下来的运行中保持系统的等幂性?这里有一个答案。 假如,你要为一大批服务器设置cron任务,却不想让它们同时启动,你可以这样设置分钟数: minute...

大别阿郎
31分钟前
0
0
SpringCloud之服务注册中心Eureka

本系列介绍的配置均基于 Spring Boot 2.0.1.RELEASE 版本和 Spring Cloud Finchley.SR1 服务注册中心 Spring Cloud 已经帮我们实现了服务注册中心,我们只需要很简单的几个步骤就可以完成。 ...

熊小飞呀
58分钟前
7
1
“Comparison method violates ...”异常的再现方法

前提条件:JDK8 代码: import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class Test { public stat......

hunterli
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部