最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Tomcat用戶管理的優(yōu)化配置詳解

 更新時間:2022年03月31日 16:18:52   作者:張英愛  
這篇文章主要為大家介紹了Tomcat用戶管理的優(yōu)化配置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪

tomcat用戶管理配置

在tomcat-users.xml中添加用戶:

<role rolename="manager"/>
  <role rolename="manager-gui"/>
  <role rolename="admin"/>
  <role rolename="admin-gui"/>
  <user username="tomcat" password="tomcat" roles="admin-gui,admin,manager-gui,manager"/>

點擊server status 輸入用戶名密碼可以查看服務(wù)器的狀態(tài)

1、服務(wù)器信息

2、JVM的信息 (默認(rèn)的這些值都很低,我們可以配置)

PS Eden Space:JVM的年輕代。  一個對象new 出來后會在Eden Space,直到GC到來,GC會逐一問清楚每個對象是否存在引用,進(jìn)入Survivor Space(幸存區(qū)),沒有引用將被kill。

PS Old Gen:JVM的老年代。

PS Survivor Space:幸存區(qū)。幸存者區(qū)的對象可以活段時間,GC會定期(可以自定義)會對這些對象進(jìn)行訪問,如果該對象的引用不存在了將被kill,如果每次訪問該對象都存在引用,將被轉(zhuǎn)移到老年代。(用于保存在eden space內(nèi)存池中經(jīng)過垃圾回收后沒有被回收的對象。)

Code Cache:代碼緩存區(qū)。HotSpot Java虛擬機(jī)包括一個用于編譯和保存本地代碼(native code)的內(nèi)存。

PS Perm Gen:永久代。

tomcat優(yōu)化

一、tomcat中的三種運(yùn)行模式之運(yùn)行模式的優(yōu)化

1、BIO(阻塞式):tomcat的默認(rèn)模式,該模式性能較低,沒有經(jīng)過任何優(yōu)化處理和支持,一個線程處理一個請求。缺點:并發(fā)量過大時,線程數(shù)較多,浪費(fèi)資源。tomcat7及以下版本,在linux系統(tǒng)中默認(rèn)使用該模式。

2、NIO-Non-blocking IO(非阻塞IO):Java NIO可以讓你非阻塞的使用IO,例如:當(dāng)線程從通道讀取數(shù)據(jù)到緩沖區(qū)時,線程還是可以進(jìn)行其他事情。當(dāng)數(shù)據(jù)被寫入到緩沖區(qū)時,線程可以繼續(xù)處理它。從緩沖區(qū)寫入通道也類似。Tomcat8在Linux系統(tǒng)中默認(rèn)使用這種方式。

3、APR:Apache Portable Runtime,從操作系統(tǒng)層面解決io阻塞問題。Tomcat7或Tomcat8在Win7或以上的系統(tǒng)中啟動默認(rèn)使用這種方式。Linux如果安裝了apr和native,Tomcat直接啟動就支持apr。

   (安裝方法:http://m.fzitv.net/os/78408.html)

 查看tomcat的啟動模式:

 修改tomcat的運(yùn)行模式:

將<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"  redirectPort="8443" /> protocol="HTTP/1.1" 修改為NIO模式

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

修改后:

ps:這就是tomcat優(yōu)化第一步,優(yōu)化tomcat的運(yùn)行模式

3、http信息

二、tomcat執(zhí)行器(線程池)的優(yōu)化

tomcat默認(rèn)是沒有啟用線程池的,在tomcat中每一個用戶請求都是一個線程,所以我們可以使用線程池來提高性能。tomcat的前段有一個調(diào)度線程,會將用戶的請求放入線程池中,一定時間后線程池中的用戶請求任務(wù)就變?yōu)楣ぷ骶€程。

1、開啟線程池:打開server.xml中關(guān)于線程池的配置

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
        maxThreads="600" minSpareThreads="10"/>

重要參數(shù)說明:

