日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

Tomcat配置訪問日志和線程數(shù)的實(shí)現(xiàn)步驟_Tomcat

作者:小小張自由—>張有博 ? 更新時(shí)間: 2022-06-29 編程語(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

欄目分類
最近更新