系统具体业务性能分析策略

就我们自己的框架而言,每一次操作都会经过Controller(一个),而Controller会调用服务Service(可能有多个),每一次的请求情况和调用Service的情况都记录再日志文件中。通过解析日志文件,可以发现系统中耗时的业务以及常出错的业务等。

日志文件localhost_access_log通过server.xml文件配置,每一行格式主要通过
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." suffix=".txt"/> 中的pattern属性配置:

·        %a - 远端IP地址

·        %A - 本地IP地址

·        %b - 发送的字节数,不包括HTTP头,如果为0,使用"-"

·        %B - 发送的字节数,不包括HTTP头

·        %h - 远端主机名(如果resolveHost=false,远端的IP地址)

·        %H - 请求协议

·        %l - 从identd返回的远端逻辑用户名(总是返回 '-')

·        %m - 请求的方法(GET,POST,等)

·        %p - 收到请求的本地端口号

·        %q - 查询字符串(如果存在,以 '?'开始)

·        %r - 请求的第一行,包含了请求的方法和URI

·        %s - 响应的状态码

·        %S - 用户的session ID

·        %t - 日志和时间,使用通常的Log格式

·        %u - 认证以后的远端用户(如果存在的话,否则为'-')

·        %U - 请求的URI路径

·        %v - 本地服务器的名称

·        %D - 处理请求的时间,以毫秒为单位

·        %T - 处理请求的时间,以秒为单位


要分析性能,我们需要知道 请求时间、请求路径(可作名称)、请求状态码、发送字节数、请求时长。
那么可配置pattern为:"%h %t &quot;%r&quot; %s %b %T"。
其中,“&quot;”表示一个英文引号。

第一步:筛选有效的数据行
    对于Controller,请求路径以"/jyglFront"开头但不以"/jyglFront/mainView/navigate"开头。
    对于Service,请求路径以"/jygl/jaxrs"开头。
第二步:对有效数据行进行处理解析,解析之前需要对log格式的时间进行处理,若不好处理,可将其替换为日志文件名中的时间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值