name:共享線程池的名字。這是Connector為了共享線程池要引用的名字,該名字必須唯一。默認(rèn)值:None;

namePrefix:在JVM上,每個運(yùn)行線程都可以有一個name 字符串。這一屬性為線程池中每個線程的name字符串設(shè)置了一個前綴,Tomcat將把線程號追加到這一前綴的后面。默認(rèn)值:tomcat-exec-;

maxThreads:該線程池可以容納的最大線程數(shù)。默認(rèn)值:200;

maxIdleTime:在tomcat關(guān)閉一個空閑線程之前,允許空閑線程持續(xù)的時間(以毫秒為單位)。只有當(dāng)前活躍的線程數(shù)大于minSpareThread的值,才會關(guān)閉空閑線程。默認(rèn)值:60000(一分鐘)。

minSpareThreads:Tomcat應(yīng)該始終打開的最小不活躍線程數(shù)。默認(rèn)值:25。

2、引用線程池

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

 PS:Connector 的一份最優(yōu)配:一般情況下我們不使用Executor開啟線程池,我們在Connector上直接配置

<Connector 
               port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="1000" 
               minSpareThreads="100"
               acceptCount="1000"
               maxConnections="1000"
               connectionTimeout="20000"
               maxHttpHeaderSize="8192"
               tcpNoDelay="true"
               compression="on"
               disableUploadTimeout="true"  
               redirectPort="8443" 
               enableLookups="false"
               URIEncoding="UTF-8"
               />

maxThreads:最大線程數(shù)
minSpareThreads:最小線程數(shù)
acceptCount:接受最大隊列長度
maxConnections:最大連接數(shù)
connectionTimeout:超時等待時間 毫秒
maxHttpHeaderSize:請求頭最大值
tcpNoDelay:如果為true,服務(wù)器socket會設(shè)置TCP_NO_DELAY選項,在大多數(shù)情況下可以提高性能。缺省情況下設(shè)為true
compression:是否開啟壓縮GZIP on開啟 off 關(guān)閉 forde:所有情況下都壓縮
disableUploadTimeout:限定上傳時間
enableLookups:關(guān)閉DNS反向查詢,DNS反查很耗時間

三、tomcat優(yōu)化之禁用AJP連接器實現(xiàn)動靜分離

AJP:協(xié)議是一個面向包的。web服務(wù)器和servlet容器通過TCP鏈接進(jìn)行交互,為了節(jié)省SOCKET創(chuàng)建的昂貴代價,WEB服務(wù)器會嘗試維護(hù)一個永久TCP鏈接到Servlet容器,并在多個請求和響應(yīng)周期過程會重用鏈接。

web客戶1訪問tomcat服務(wù)器的 資源index.jsp 是可以直接訪問的,如果我們訪問的是靜態(tài)資源,tomcat是不方便處理的它會把這些靜態(tài)資源返回給Apache服務(wù)器,由他們返回給用戶,所以tomcat服務(wù)器相對于nginx服務(wù)器在處理靜態(tài)資源上效率較低。因此我們的網(wǎng)站服務(wù)器一般是Nginx+tomcat,nginx負(fù)責(zé)處理靜態(tài)資源,因此AJP 協(xié)議我們在使用nginx+tomcat架構(gòu)時可以關(guān)閉它來進(jìn)行效率的優(yōu)化。

 注釋tomcat中server.xml中<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 即可。

四、tomcat中JVM參數(shù)優(yōu)化

對jvm參數(shù)的優(yōu)化我們主要是對堆內(nèi)存的優(yōu)化,堆內(nèi)存分為三大塊年輕代、老年代、永久代。

如何分配這三個區(qū)域的大?。?/p>

如果我們的需求需要經(jīng)常創(chuàng)建對象,且使用完畢后馬上會被回收,這樣的場景我們可以給年輕代分配較大空間。例如:對外提供一個查詢接口,返回json數(shù)據(jù),這個接口被頻繁的調(diào)用,我們可以將這個服務(wù)的年輕代空間調(diào)大。

