網站首頁 編程語言 正文
1.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 #是否啟用日志輪轉
2.查看磁盤上的日志文件
3.accesslog參數解釋:
enabled,取值true、false,需要accesslog時設置為true
directory,指定access文件的路徑
rotate,指定是否啟用日志輪轉。默認為true。這個參數決定是否需要切換切換日志文件,如果被設置為false,則日志文件不會切換,即所有文件打到同一個日志文件中,并且file-date-format參數也會被忽略
pattern,定義日志的格式,
pattern的配置:
- %a - 遠程IP地址
- %A - 本地IP地址
- %b - 發送的字節數(Bytes sent), 不包括HTTP headers的字節,如果為0則展示'-'
- %B - 發送的字節數(Bytes sent), 不包括HTTP headers的字節
- %h - 遠程主機名稱(如果resolveHosts為false則展示IP)
- %H - 請求協議
- %l - 遠程用戶名,始終為'-'(Remote logical username from identd)
- %m - 請求的方法(GET, POST等)%p - 接受請求的本地端口
- %q - 查詢字符串,如果存在,有一個前置的'?'
- %r - 請求的第一行(包括請求方法和請求的URI)
- %s - response的HTTP狀態碼(200,404等)%S - 用戶的session ID
- %t - 日期和時間,Common Log Format格式
- %u - 被認證的遠程用戶, 不存在則展示'-'
- %U - 請求URL路徑%v - 本地服務名
- %D - 處理請求的時間,單位為毫秒
- %T - 處理請求的時間,單位為秒%I - 當前請求的線程名(can compare later with stacktraces)
2.Tomcat配置線程數
server: tomcat: uri-encoding: UTF-8 min-spare-threads: 300 #最小線程數 max-threads: 1000 #最大線程數 accept-count: 500 #最大等待隊列長度 max-connections: 1800 #最大鏈接數
首先,線程數是一個重點,每一次HTTP請求到達Web服務器,Web服務器都會創建一個線程來處理該請求,該參數決定了應用服務同時可以處理多少個HTTP請求。
比較重要的有兩個:初始線程數和最大線程數。
初始線程數:保障啟動的時候,如果有大量用戶訪問,能夠很穩定的接受請求。最大線程數:用來保證系統的穩定性。
超時時間:用來保障連接數不容易被壓垮。如果大批量的請求過來,延遲比較高,很容易把線程數用光,這時就需要提高超時時間。這種情況在生產中是比較常見的 ,一旦網絡不穩定,寧愿丟包也不能把服務器壓垮。????????
- min-spare-threads:最小備用線程數,tomcat啟動時的初始化的線程數。
- max-threads:Tomcat可創建的最大的線程數,每一個線程處理一個請求,超過這個請求數后,客戶端請求只能排隊,等有線程釋放才能處理。(建議這個配置數可以在服務器CUP核心數的200~250倍之間)
- accept-count:當調用Web服務的HTTP請求數達到tomcat的最大線程數時,還有新的HTTP請求到來,這時tomcat會將該請求放在等待隊列中,這個acceptCount就是指能夠接受的最大等待數,默認100。如果等待隊列也被放滿了,這個時候再來新的請求就會被tomcat拒絕(connection refused)。
- max-connections:這個參數是指在同一時間,tomcat能夠接受的最大連接數。一般這個值要大于(max-threads)+(accept-count)。
- connection-timeout:最長等待時間,如果沒有數據進來,等待一段時間后斷開連接,釋放線程。
3.實時查看tomcat線程數
獲取tomcat進程pid
ps -ef|grep java
統計該tomcat進程內的線程個數
ps -Lf 進程號 |wc -l
Tomcat的官方手冊,挺詳細的
Apache Tomcat 9 Configuration Reference (9.0.60) - The HTTP Connector
原文鏈接:https://blog.csdn.net/promsing/article/details/123674175
相關推薦
- 2022-09-28 python?Scala函數與訪問修辭符實例詳解_python
- 2023-12-18 Jedis和springboot集成redis
- 2023-04-03 Golang?filepath包常用函數詳解_Golang
- 2023-01-07 一篇文章徹底弄懂Python中的if?__name__?==?__main___python
- 2021-11-18 C/C++?Qt?TableDelegate?自定義代理組件使用詳解_C 語言
- 2022-12-05 Python?如何截取字符函數_python
- 2022-10-23 在Asp.net?core項目中使用WebSocket_實用技巧
- 2022-08-28 python?數據保存為npy和npz格式并讀取的完整代碼_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支