網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
1.tomcat access log的配置
1.access log的配置
server: tomcat: accesslog: enabled: true #是否開啟日志 directory: /home/admin/arpro-backend-prod/logs/arpro-monitor #日志存儲(chǔ)目錄 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í)設(shè)置為true
directory,指定access文件的路徑
rotate,指定是否啟用日志輪轉(zhuǎn)。默認(rèn)為true。這個(gè)參數(shù)決定是否需要切換切換日志文件,如果被設(shè)置為false,則日志文件不會(huì)切換,即所有文件打到同一個(gè)日志文件中,并且file-date-format參數(shù)也會(huì)被忽略
pattern,定義日志的格式,
pattern的配置:
- %a - 遠(yuǎn)程IP地址
- %A - 本地IP地址
- %b - 發(fā)送的字節(jié)數(shù)(Bytes sent), 不包括HTTP headers的字節(jié),如果為0則展示'-'
- %B - 發(fā)送的字節(jié)數(shù)(Bytes sent), 不包括HTTP headers的字節(jié)
- %h - 遠(yuǎn)程主機(jī)名稱(如果resolveHosts為false則展示IP)
- %H - 請(qǐng)求協(xié)議
- %l - 遠(yuǎn)程用戶名,始終為'-'(Remote logical username from identd)
- %m - 請(qǐng)求的方法(GET, POST等)%p - 接受請(qǐng)求的本地端口
- %q - 查詢字符串,如果存在,有一個(gè)前置的'?'
- %r - 請(qǐng)求的第一行(包括請(qǐng)求方法和請(qǐng)求的URI)
- %s - response的HTTP狀態(tài)碼(200,404等)%S - 用戶的session ID
- %t - 日期和時(shí)間,Common Log Format格式
- %u - 被認(rèn)證的遠(yuǎn)程用戶, 不存在則展示'-'
- %U - 請(qǐng)求URL路徑%v - 本地服務(wù)名
- %D - 處理請(qǐng)求的時(shí)間,單位為毫秒
- %T - 處理請(qǐng)求的時(shí)間,單位為秒%I - 當(dāng)前請(qǐng)求的線程名(can compare later with stacktraces)
2.Tomcat配置線程數(shù)
server: tomcat: uri-encoding: UTF-8 min-spare-threads: 300 #最小線程數(shù) max-threads: 1000 #最大線程數(shù) accept-count: 500 #最大等待隊(duì)列長(zhǎng)度 max-connections: 1800 #最大鏈接數(shù)
首先,線程數(shù)是一個(gè)重點(diǎn),每一次HTTP請(qǐng)求到達(dá)Web服務(wù)器,Web服務(wù)器都會(huì)創(chuàng)建一個(gè)線程來處理該請(qǐng)求,該參數(shù)決定了應(yīng)用服務(wù)同時(shí)可以處理多少個(gè)HTTP請(qǐng)求。
比較重要的有兩個(gè):初始線程數(shù)和最大線程數(shù)。
初始線程數(shù):保障啟動(dòng)的時(shí)候,如果有大量用戶訪問,能夠很穩(wěn)定的接受請(qǐng)求。最大線程數(shù):用來保證系統(tǒng)的穩(wěn)定性。
超時(shí)時(shí)間:用來保障連接數(shù)不容易被壓垮。如果大批量的請(qǐng)求過來,延遲比較高,很容易把線程數(shù)用光,這時(shí)就需要提高超時(shí)時(shí)間。這種情況在生產(chǎn)中是比較常見的 ,一旦網(wǎng)絡(luò)不穩(wěn)定,寧愿丟包也不能把服務(wù)器壓垮。????????
- min-spare-threads:最小備用線程數(shù),tomcat啟動(dòng)時(shí)的初始化的線程數(shù)。
- max-threads:Tomcat可創(chuàng)建的最大的線程數(shù),每一個(gè)線程處理一個(gè)請(qǐng)求,超過這個(gè)請(qǐng)求數(shù)后,客戶端請(qǐng)求只能排隊(duì),等有線程釋放才能處理。(建議這個(gè)配置數(shù)可以在服務(wù)器CUP核心數(shù)的200~250倍之間)
- accept-count:當(dāng)調(diào)用Web服務(wù)的HTTP請(qǐng)求數(shù)達(dá)到tomcat的最大線程數(shù)時(shí),還有新的HTTP請(qǐng)求到來,這時(shí)tomcat會(huì)將該請(qǐng)求放在等待隊(duì)列中,這個(gè)acceptCount就是指能夠接受的最大等待數(shù),默認(rèn)100。如果等待隊(duì)列也被放滿了,這個(gè)時(shí)候再來新的請(qǐng)求就會(huì)被tomcat拒絕(connection refused)。
- max-connections:這個(gè)參數(shù)是指在同一時(shí)間,tomcat能夠接受的最大連接數(shù)。一般這個(gè)值要大于(max-threads)+(accept-count)。
- connection-timeout:最長(zhǎng)等待時(shí)間,如果沒有數(shù)據(jù)進(jìn)來,等待一段時(shí)間后斷開連接,釋放線程。
3.實(shí)時(shí)查看tomcat線程數(shù)
獲取tomcat進(jìn)程pid
ps -ef|grep java
統(tǒng)計(jì)該tomcat進(jìn)程內(nèi)的線程個(gè)數(shù)
ps -Lf 進(jìn)程號(hào) |wc -l
Tomcat的官方手冊(cè),挺詳細(xì)的
Apache Tomcat 9 Configuration Reference (9.0.60) - The HTTP Connector
原文鏈接:https://blog.csdn.net/promsing/article/details/123674175
相關(guān)推薦
- 2022-07-06 C語(yǔ)言中#pragma?once的作用_C 語(yǔ)言
- 2023-04-11 Python中字符串類型代碼的執(zhí)行函數(shù)——eval()、exec()和compile()詳解_pyt
- 2022-06-15 如何在python?中導(dǎo)入?package_python
- 2022-08-28 Oracle觸發(fā)器和程序包的基本介紹_oracle
- 2022-08-04 GoFrame框架gset交差并補(bǔ)集使用實(shí)例_Golang
- 2022-09-09 Go語(yǔ)言中defer語(yǔ)句的用法_Golang
- 2022-10-08 Python中集合創(chuàng)建與使用詳解_python
- 2023-01-17 SqlServer事務(wù)語(yǔ)法及使用方法詳解_MsSql
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支