靜態(tài)變量較多時可以將老年代空間設(shè)置大一些。

1、設(shè)置堆內(nèi)存大小

-Xms:JVM啟動初始化內(nèi)存

-Xmx:JVM的最大堆內(nèi)存,在JVM啟動以后會分配-Xmx參數(shù)指定的內(nèi)存空間作為堆內(nèi)存,但是不一定會全部使用,JVM會根據(jù)-Xmx參數(shù)來調(diào)整真正用于JVM的內(nèi)存。

-Xmx 、-Xms之間的差值就是三個Virtual空間的大小。

2、年輕代

-xx:NewRatio=8 表示老年代與年輕代的比值是8:1

-XX:SurvivorRatio=32 表示eden與survivor的比值是32:1

-Xmn 表示設(shè)置年輕代的大小

3、永久代

-XX:PermSize=16m -XX:MaxPermSize=64M

4、Thread Stack(線程區(qū))

-XX:Xss=128k 

修改tomcat  bin目錄下catalina.bat 或者catalina.sh文件,修改內(nèi)容如下

windows下 catalina.bat

rem ---------------------------------------------------------------------------
set JAVA_OPTS=-Dfile.encoding=UTF-8 -server -Xms1024m -Xmx2048m -XX:NewSize=512m -XX:MaxNewSize=1024m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxTenuringThreshold=10 -XX:NewRatio=2 -XX:+DisableExplicitGC
setlocal

Linux下catalina.sh

# -----------------------------------------------------------------------------
JAVA_OPTS="-Dfile.encoding=UTF-8 -server -Xms1024m -Xmx2048m -XX:NewSize=512m -XX:MaxNewSize=1024m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxTenuringThreshold=10 -XX:NewRatio=2 -XX:+DisableExplicitGC"
# OS specific support.  $var _must_ be set to either true or false.

參數(shù)說明:

#-Dfile.encoding:默認(rèn)文件編碼
#-Xms512m  設(shè)置JVM的最小內(nèi)存為512m,此值可以設(shè)置與-Xmx相同以此避免每次垃圾回收完成后JVM重新分配內(nèi)存。 
#-Xmx1024  設(shè)置JVM的最大可用內(nèi)存
#-XX:NewSize  設(shè)置年輕代大小
#-XX:MaxNewSize 設(shè)置年輕代最大內(nèi)存大小
#-XX:PermSize  設(shè)置永久代大小
#-XX:MaxPermSize 設(shè)置永久代最大內(nèi)存
#-XX:NewRatio=2 設(shè)置年輕代與老年代的比值 2 :表示年輕代與老年代的比值是1:2
#-XX:MaxTenuringThreshold  這種垃圾的最大年齡,默認(rèn)是15 。 0:表示年輕代不經(jīng)過Survivor區(qū)直接進(jìn)入老年代,對于老年代較多的應(yīng)用,設(shè)置為0可以提高效率。如果該值較大表示年輕代的對象會在Survivor區(qū)進(jìn)行多次復(fù)制,以此增加對象在年輕代的存活時間,增加在年輕代被回收的概率。
#XX:+DisableExplicitGC 應(yīng)用程序?qū)⒑雎允盏秸{(diào)用GC的代碼。及System.GC()是一個空調(diào)用。

以上就是Tomcat用戶管理的優(yōu)化配置詳解的詳細(xì)內(nèi)容,更多關(guān)于Tomcat用戶管理優(yōu)化配置的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:

