成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

一線大廠Java面試必問的2大類Tomcat調(diào)優(yōu)

一、前言

創(chuàng)新互聯(lián)從2013年創(chuàng)立,先為鲅魚圈等服務(wù)建站,鲅魚圈等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為鲅魚圈企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

最近整理了 Tomcat 調(diào)優(yōu)這塊,基本上面試必問,于是就花了點(diǎn)時(shí)間去搜集一下 Tomcat 調(diào)優(yōu)都調(diào)了些什么,先記錄一下調(diào)優(yōu)手段,更多詳細(xì)的原理和實(shí)現(xiàn)以后用到時(shí)候再來補(bǔ)充記錄,下面就來介紹一下,Tomcat 調(diào)優(yōu)大致分為兩大類。

一線大廠Java面試必問的2大類Tomcat調(diào)優(yōu)

1、Tomcat的自身調(diào)優(yōu)

采用動(dòng)靜分離節(jié)約 Tomcat 的性能

調(diào)整 Tomcat 的線程池

調(diào)整 Tomcat 的連接器

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

禁用 AJP 連接器

2、JVM的調(diào)優(yōu)

調(diào)優(yōu)Jvm內(nèi)存

二、Tomcat 自身調(diào)優(yōu)

1、采用動(dòng)靜分離

靜態(tài)資源如果讓 Tomcat 處理的話 Tomcat 的性能會(huì)被損耗很多,所以我們一般都是采用:Nginx+Tomcat 實(shí)現(xiàn)動(dòng)靜分離,讓 Tomcat 只負(fù)責(zé) jsp 文件的解析工作,Nginx 實(shí)現(xiàn)靜態(tài)資源的訪問。

2、調(diào)優(yōu) Tomcat 線程池

打開tomcat的serve.xml,配置Executor,相關(guān)參數(shù)說明如下。

一線大廠Java面試必問的2大類Tomcat調(diào)優(yōu)

name:給執(zhí)行器(線程池)起一個(gè)名字;

namePrefix:指定線程池中的每一個(gè)線程的 name 前綴;

maxThreads:線程池中最大的線程數(shù)量,假設(shè)請(qǐng)求的數(shù)量超過了 750,這將不是意味著將 maxThreads 屬性值設(shè)置為 750,它的最好解決方案是使用「Tomcat集群」。也就是說,如果有 1000 請(qǐng)求,兩個(gè) Tomcat 實(shí)例設(shè)置 maxThreads = 500,而不在單 Tomcat 實(shí)例的情況下設(shè)置 maxThreads=1000。

minSpareThreads:線程池中允許空閑的線程數(shù)量(多余的線程都?xì)⑺溃?/p>

maxIdLeTime:一個(gè)線程空閑多久算是一個(gè)空閑線程;

其他的配置其實(shí)閱讀官方文檔是最好的「見參考鏈接」。

3、調(diào)優(yōu) Tomcat 的連接器 Connector

打開 Tomcat 的 serve.xml,配置 Connector,參數(shù)說明如下。

一線大廠Java面試必問的2大類Tomcat調(diào)優(yōu)

executor:指定這個(gè)連接器所使用的執(zhí)行器(線程池);

一線大廠Java面試必問的2大類Tomcat調(diào)優(yōu)

enableLookups=false:關(guān)閉 DNS 解析,減少性能損耗;

minProcessors:服務(wù)器啟動(dòng)時(shí)創(chuàng)建的最少線程數(shù);

maxProcessors:最大可以創(chuàng)建的線程數(shù);

acceptCount=1000:線程池中的線程都被占用,允許放到隊(duì)列中的請(qǐng)求數(shù);

maxThreads=3000:最大線程數(shù);

minSpareThreads=20:最小空閑線程數(shù),這里是一直會(huì)運(yùn)行的線程;

