1. 程式人生 > >tomcat(2)執行模式

tomcat(2)執行模式

1、概述

tomcat支援3種執行模式,分別為bio、nio、apr,三者效率bio < nio < apr。其中tomcat7預設使用bio。

2、介紹

2.1、bio

預設的模式,效能非常低下,沒有經過任何優化處理和支援. 一個執行緒處理一個請求。缺點:併發量高時,執行緒數較多,浪費資源。
Tomcat7或以下,在Linux系統中預設使用這種方式。
這裡寫圖片描述

2.2、nio

nio(new I/O),是Java SE 1.4及後續版本提供的一種新的I/O操作方式(即java.nio包及其子包)。Java nio是一個基於緩衝區、並能提供非阻塞I/O操作的Java API,因此nio也被看成是non-blocking I/O的縮寫。它擁有比傳統I/O操作(bio)更好的併發執行效能。
利用Java的非同步IO處理,可以通過少量的執行緒處理大量的請求。
Tomcat8在Linux系統中預設使用這種方式。

2.3、apr

安裝起來最困難,但是從作業系統級別來解決非同步的IO問題,大幅度的提高效能.
即Apache Portable Runtime,從作業系統層面解決io阻塞問題。
Linux如果安裝了apr和native,Tomcat直接啟動就支援apr。

3、啟動NIO模式

修改conf/server.xml,修改

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

中的protocol值,改為org.apache.coyote.http11.Http11NioProtocol

    <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
               connectionTimeout="20000"
               redirectPort="8443" />

啟動tomcat後控制檯輸出如圖內容:
這裡寫圖片描述

4、啟動apr模式

4.1、安裝apr依賴

yum install -y openssl-devel apr-devel

4.2、安裝apr

進入tomcat安裝目錄下,解壓tomcat-native.tar.gz:

cd apache-tomcat-7.0.77/bin
tar -zxvf tomcat-native.tar.gz
cd tomcat-native-1.2.12-src/native/

編譯安裝:

./configure
make && make install

動態庫預設安裝在/usr/local/apr/lib目錄

4.3、配置apr路徑

編輯tomcat路徑下bin/catalina.sh檔案,最上方新增如下內容:

JAVA_OPTS="$JAVA_OPTS -Djava.library.path=/usr/local/apr/lib"

4.4、修改配置檔案

修改conf/server.xml,修改

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

中的protocol值,改為org.apache.coyote.http11.Http11AprProtocol

    <Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocoll"
               connectionTimeout="20000"
               redirectPort="8443" />

啟動tomcat後控制檯輸出如圖內容:
這裡寫圖片描述

相關推薦

tomcat(2)執行模式

1、概述 tomcat支援3種執行模式,分別為bio、nio、apr,三者效率bio < nio < apr。其中tomcat7預設使用bio。 2、介紹 2.1、bio 預設的模式,效能非常低下,沒有經過任何優化處理和支援. 一個執

開啟Tomcat APR執行模式,優化併發效能

Tomcat支援三種接收請求的處理方式:BIO、NIO、APR 1>、BIO模式:阻塞式I/O操作,表示Tomcat使用的是傳統Java I/O操作(即java.io包及其子包)。Tomcat7以下版本預設情況下是以bio模式執行的,由於每個請求都要

優化Tomcat執行模式、JVM、執行緒數),提高執行效率

一、說明目錄:1、修改Tomcat的Connector執行模式2、配置JVM虛擬記憶體3、禁止DNS查詢4、調整執行緒數二、實現1、修改Tomcat模式Tomcat之bio、nio、apr模式簡述及配置

【Nutch基礎教程之七】Nutch的2執行模式:local及deploy

