Tomcat配置访问日志和线程数


Posted in Servers onMay 06, 2022

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.查看磁盘上的日志文件

Tomcat配置访问日志和线程数

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

到此这篇关于Tomcat配置访问日志和线程数的文章就介绍到这了,更多相关Tomcat配置访问日志和线程数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Servers 相关文章推荐
nginx配置proxy_pass中url末尾带/与不带/的区别详解
Mar 31 Servers
apache基于端口创建虚拟主机的示例
Apr 24 Servers
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
Jul 07 Servers
详解使用内网穿透工具Ngrok代理本地服务
Mar 31 Servers
Kubernetes中Deployment的升级与回滚
Apr 01 Servers
阿里云k8s服务升级时502错误 springboot项目应用
Apr 09 Servers
Nginx静态压缩和代码压缩提高访问速度详解
May 30 Servers
Linux中文件的基本属性介绍
Jun 01 Servers
使用Apache Camel表达REST服务的方法
Jun 10 Servers
Python安装及建立虚拟环境的完整步骤
Jun 25 Servers
Apache自带的ab压力测试工具的实现
Jul 23 Servers
Nginx 502 bad gateway错误解决的九种方案及原因
Aug 14 Servers
tomcat正常启动但网页却无法访问的几种解决方法
May 06 #Servers
tomcat默认最大连接数及相关调整方法
May 06 #Servers
如何Tomcat中使用ipv6地址
May 06 #Servers
Tomcat弱口令复现及利用
Vscode中SSH插件如何远程连接Linux
nginx配置限速限流基于内置模块
May 02 #Servers
Nginx配置之禁止指定IP访问
You might like
手冲咖啡应该是现代精品咖啡店的必备选项吗?
2021/03/03 冲泡冲煮
php include,include_once,require,require_once
2008/09/05 PHP
php截取字符串函数分享
2015/02/02 PHP
详解Yii2.0 rules验证规则集合
2017/03/21 PHP
JavaScript的变量作用域深入理解
2009/10/25 Javascript
jquery.bgiframe.js在IE9下提示INVALID_CHARACTER_ERR错误
2013/01/11 Javascript
jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法
2016/01/19 Javascript
node-http-proxy修改响应结果实例代码
2016/06/06 Javascript
nodejs微信公众号支付开发
2016/09/19 NodeJs
jQuery序列化表单成对象的简单实现
2016/11/29 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
2017/04/07 jQuery
vue 插值 v-once,v-text, v-html详解
2018/01/19 Javascript
微信公众号平台接口开发 菜单管理的实现
2019/08/14 Javascript
在vue中通过render函数给子组件设置ref操作
2020/11/17 Vue.js
[01:14]DOTA2亚洲邀请赛小组赛赛前花絮
2017/03/27 DOTA
如何在sae中设置django,让sae的工作环境跟本地python环境一致
2017/11/21 Python
Python中的枚举类型示例介绍
2019/01/09 Python
python global关键字的用法详解
2019/09/05 Python
Python3 Tkinkter + SQLite实现登录和注册界面
2019/11/19 Python
python 穷举指定长度的密码例子
2020/04/02 Python
django 实现简单的插入视频
2020/04/07 Python
Python加速程序运行的方法
2020/07/29 Python
python实现文件分片上传的接口自动化
2020/11/19 Python
纯CSS3实现扇形动画菜单(简化版)实例源码
2017/01/17 HTML / CSS
Delphi笔试题
2016/11/14 面试题
预备党员党校学习自我评价分享
2013/11/12 职场文书
电子技术专业中专生的自我评价
2013/12/17 职场文书
网络研修随笔感言
2014/02/17 职场文书
《理想》教学反思
2014/02/17 职场文书
群众路线四风问题整改措施
2014/09/27 职场文书
乡村教师党员四风问题对照检查材料思想汇报
2014/10/08 职场文书
员工表扬信怎么写
2015/05/05 职场文书
告知书格式
2015/07/01 职场文书
2016高一新生军训心得体会
2016/01/11 职场文书
幼儿园心得体会范文
2016/01/21 职场文书
关于感恩的歌曲整理(8首)
2019/08/14 职场文书