Tomcat如何配置訪問日志和線程數(shù)
前言
Tomcat(全名為Apache Tomcat)是一個開源的Java Servlet容器,也可以被看作是一個Web應(yīng)用服務(wù)器。它由Apache軟件基金會開發(fā)和維護,是一個非常流行的用于部署Java Web應(yīng)用程序的服務(wù)器。以下是關(guān)于Tomcat的一些重要信息:
Servlet容器:Tomcat是一個Java Servlet容器,它的主要功能是執(zhí)行和管理Java Servlets和JavaServer Pages(JSPs)。Servlets和JSPs是用于構(gòu)建動態(tài)Web應(yīng)用程序的Java技術(shù)。
開源性質(zhì):Tomcat是開源的,這意味著任何人都可以免費下載、使用、修改和分發(fā)它。這使得它成為一個受歡迎的選項,特別是對于小型和中小型項目。
跨平臺性:Tomcat是跨平臺的,它可以在多種操作系統(tǒng)上運行,包括Windows、Linux和macOS等。
支持Java EE標準:Tomcat實現(xiàn)了Java EE(Enterprise Edition)規(guī)范的一部分,使得開發(fā)人員可以使用標準的Java EE技術(shù)構(gòu)建和部署Web應(yīng)用程序。
模塊化:Tomcat的架構(gòu)是模塊化的,它包括多個組件,如連接器、容器、安全性等。這使得開發(fā)人員可以根據(jù)需要選擇性地啟用或禁用這些組件,以滿足其應(yīng)用程序的要求。
高性能:Tomcat經(jīng)過優(yōu)化,具有良好的性能,特別適合處理高并發(fā)的Web請求。
管理和監(jiān)控工具:Tomcat提供了Web界面和命令行工具,用于管理和監(jiān)控應(yīng)用程序的部署和性能。
擴展性:Tomcat支持多種擴展和插件,可以通過添加第三方組件來增強其功能。
安全性:Tomcat包括一些安全特性,如SSL/TLS支持和訪問控制,以確保應(yīng)用程序的安全性。
社區(qū)支持:Tomcat擁有龐大的用戶和開發(fā)社區(qū),可以輕松找到有關(guān)配置、問題解決和擴展的支持和資源。
總之,Tomcat是一個功能強大且易于使用的Java Servlet容器,適用于開發(fā)和部署各種類型的Java Web應(yīng)用程序。它的開源性質(zhì)和活躍的社區(qū)使其成為一個受歡迎的選擇,特別是在Java Web開發(fā)領(lǐng)域。
一、tomcat access log的配置
1.access log的配置
server: tomcat: accesslog: enabled: true #是否開啟日志 directory: /home/admin/arpro-backend-prod/logs/arpro-monitor #日志存儲目錄 pattern: '%t %a %A %m %U%q %s %D %I %B' #日志格式 prefix: TomcatAccess #日志文件前綴 rename-on-rotate: true #是否啟用日志輪轉(zhuǎn)
2.查看磁盤上的日志文件
3.accesslog參數(shù)解釋:
enabled,取值true、false,需要accesslog時設(shè)置為true
directory,指定access文件的路徑
rotate,指定是否啟用日志輪轉(zhuǎn)。默認為true。這個參數(shù)決定是否需要切換切換日志文件,如果被設(shè)置為false,則日志文件不會切換,即所有文件打到同一個日志文件中,并且file-date-format參數(shù)也會被忽略
pattern,定義日志的格式,
pattern的配置:
%a - 遠程IP地址
%A - 本地IP地址
%b - 發(fā)送的字節(jié)數(shù)(Bytes sent), 不包括HTTP headers的字節(jié),如果為0則展示’-’
%B - 發(fā)送的字節(jié)數(shù)(Bytes sent), 不包括HTTP headers的字節(jié)
%h - 遠程主機名稱(如果resolveHosts為false則展示IP)
%H - 請求協(xié)議
%l - 遠程用戶名,始終為’-'(Remote logical username from identd)
%m - 請求的方法(GET, POST等)%p - 接受請求的本地端口
%q - 查詢字符串,如果存在,有一個前置的’?’
%r - 請求的第一行(包括請求方法和請求的URI)
%s - response的HTTP狀態(tài)碼(200,404等)%S - 用戶的session ID
%t - 日期和時間,Common Log Format格式
%u - 被認證的遠程用戶, 不存在則展示’-’
%U - 請求URL路徑%v - 本地服務(wù)名
%D - 處理請求的時間,單位為毫秒
%T - 處理請求的時間,單位為秒%I - 當前請求的線程名(can compare later with stacktraces)
二、Tomcat配置線程數(shù)
server: tomcat: uri-encoding: UTF-8 min-spare-threads: 300 #最小線程數(shù) max-threads: 1000 #最大線程數(shù) accept-count: 500 #最大等待隊列長度 max-connections: 1800 #最大鏈接數(shù)
首先,線程數(shù)是一個重點,每一次HTTP請求到達Web服務(wù)器,Web服務(wù)器都會創(chuàng)建一個線程來處理該請求,該參數(shù)決定了應(yīng)用服務(wù)同時可以處理多少個HTTP請求。
比較重要的有兩個:初始線程數(shù)和最大線程數(shù)。
初始線程數(shù):保障啟動的時候,如果有大量用戶訪問,能夠很穩(wěn)定的接受請求。最大線程數(shù):用來保證系統(tǒng)的穩(wěn)定性。
超時時間:用來保障連接數(shù)不容易被壓垮。如果大批量的請求過來,延遲比較高,很容易把線程數(shù)用光,這時就需要提高超時時間。這種情況在生產(chǎn)中是比較常見的 ,一旦網(wǎng)絡(luò)不穩(wěn)定,寧愿丟包也不能把服務(wù)器壓垮。
- min-spare-threads:最小備用線程數(shù),tomcat啟動時的初始化的線程數(shù)。
- max-threads:Tomcat可創(chuàng)建的最大的線程數(shù),每一個線程處理一個請求,超過這個請求數(shù)后,客戶端請求只能排隊,等有線程釋放才能處理。(建議這個配置數(shù)可以在服務(wù)器CUP核心數(shù)的200~250倍之間)
- accept-count:當調(diào)用Web服務(wù)的HTTP請求數(shù)達到tomcat的最大線程數(shù)時,還有新的HTTP請求到來,這時tomcat會將該請求放在等待隊列中,這個acceptCount就是指能夠接受的最大等待數(shù),默認100。如果等待隊列也被放滿了,這個時候再來新的請求就會被tomcat拒絕(connection refused)。
- max-connections:這個參數(shù)是指在同一時間,tomcat能夠接受的最大連接數(shù)。一般這個值要大于(max-threads)+(accept-count)。
- connection-timeout:最長等待時間,如果沒有數(shù)據(jù)進來,等待一段時間后斷開連接,釋放線程。
三、實時查看tomcat線程數(shù)
獲取tomcat進程pid
ps -ef|grep java
統(tǒng)計該tomcat進程內(nèi)的線程個數(shù)
ps -Lf 進程號 |wc -l
到此這篇關(guān)于Tomcat如何配置訪問日志和線程數(shù)的文章就介紹到這了,更多相關(guān)Tomcat配置訪問日志和線程數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決Tomcat啟動報錯Publishing?failed??multiple問題
這篇文章主要介紹了解決Tomcat啟動報錯Publishing?failed??multiple問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09Tomcat弱口令復(fù)現(xiàn)及利用(反彈shell)
本文主要介紹了Tomcat弱口令復(fù)現(xiàn)及利用(反彈shell),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05tomcat 通過占位符設(shè)置端口的方法(即參數(shù)指定方式)
這篇文章主要介紹了tomcat 通過占位符設(shè)置端口的方法(即參數(shù)指定方式),本文通過三種方法給大家講解的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08Maven3.8.1使用Tomcat8插件啟動項目的方法(親測有效)
在本地maven的settings.xml文件中添加阿里云鏡像,然后在pom.xml文件中添加tomcat8插件的配置,重新下載依賴,運行tomcat8:run命令,成功啟動項目,本文介紹Maven3.8.1使用Tomcat8插件啟動項目的方法,感興趣的朋友一起看看吧2024-11-11Linux 中Tomcat遠程調(diào)試代碼的實現(xiàn)方法
這篇文章主要介紹了Tomcat 遠程調(diào)試代碼的實現(xiàn)方法的相關(guān)資料,這里提供實例幫助大家實現(xiàn)這樣的功能,需要的朋友可以參考下2017-08-08Tomcat管理平臺_動力節(jié)點Java學(xué)院整理
這篇文章主要為大家詳細介紹了Tomcat管理平臺的相關(guān)資料,講解Tomcat服務(wù)器的管理平臺具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07