电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:251日期:2023-03-19 16:51:34
目錄
  • tomcat用戶管理配置
  • tomcat優(yōu)化
    • 一、tomcat中的三種運行模式之運行模式的優(yōu)化
    • 二、tomcat執(zhí)行器(線程池)的優(yōu)化
    • 三、tomcat優(yōu)化之禁用AJP連接器實現(xiàn)動靜分離
    • 四、tomcat中JVM參數(shù)優(yōu)化

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 輸入用戶名密碼可以查看服務器的狀態(tài)

1、服務器信息

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

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

PS Old Gen:JVM的老年代。

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

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

PS Perm Gen:永久代。

tomcat優(yōu)化

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

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

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

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

(安裝方法:https://www.jb51.net/os/78408.html)

查看tomcat的啟動模式:

修改tomcat的運行模式:

將<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的運行模式

3、http信息

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

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

1、開啟線程池:打開server.xml中關于線程池的配置

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

重要參數(shù)說明:

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

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

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

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

minSpareThreads:Tomcat應該始終打開的最小不活躍線程數(shù)。默認值: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,服務器socket會設置TCP_NO_DELAY選項,在大多數(shù)情況下可以提高性能。缺省情況下設為true
compression:是否開啟壓縮GZIP on開啟 off 關閉 forde:所有情況下都壓縮
disableUploadTimeout:限定上傳時間
enableLookups:關閉DNS反向查詢,DNS反查很耗時間

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

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

web客戶1訪問tomcat服務器的 資源index.jsp 是可以直接訪問的,如果我們訪問的是靜態(tài)資源,tomcat是不方便處理的它會把這些靜態(tài)資源返回給Apache服務器,由他們返回給用戶,所以tomcat服務器相對于nginx服務器在處理靜態(tài)資源上效率較低。因此我們的網(wǎng)站服務器一般是Nginx+tomcat,nginx負責處理靜態(tài)資源,因此AJP 協(xié)議我們在使用nginx+tomcat架構時可以關閉它來進行效率的優(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ū)域的大小:

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

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

1、設置堆內(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 表示設置年輕代的大小

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:+DisableExplicitGCsetlocal

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

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

標簽: Tomcat
主站蜘蛛池模板: 新能源汽车电池软连接,铜铝复合膜柔性连接,电力母排-容发智能科技(无锡)有限公司 | 洛阳防爆合格证办理-洛阳防爆认证机构-洛阳申请国家防爆合格证-洛阳本安防爆认证代办-洛阳沪南抚防爆电气技术服务有限公司 | 高精度电阻回路测试仪-回路直流电阻测试仪-武汉特高压电力科技有限公司 | 高压互感器,电流互感器,电压互感器-上海鄂互电气科技有限公司 | 加盟店-品牌招商加盟-创业项目商机平台| 浙江寺庙设计-杭州寺院设计-宁波寺庙规划_汉匠 | 精益专家 - 设备管理软件|HSE管理系统|设备管理系统|EHS安全管理系统 | 右手官网|右手工业设计|外观设计公司|工业设计公司|产品创新设计|医疗产品结构设计|EMC产品结构设计 | 制样机-密封锤式破碎机-粉碎机-智能马弗炉-南昌科鑫制样 | 咖啡加盟-咖啡店加盟-咖啡西餐厅加盟-塞纳左岸咖啡西餐厅官网 | 苏州西朗门业-欧盟CE|莱茵UL双认证的快速卷帘门品牌厂家 | 冷水机-冰水机-冷冻机-冷风机-本森智能装备(深圳)有限公司 | 三价铬_环保铬_环保电镀_东莞共盈新材料贸易有限公司 | 地磅-电子地磅维修-电子吊秤-汽车衡-无人值守系统-公路治超-鹰牌衡器 | 众品地板网-地板品牌招商_地板装修设计_地板门户的首选网络媒体。 | 体视显微镜_荧光生物显微镜_显微镜报价-微仪光电生命科学显微镜有限公司 | 热熔胶网膜|pes热熔网膜价格|eva热熔胶膜|热熔胶膜|tpu热熔胶膜厂家-苏州惠洋胶粘制品有限公司 | Magnescale探规,Magnescale磁栅尺,Magnescale传感器,Magnescale测厚仪,Mitutoyo光栅尺,笔式位移传感器-苏州连达精密量仪有限公司 | 恒温恒湿试验箱厂家-高低温试验箱维修价格_东莞环仪仪器_东莞环仪仪器 | 茅茅虫AI论文写作助手-免费AIGC论文查重_写毕业论文降重 | 厂房出租-厂房规划-食品技术-厂房设计-厂房装修-建筑施工-设备供应-设备求购-龙爪豆食品行业平台 | 精益专家 - 设备管理软件|HSE管理系统|设备管理系统|EHS安全管理系统 | 深圳3D打印服务-3D打印加工-手板模型加工厂-悟空打印坊 | 科昊仪器超纯水机系统-可成气相液氮罐-美菱超低温冰箱-西安昊兴生物科技有限公司 | 嘉兴恒升声级计-湖南衡仪声级计-杭州爱华多功能声级计-上海邦沃仪器设备有限公司 | 安徽净化工程设计_无尘净化车间工程_合肥净化实验室_安徽创世环境科技有限公司 | 防爆正压柜厂家_防爆配电箱_防爆控制箱_防爆空调_-盛通防爆 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 动物麻醉机-数显脑立体定位仪-北京易则佳科技有限公司 | 防堵吹扫装置-防堵风压测量装置-电动操作显示器-兴洲仪器 | 江苏皓越真空设备有限公司 | 仓储笼_金属箱租赁_循环包装_铁网箱_蝴蝶笼租赁_酷龙仓储笼租赁 测试治具|过炉治具|过锡炉治具|工装夹具|测试夹具|允睿自动化设备 | 炭黑吸油计_测试仪,单颗粒子硬度仪_ASTM标准炭黑自销-上海贺纳斯仪器仪表有限公司(HITEC中国办事处) | 鼓风干燥箱_真空烘箱_高温干燥箱_恒温培养箱-上海笃特科学仪器 | 彭世修脚_修脚加盟_彭世修脚加盟_彭世足疗加盟_足疗加盟连锁_彭世修脚技术培训_彭世足疗 | 杭州网络公司_百度SEO优化-外贸网络推广_抖音小程序开发-杭州乐软科技有限公司 | 江苏齐宝进出口贸易有限公司 | 英思科GTD-3000EX(美国英思科气体检测仪MX4MX6)百科-北京嘉华众信科技有限公司 | 净化工程_无尘车间_无尘车间装修-广州科凌净化工程有限公司 | 上海宿田自动化设备有限公司-双面/平面/单面贴标机 | 哈希余氯测定仪,分光光度计,ph在线监测仪,浊度测定仪,试剂-上海京灿精密机械有限公司 |