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

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

tomcat優化配置小結

瀏覽:6日期:2023-09-11 20:46:57
目錄1修改Tomcat的內存配置,打開$TOMCAT_HOME/bin/catalina.sh文件2 連接數優化,主要是在conf/server.xml配置文件中進行修改。2.1、優化線程數2.2、使用線程池3 tomcat connector三種運行模式(BIO,NIO,APR)3.1、三種模式比較3.2、apr模式4 并發配置優化5 tomcat配置優化6 執行器優化(線程池)7 禁用AJP連接器8 配置優化8.1 Connector 優化8.2 線程池 8.3 Listener 9 設置Tomcat的編碼10 設置Tomcat的熱部署11 修改Tomcat命令窗口的名字1修改Tomcat的內存配置,打開$TOMCAT_HOME/bin/catalina.sh文件

內存優化:

-server參數:表示以服務模式啟動,啟動速度會稍微慢一點,但性能會高很多。不加這個參數,默認是以客戶端模式啟動。 -server:啟用jdk的server版本-XX:PermSize:設置非堆內存初始值,默認是物理內存的1/64。-XX:MaxNewSize:新生代占整個堆內存的最大值。-XX:MaxPermSize:Perm(俗稱方法區)占整個堆內存的最大值,也稱內存最大永久保留區域

1)錯誤提示:java.lang.OutOfMemoryError:Java heap space

set JAVA_OPTS=-Xms512m-Xmx512m

2)錯誤提示:java.lang.OutOfMemoryError: PermGenspace

setJAVA_OPTS=-XX:PermSize=128M2 連接數優化,主要是在conf/server.xml配置文件中進行修改。2.1、優化線程數

增加maxThreads和acceptCount屬性(使acceptCount大于等于maxThreads)

maxThreads:tomcat可用于請求處理的最大線程數,默認是200minSpareThreads:tomcat初始線程數,即最小空閑線程數maxSpareThreads:tomcat最大空閑線程數,超過的會被關acceptCount:當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理.默認100

2.2、使用線程池

在server.xml中增加executor節點,然后配置connector的executor屬性

namePrefix:線程池中線程的命名前綴maxThreads:線程池的最大線程數minSpareThreads:線程池的最小空閑線程數maxIdleTime:超過最小空閑線程數時,多的線程會等待這個時間長度,然后關閉threadPriority:線程優先級

當tomcat并發用戶量大的時候,單個jvm進程確實可能打開過多的文件句柄,這時會報java.net.SocketException:Too many open files錯誤。可使用下面步驟檢查:

ps -ef |grep tomcat 查看tomcat的進程ID,記錄ID號,假設進程ID為10001

lsof -p 10001|wc -l 查看當前進程id為10001的 文件操作數

使用命令:ulimit -a 查看每個用戶允許打開的最大文件數

3 tomcat connector三種運行模式(BIO,NIO,APR)3.1、三種模式比較

1)BIO:一個線程處理一個請求。缺點:并發量高時,線程數較多,浪費資源。Tomcat7或以下在Linux系統中默認使用這種方式

2)NIO:利用Java的異步IO處理,可以通過少量的線程處理大量的請求。Tomcat8在Linux系統中默認使用這種方式。Tomcat7必須修改Connector配置來啟動(conf/server.xml配置文件):

<Connectorport='8080'protocol='org.apache.coyote.http11.Http11NioProtocol' connectionTimeout='20000'redirectPort='8443'/>

3)APR(Apache Portable Runtime):從操作系統層面解決io阻塞問題。Linux如果安裝了apr和native,Tomcat直接啟動就支持apr。

3.2、apr模式

安裝apr以及tomcat-native

yum -y install

make && make install

安裝成功后還需要對tomcat設置環境變量,方法是在catalina.sh文件中增加1行

修改8080端對應的conf/server.xml

4 并發配置優化

Tomcat的并發請求處理數量=maxThreads + acceptCount

enableLookups:如果為true,調用request.getRemoteHost會執行DNS反查,反向解析IP對應的域名或主機,效率較低,建議設為false。

5 tomcat配置優化

6 執行器優化(線程池)

Executor重要參數說明:

name:共享線程池的名字。這是Connector為了共享線程池要引用的名字,該名字必須唯一。默認值:None;namePrefix:在JVM上,每個運行線程都可以有一個name 字符串。這一屬性為線程池中每個線程的name字符串設置了一個前綴,Tomcat將把線程號追加到這一前綴的后面。默認值:tomcat-exec-;maxThreads:該線程池可以容納的最大線程數。默認值:200;maxIdleTime:在Tomcat關閉一個空閑線程之前,允許空閑線程持續的時間(以毫秒為單位)。只有當前活躍的線程數大于minSpareThread的值,才會關閉空閑線程。默認值:60000(一分鐘)。minSpareThreads:Tomcat應該始終打開的最小不活躍線程數。默認值:25。threadPriority:線程的等級。默認是Thread.NORM_PRIORITY

Connector重要參數說明:

executor:表示使用該參數值對應的線程池;minProcessors:服務器啟動時創建的處理請求的線程數;maxProcessors:最大可以創建的處理請求的線程數;acceptCount:指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理。

7 禁用AJP連接器

我們一般是使用Nginx+tomcat的架構,所以用不著AJP協議,所以把AJP連接器禁用

8 配置優化8.1 Connector 優化<Connector port='8080' protocol='HTTP/1.1' maxThreads='1000' minSpareThreads='100' acceptCount='1000' maxConnections='1000' connectionTimeout='20000' maxHttpHeaderSize='8192' tcpNoDelay='true' compression='on' compressionMinSize='2048' disableUploadTimeout='true' redirectPort='8443'enableLookups='false' URIEncoding='UTF-8' />8.2 線程池