相關(guān)文章

  • 學(xué)習(xí)javaweb如何配置Tomcat的熱啟動

    學(xué)習(xí)javaweb如何配置Tomcat的熱啟動

    學(xué)習(xí)javaweb的時候每次更改項目都需要重新部署項目,如此一來比較麻煩,使用tomcat的熱啟動就可以解決這個問題
    2014-09-09
  • Java開啟/關(guān)閉tomcat服務(wù)器的方法

    Java開啟/關(guān)閉tomcat服務(wù)器的方法

    這篇文章主要介紹了Java開啟/關(guān)閉tomcat服務(wù)器的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-06-06
  • Tomcat安裝使用及部署Web項目的3種方法匯總

    Tomcat安裝使用及部署Web項目的3種方法匯總

    web應(yīng)用部署相當(dāng)于把web應(yīng)用交給服務(wù)器管理,供外界訪問,下面這篇文章主要給大家介紹了關(guān)于Tomcat安裝使用及部署Web項目的3種方法,需要的朋友可以參考下
    2022-08-08
  • 一文搞懂如何部署啟動多個tomcat并移植項目

    一文搞懂如何部署啟動多個tomcat并移植項目

    本文給大家介紹部署啟動多個tomcat并移植項目的操作方法,本文給大家介紹的非常詳細(xì),包括修改配置文件的方法也給大家列舉出來了,具體內(nèi)容詳情跟隨小編一起看看吧
    2021-06-06
  • tomcat部署簡單的html靜態(tài)網(wǎng)頁的方法

    tomcat部署簡單的html靜態(tài)網(wǎng)頁的方法

    這篇文章主要介紹了tomcat部署簡單的html靜態(tài)網(wǎng)頁的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Tomcat假死的原因分析及解決方案

    Tomcat假死的原因分析及解決方案

    這篇文章主要介紹了Tomcat假死的原因分析及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Eclipse啟動Tomcat后無法訪問項目解決辦法

    Eclipse啟動Tomcat后無法訪問項目解決辦法

    這篇文章主要介紹了Eclipse啟動Tomcat后無法訪問項目解決辦法的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Tomcat 5.5 數(shù)據(jù)庫連接池配置

    Tomcat 5.5 數(shù)據(jù)庫連接池配置

    我用的數(shù)據(jù)庫是MySQL5.5,所以首先要把MySQL的JDBC驅(qū)動程序拷貝到Tomcat安裝目錄的/common/lib下和你自己網(wǎng)站的/WEB-INF/lib下。
    2009-08-08
  • idea專業(yè)版和idea社區(qū)版整合Tomcat并將war包部署

    idea專業(yè)版和idea社區(qū)版整合Tomcat并將war包部署

    IDEA是一個功能完善的Java開發(fā)工具,除了具備有良好的代碼開發(fā)提示之外,還可以直接在IDEA中集成并啟動Tomcat實現(xiàn)程序的自動部署,本文主要介紹了idea專業(yè)版和idea社區(qū)版整合Tomcat并將war包部署,感興趣的可以了解一下
    2023-11-11
  • Maven3.8.1使用Tomcat8插件啟動項目的方法(親測有效)

    Maven3.8.1使用Tomcat8插件啟動項目的方法(親測有效)

    在本地maven的settings.xml文件中添加阿里云鏡像,然后在pom.xml文件中添加tomcat8插件的配置,重新下載依賴,運(yùn)行tomcat8:run命令,成功啟動項目,本文介紹Maven3.8.1使用Tomcat8插件啟動項目的方法,感興趣的朋友一起看看吧
    2024-11-11

最新評論

阿坝县| 瑞丽市| 呼伦贝尔市| 巴林左旗| 图片| 突泉县| 安图县| 自贡市| 塘沽区| 嘉兴市| 古田县| 怀集县| 德庆县| 筠连县| 昭平县| 利辛县| 乌拉特中旗| 平顶山市| 福鼎市| 温州市| 大化| 八宿县| 随州市| 金坛市| 阿鲁科尔沁旗| 仙游县| 辽源市| 宝坻区| 长泰县| 瑞丽市| 深泽县| 福建省| 盐源县| 南和县| 堆龙德庆县| 洪江市| 珲春市| 东安县| 平凉市| 武义县| 桃江县|