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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2849680/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SpringBoot記錄HTTP請求日誌Spring BootHTTP
- curl 請求獲取響應時間
- laravel如何利用中介軟體優雅的記錄請求日誌Laravel
- Spring Cloud Gateway 之 請求應答日誌列印SpringCloudGateway
- Laravel8記錄請求和返回日誌Laravel
- js網路請求 短時間發出多個 展示最新響應JS
- Solon 框架如何方便獲取每個請求的響應時間?框架
- 處理nginx訪問日誌,篩選時間大於1秒的請求Nginx
- Spring基於註解的環繞通知實現請求方法日誌記錄Spring
- ThinkPHP 請求與響應PHP
- HTTP 請求與響應HTTP
- Http請求與響應HTTP
- 應急響應:日誌分析
- Oracle歸檔日誌所在目錄時間不對&&Oracle叢集日誌時間顯示錯誤Oracle
- [提問交流]請問如何關掉日誌記錄
- DRF之請求與響應
- SpringMVC 入門、請求、響應SpringMVC
- HTTP的請求與響應HTTP
- Go如何響應http請求?GoHTTP
- ThinkPHP日誌記錄PHP
- 日誌記錄器
- 純程式碼分享個人Monolog API Log,記錄請求&響應中介軟體MonoAPI
- iris 系列文章 封裝 請求日誌封裝
- mongodb profiling慢請求監控日誌MongoDB
- 日誌分析-apache日誌分析Apache
- 如何使用cURL獲得請求/響應具體耗時?
- request和response——請求響應物件物件
- HTTP請求與響應簡析HTTP
- HTTP請求頭與響應頭HTTP
- Laravel sql 日誌記錄LaravelSQL
- nginx日誌檔案按天記錄定時清理迴圈記錄Nginx
- Laravel 實現使用中介軟體記錄所有請求資訊以及日誌純 JSON 格式儲存LaravelJSON
- Qt - http網路請求與響應QTHTTP
- Django REST framework的請求與響應DjangoRESTFramework
- 作業4_請求與響應
- SpringSession系列-請求與響應重寫SpringGseSession
- 處理請求(AFURLRequestSerialization)和響應(AFURLResponseSerialization)
- HTTP請求格式和HTTP響應格式HTTP