Executor代表了一個線程池,可以在Tomcat組件之間共享。使用線程池的好處在于減少了創建銷毀線程的相關消耗,而且可以提高線程的使用效率。

<Executor name='tomcatThreadPool' namePrefix='catalina-exec-' maxThreads='1000' minSpareThreads='100' maxIdleTime='60000' maxQueueSize='Integer.MAX_VALUE' prestartminSpareThreads='false' threadPriority='5' className='org.apache.catalina.core.StandardThreadExecutor'/>8.3 Listener

Server標簽中可以配置多個Listener,其中 JreMemoryLeakPreventionListener是用來預防JRE內存泄漏。此Listener只需在Server標簽中配置即可,默認情況下無需配置,已經添加在 Server中。

<Listener className='org.apache.catalina.core.JreMemoryLeakPreventionListener' /> 9 設置Tomcat的編碼

10 設置Tomcat的熱部署

docBase:項目所在路徑,可以使用絕對路徑或相對路徑,相對路徑是相對于webapps ;

path:訪問項目的路徑;

reloadable:是否自動加載新增或改變的class文件;

11 修改Tomcat命令窗口的名字

在運行多個tomcat窗口的時候,可以通過修改tomcat命令窗口的名字來區分不同的tomcat;

到此這篇關于tomcat優化配置小結的文章就介紹到這了,更多相關tomcat優化配置內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Tomcat
主站蜘蛛池模板: 泰国试管婴儿_泰国第三代试管婴儿_泰国试管婴儿费用/多少钱_孕泰来 | 辊道窑炉,辊道窑炉厂家-山东艾希尔| 干培两用箱-细菌恒温培养箱-菲斯福仪器| 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 电动不锈钢套筒阀-球面偏置气动钟阀-三通换向阀止回阀-永嘉鸿宇阀门有限公司 | 淋巴细胞分离液_口腔医疗器材-精欣华医疗器械(无锡)有限公司 | 岸电电源-60HZ变频电源-大功率变频电源-济南诚雅电子科技有限公司 | 空调风机,低噪声离心式通风机,不锈钢防爆风机,前倾皮带传动风机,后倾空调风机-山东捷风风机有限公司 | 合肥触摸一体机_触摸查询机厂家_合肥拼接屏-安徽迅博智能科技 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 铆钉机|旋铆机|东莞旋铆机厂家|鸿佰专业生产气压/油压/自动铆钉机 | 储能预警-储能消防系统-电池舱自动灭火装置-四川千页科技股份有限公司官网 | 挖掘机挖斗和铲斗生产厂家选择徐州崛起机械制造有限公司 | 脱硝喷枪-氨水喷枪-尿素喷枪-河北思凯淋环保科技有限公司 | PCB厂|线路板厂|深圳线路板厂|软硬结合板厂|电路板生产厂家|线路板|深圳电路板厂家|铝基板厂家|深联电路-专业生产PCB研发制造 | 油液红外光谱仪-油液监测系统-燃油嗅探仪-上海冉超光电科技有限公司 | 咖啡加盟,咖啡店加盟连锁品牌-卡小逗| 盐城网络公司_盐城网站优化_盐城网站建设_盐城市启晨网络科技有限公司 | 九爱图纸|机械CAD图纸下载交流中心 | 罐体电伴热工程-消防管道电伴热带厂家-山东沃安电气 | 并网柜,汇流箱,电控设备,中高低压开关柜,电气电力成套设备,PLC控制设备订制厂家,江苏昌伟业新能源科技有限公司 | 室内室外厚型|超薄型|非膨胀型钢结构防火涂料_隧道专用防火涂料厂家|电话|价格|批发|施工 | 德国BOSCH电磁阀-德国HERION电磁阀-JOUCOMATIC电磁阀|乾拓百科 | 混合生育酚_醋酸生育酚粉_琥珀酸生育酚-山东新元素生物科技 | 磁力反应釜,高压釜,实验室反应釜,高温高压反应釜-威海自控反应釜有限公司 | 厂房出租_厂房出售_产业园区招商_工业地产&nbsp;-&nbsp;中工招商网 | 断桥铝破碎机_铝合金破碎机_废铁金属破碎机-河南鑫世昌机械制造有限公司 | 祝融环境-地源热泵多恒系统高新技术企业,舒适生活环境缔造者! | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-北京罗伦过滤技术集团有限公司 | 电机铸铝配件_汽车压铸铝合金件_发动机压铸件_青岛颖圣赫机械有限公司 | 单锥双螺旋混合机_双螺旋锥形混合机-无锡新洋设备科技有限公司 | 仿清水混凝土_清水混凝土装修_施工_修饰_保护剂_修补_清水混凝土修复-德州忠岭建筑装饰工程 | 传递窗_超净|洁净工作台_高效过滤器-传递窗厂家广州梓净公司 | Honsberg流量计-Greisinger真空表-气压计-上海欧臻机电设备有限公司 | 电线电缆厂家|沈阳电缆厂|电线厂|沈阳英联塑力线缆有限公司 | 天津仓储物流-天津电商云仓-天津云仓一件代发-博程云仓官网 | 粒米特测控技术(上海)有限公司-测功机_减速机测试台_电机测试台 | 伺服电机维修、驱动器维修「安川|三菱|松下」伺服维修公司-深圳华创益 | 深圳3D打印服务-3D打印加工-手板模型加工厂-悟空打印坊 | C形臂_动态平板DR_动态平板胃肠机生产厂家制造商-普爱医疗 | 合肥通道闸-安徽车牌识别-人脸识别系统厂家-安徽熵控智能技术有限公司 |