久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

提升Tomcat性能的方法是什么

189次閱讀
沒有評論

共計 1918 個字符,預計需要花費 5 分鐘才能閱讀完成。

這篇“提升 Tomcat 性能的方法是什么”文章的知識點大部分人都不太理解,所以丸趣 TV 小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“提升 Tomcat 性能的方法是什么”文章吧。

Tomcat 的默認配置,性能并不是最優的,我們可以通過優化 tomcat 以此來提高網站的并發能力。提高 Tomcat 的性能可以分為兩個方向。

服務器資源

服務器所能提供 CPU、內存、硬盤的性能對處理能力有決定性影響,所以說服務器性能牛 B,Tomcat 也不會太差。當然提高服務器的硬件配置,是需要大量 RMB 的支持的。所以不到萬不得已不會采用這種方式,一般公司會采取下面這種通過優化配置,來提升 Tomcat 性能的方式。

優化配置

優化配置之前,我們需要配置一個 tomcat 管理員賬戶,來登錄查看 Tomcat 控制臺提高的各種參數。

在 conf/ 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 /

啟動 tomcat,登錄查看信息:http://127.0.0.1:8080/

tomcat 的 3 種運行模式

tomcat 的運行模式有 3 種:

bio:

默認的模式, 性能非常低下, 沒有經過任何優化處理和支持.

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) 更好的并發運行性能。

apr:

安裝起來最困難, 但是從操作系統級別來解決異步的 IO 問題, 大幅度的提高性能.

啟動 NIO 模式

修改 server.xml 里的 Connector 節點, 修改 protocol 為 org.apache.coyote.http11.Http11NioProtocol

執行器優化(線程池)

在 tomcat 中每一個用戶請求都是一個線程,所以可以使用線程池提高性能。

開啟并且使用

配置:

在 Connector 中指定使用共享線程池

查看 Tomcat 控制臺

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:指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理。

參數最佳實踐

禁用 AJP 連接器

AJP(Apache JServer Protocol)

AJPv13 協議是面向包的。WEB 服務器和 Servlet 容器通過 TCP 連接來交互; 為了節省 SOCKET 創建的昂貴代價,WEB 服務器會嘗試維護一個永久 TCP 連接到 servlet 容器,并且在多個請求和響應周期過程會重用連接。

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

提升 Tomcat 性能的方法是什么

在管理界面中看不到 ajp 了:

提升 Tomcat 性能的方法是什么

以上就是關于“提升 Tomcat 性能的方法是什么”這篇文章的內容,相信大家都有了一定的了解,希望丸趣 TV 小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注丸趣 TV 行業資訊頻道。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-04發表,共計1918字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 阿鲁科尔沁旗| 鄂尔多斯市| 沙洋县| 潮州市| 土默特左旗| 平和县| 临邑县| 沾化县| 固原市| 广安市| 自贡市| 武定县| 玉环县| 渭南市| 岱山县| 雷波县| 房产| 张家界市| 花垣县| 易门县| 宜良县| 新竹市| 巴林右旗| 象山县| 赣榆县| 南平市| 繁昌县| 休宁县| 盖州市| 江城| 洱源县| 平武县| 通城县| 盱眙县| 新宾| 河池市| 通辽市| 类乌齐县| 伊吾县| 将乐县| 隆子县|