與壓縮有關(guān)系的配置:如果已經(jīng)對(duì)代碼進(jìn)行了動(dòng)靜分離,靜態(tài)頁面和圖片等數(shù)據(jù)就不需要 Tomcat 處理了,那么也就不需要配置在 Tomcat 中配置壓縮了;

一個(gè)完整的配置如下。

一線大廠Java面試必問的2大類Tomcat調(diào)優(yōu)

4、通過修改 Tomcat 的運(yùn)行模式

BIO

Tomcat8 以下版本,默認(rèn)使用的就是 BIO「阻塞式IO)」模式。

一線大廠Java面試必問的2大類Tomcat調(diào)優(yōu)

對(duì)于每一個(gè)請(qǐng)求都要?jiǎng)?chuàng)建一個(gè)線程來進(jìn)行處理,不適合高并發(fā)。

NIO

Tomcat8 以上版本,默認(rèn)使用的就是NIO模式「非阻塞式 IO」。

APR

全稱 Apache Portable Runtime,是Tomcat生產(chǎn)環(huán)境運(yùn)行的首選方式,如果操作系統(tǒng)未安裝 APR 或者 APR 路徑未指到 Tomcat 默認(rèn)可識(shí)別的路徑,則 APR 模式無法啟動(dòng),自動(dòng)切換啟動(dòng) NIO 模式。所以必須要安裝 APR 和 Native,直接啟動(dòng)就支持 APR,APR是從操作系統(tǒng)級(jí)別解決異步 IO 問題,APR 的本質(zhì)就是使用 JNI 技術(shù)調(diào)用操作系統(tǒng)底層的 IO 接口,所以需要提前安裝所需要的依賴

提升 Tomcat 對(duì)靜態(tài)文件的處理性能,當(dāng)然也可以采用動(dòng)靜分離。

5、禁用 AJP 連接器

AJP的全稱 Apache JServer Protocol,使用 Nginx+Tomca t的架構(gòu),所以用不著 AJP 協(xié)議,所以把AJP連接器禁用。

一線大廠Java面試必問的2大類Tomcat調(diào)優(yōu)

三、JVM 調(diào)優(yōu)

Tomcat 是運(yùn)行在 JVM 上的,所以對(duì) JVM 的調(diào)優(yōu)也是非常有必要的。
歡迎大家關(guān)注我的公種浩【程序員追風(fēng)】,文章都會(huì)在里面更新,整理的資料也會(huì)放在里面。

找到 catalina.sh;

一線大廠Java面試必問的2大類Tomcat調(diào)優(yōu)

添加;

一線大廠Java面試必問的2大類Tomcat調(diào)優(yōu)

參數(shù)設(shè)置;

JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8-server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XXermSize=512m -XX:MaxPermSize=512m -XX:+DisableExplicitGC"

調(diào)整堆大小的的目的是最小化垃圾收集的時(shí)間,以在特定的時(shí)間內(nèi)最大化處理客戶的請(qǐng)求。

最后

歡迎大家一起交流,喜歡文章記得點(diǎn)個(gè)贊喲,感謝支持!

分享文章:一線大廠Java面試必問的2大類Tomcat調(diào)優(yōu)
本文鏈接:http://jinyejixie.com/article8/psicop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、域名注冊(cè)外貿(mào)網(wǎng)站建設(shè)、用戶體驗(yàn)定制開發(fā)、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
申扎县| 崇州市| 梨树县| 靖边县| 克东县| 文昌市| 石泉县| 高清| 孝义市| 普兰店市| 龙游县| 清丰县| 婺源县| 桃源县| 虎林市| 英吉沙县| 泸西县| 剑河县| 封丘县| 盐山县| 壤塘县| 抚远县| 天柱县| 昌吉市| 东海县| 钟山县| 页游| 五河县| 宝兴县| 房产| 阳泉市| 崇阳县| 炎陵县| 三亚市| 灵川县| 象州县| 诸城市| 达州市| 汤阴县| 洛宁县| 建昌县|