mapred nap ont nal servlet miss mos ant issue 在對nutch源碼執行ant runtime後,會創建一個runtime的文件夾。在runtime文件夾下有deploy和local 2個文件夾。 [[email 

linux 安裝hadoop 的四大執行模式——HA高可用分佈模式(版本2.9.1)

hadoop的HA高可用配置:hadoop的名稱節點部署在不同的伺服器上(簡單理解),具體定義請自行查詢 備註:簡述過程如果前面步驟按步驟進行,後續的步驟就不做詳細解釋 準備:建立h105作為高可用的名稱節點(namenode),一般會再建議一個數據節點(及配置4個數據節點,兩個名稱節點),

linux 安裝hadoop 的四大執行模式——完全分佈模式(版本2.9.1)

hadoop完全分散式模式:hadoop的守護執行緒在不同的伺服器上(具體定義請自行查詢) 本機部署:實在前一篇文章偽分散式部署下進行操作的: 偽分佈部署連結:https://blog.csdn.net/weixin_39435629/article/details/84841252 前

linux 安裝hadoop 的四大執行模式——偽分佈模式(版本2.9.1)

hadoop偽分佈模式:hadoop的守護程序在同一臺伺服器上(具體定義請自行查詢) 前提:請在閱讀《linux 安裝hadoop 的四大執行模式——本地模式》的基礎上進行閱讀 1、將本地模式的配置檔案複製出來 建立軟連線 ,便於後續方便使用 執行命令:$>cp -r &

linux 安裝hadoop 的四大執行模式——本地模式(版本2.9.1)

四大模式包括: 1、本地模式(獨立模式):(無需任何守護程序,直接執行在JVM上,儲存檔案相當於伺服器本地檔案) 2、偽分佈模式(各個程序執行在hadoop的守護程序中,但並不是真正的分散式,因為都在一臺機器上) 3、完全分散式(各個程序執行在多個伺服器上) 4、HA高可用配置(兩個

Tomcat Connector的三種執行模式【bio、nio、apr】

Tomcat Connector(Tomcat聯結器)有bio、nio、apr三種執行模式 bio bio(blocking I/O,阻塞式I/O操作),表示Tomcat使用的是傳統的Java I/O操作(即java.io包及其子包)。 預設的模式,效能最

Tomcat Connector三種執行模式(BIO, NIO, APR)的比較和優化

                  Java Blocking Connector   Java Nio Blocking Connector   APR/native Connector                              BIO                         NIO

Tomcat 開啟APR執行模式

啟動tomcat8以下問題: org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library wh

Tomcat開啟APR執行模式,優化併發效能

Tomcat支援三種接收請求的處理方式:BIO、NIO、APR  1>、BIO模式:阻塞式I/O操作,表示Tomcat使用的是傳統Java I/O操作(即java.io包及其子包)。Tomcat7以下版本預設情況下是以bio模式執行的,由於每個請求都要建立一個執

tomcat的三種執行模式

Tomcat Connector的三種不同的執行模式效能相差很大,有人測試過的結果如下: 這三種模式的不同之處如下: BIO: 一個執行緒處理一個請求。缺點:併發量高時,執行緒數較多,浪費資源。 Tomcat7或以下,在Linux系統中預設使用這種方式。

Tomcat三種執行模式bio & nio & apr

Tomcat Connector(Tomcat聯結器)有bio、nio、apr三種執行模式 bio bio(blocking I/O,阻塞式I/O操作),表示Tomcat使用的是傳統的Java I/O操作(即java.io包及其子包)。 預設的模式,效能最

Tomcat 的三種(bio,nio.apr) 高階 Connector 執行模式

 tomcat 的Connector 有三種模式:bio,nio.apr;下面來說一下他們各自的特性: Java BIO、NIO、AIO 同步 : 自己親自出馬持銀行卡到銀行取錢(使用同步IO時,Java自己處理IO讀寫)。 非同步 : 委託一小弟拿銀行卡到銀行取

Tomcat內部結構、工作原理、工作模式執行模式

##Tomcat的內部結構 Tomcat是一個基於元件的伺服器,它的構成元件都是可配置的,其中最外層的是Catalina servlet容器,其他元件按照一定的格式要求配置在這個頂層容器中。Tomcat的各種元件都是在Tomcat安裝目錄下的/conf/ser

Hadoop 2.x環境搭建之單機執行模式配置

Hadoop的單機執行模式配置 目錄 1、linux 中的配置 a)  Linux中修改主機名 b)  更改主機對映 (

【C#多執行緒】2.執行緒池簡述+兩種傳統的非同步模式

執行緒池簡述+兩種傳統的非同步程式設計模式 1.執行緒池簡述   首先我們要明確一點,程式設計中講的執行緒與平時我們形容CPU幾核幾線程中的執行緒是不一樣的,CPU執行緒是指邏輯處理器,比如4核8執行緒,講的是這個cpu有8個邏輯處理器,可以同時處理8個執行緒。我們程式設計中講的執行緒在計算機中可以有許多許多

java大資料最全課程學習筆記(2)--Hadoop完全分散式執行模式

> 目前[CSDN](https://blog.csdn.net/weixin_42208775),[部落格園](https://home.cnblogs.com/u/gitBook/),[簡書](https://www.jianshu.com/u/da41700fde04)同步發表中,更多精彩歡迎訪問

從聯結器元件看Tomcat執行緒模型——BIO模式

在高版本的Tomcat中,預設的模式都是使用NIO模式,在Tomcat 9中,BIO模式的實現Http11Protocol甚至都已經被刪除了。但是瞭解BIO的工作機制以及其優缺點對學習其他模式有有幫助。只有對比後,你才能知道其他模式的優勢在哪裡。 Http11Protocol表示阻塞式的HTTP協議的通訊,