Apache 记录请求响应时间日志

导读 本文章向大家介绍Apache 记录请求响应时间日志,主要包括Apache 记录请求响应时间日志使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Apache 记录请求响应时间日志

官网介绍

在Apache2的中文手册中,是这样定义 %T 这个变量的。%T 处理完请求所花时间,以秒为单位。
在Apache2的英文文档中,定义如下:

%T the time taken to server the request, in seconds.

由此可见,这个时间表示的是服务器处理这个请求的总时间。 而不是Apache服务器解析PHP脚本,并且输出脚本的时间。因此,我们可以看到同样的一个页面,网速比较慢的用户访问时间会长,而网速较快的用户访问,则时间比较短。

%T记录的是以秒为单位的时间,这对于我们来说是不太够的。因为很多情况下,我们需要保证我们网页的响应速度在1秒以内。从Apache 2.0 开始,提供了一个新的参数 %D。可以记录服务器处理请求的微秒时间(注意和%T的定义不同)。

配置响应时间

我在服务器上做了一次测试,代码中嵌入了一个执行时间的检查判断,同时监视日志文件中产生的时间。结果为:页面监测脚本执行时间为10009206毫秒,而日志中记录的是10009838,两者时间并不一样,日志中记录的时间稍微长一些,包含了DNS查询等一系列的过程。找到apache配置文件

netstat -nap | grep 80
# 找到对应端口进程 31114
tcp6 0 0 :::4430 :::* LISTEN 31114/httpd
ps auxf | grep 31114
# 找到对应apache的进程命令中的配置文件*.conf的路径,到指定路径修改配置文件,例如
vim httpd.conf

修改指定端口下的VirtualHost

<VirtualHost 80>
.......
CustomLog "/var/prof.log" "[%a]%{%F %T}t id=%{APIIndex}i time=%D(us) url=%U%q"
</VirtualHost>
指令: CustomLog "/var/prof.log" "[%a]%{%F %T}t id=%{APIIndex}i time=%D(us) url=%U%q"

%D - 官方解释:Time taken to process the request, in millis,处理请求的时间,以微秒为单位
%T - 官方解释:Time taken to process the request, in seconds,处理请求的时间,以秒为单位
%{ms}T - 官方解释:Time taken to commit the response, in millis,提交响应的时间,以毫秒为单位

修改后重启apache,观察日志输出数据如下:

[200.200.222.95]2021-12-04 15:39:32 id=- time=100107(us) url=/apps/secvisual/home/home/on_dev_manage
[200.200.222.95]2021-12-04 15:39:38 id=- time=106476(us) url=/apps/secvisual/home/home/on_dev_manage
[200.200.222.95]2021-12-04 15:39:43 id=- time=101263(us) url=/apps/secvisual/home/home/on_dev_manage
[200.200.222.95]2021-12-04 15:39:48 id=- time=101333(us) url=/apps/secvisual/home/home/on_dev_manage

原文来自:https://www.cnblogs.com/gaoyanbing/p/14335121.html

本文地址:https://www.linuxprobe.com/apache-recode-time.html编辑:张雄,审核员:逄增宝

Linux命令大全:https://www.linuxcool.com/

© 版权声明
THE END
喜欢就支持一下吧