tomcat的三种工作模式
tomcat默认有三种工作模式,分别为
(1)bio(blocking I/O)
即阻塞式I/O操作,表示Tomcat使用的是传统的Java I/O操作(即java.io包及其子包)。一个线程处理一个请求,缺点:并发量高时,线程数较多,浪费资源。
使用方式:现在通常不使用
(2)nio(new I/O)
Java nio是一个基于缓冲区、并能提供非阻塞I/O操作的Java API,因此nio也被看成是non-blocking I/O的缩写。它拥有比传统I/O操作(bio)更好的并发运行性能。利用 Java 的异步请求 IO 处理,可以通过少量的线程处理大量的请求。
使用方式:tomcat默认模式
(3)apr(Apache Portable Runtime/Apache可移植运行时)
Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,从而大大地提高Tomcat对静态文件的处理性能。Tomcat apr也是在Tomcat上运行高并发应用的首选模式。
使用方式:在server.xml中更改使用的协议,更加详细的说明可以之间看tomcat的文档。
<Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="org.apache.coyote.ajp.AjpAprProtocol" redirectPort="8443"/>
ps:
1.apr模式需要nativie组件支持,如果本机native组件版本过低,tomcat在启动时会报异常,解决方法时根据异常提示信息下载对应版本的native插件。
安装方法:
(1)下载native插件,插件地址http://archive.apache.org/dist/tomcat/tomcat-connectors/native/
(2)在下载的文件中根据电脑情况,找到32位或64位版本的tcnative-1.dll文件,将该文件复制到%java_home%/bin目录下。
server.xml
server.xml
2.http连接器和apr连接器的用途
- HTTP Connector:http拥有这个连接器,Tomcat才能成为一个web服务器,但还额外可处理Servlet和jsp。
- AJP Connector:AJP连接器可以通过AJP协议和另一个web容器进行交互。
此处并未做详细研究,具体参考以下文章
https://blog.csdn.net/jeikerxiao/article/details/82745516#HTTP_Connector_4
上一篇: Vue2.0 --- vue-cli脚手架中全局引入JQ
下一篇: LVS之三种工作模式