為了記錄接口響應(yīng)時(shí)間,會(huì)通過調(diào)整Nginx日志格式來記錄接口的請求和響應(yīng)詳細(xì)情況
創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的羅湖網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!項(xiàng)目采用的日志結(jié)構(gòu)如下:
log_format main '$remote_addr - $remote_user [$time_local] "$request" $request_time $upstream_response_time '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
最近在分析接口時(shí)發(fā)現(xiàn)某個(gè)接口的請求詳情如下:
192.168.1.11 - - [02/Dec/2022:11:01:35 +0800] "POST /xxx/xxxx HTTP/1.1" 5.687 0.146 200 535863 "http://localhost:7456/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36" "-"
分析接口發(fā)現(xiàn) 接口的兩個(gè)時(shí)間差別很大 這里就需要分析下兩個(gè)接口的時(shí)間了,然后來定位問題的原因
request_time : 指的就是從接受用戶請求的第一個(gè)字節(jié)到發(fā)送完響應(yīng)數(shù)據(jù)的時(shí)間,即$request_time包括接收客戶端請求數(shù)據(jù)的時(shí)間、后端程序響應(yīng)的時(shí)間、發(fā)送響應(yīng)數(shù)據(jù)給客戶端的時(shí)間(不包含寫日志的時(shí)間)
upstream_response_time: 是指從Nginx向后端建立連接開始到接受完數(shù)據(jù)然后關(guān)閉連接為止的時(shí)間
上面描述可以看出, request_time肯定比upstream_response_time值大,尤其是在客戶端采用POST方式提交較大的數(shù)據(jù),響應(yīng)體比較大的時(shí)候。在客戶端網(wǎng)絡(luò)條件差的時(shí)候,request還會(huì)被放大
出現(xiàn)這個(gè)問題的原因大概是因?yàn)榫W(wǎng)絡(luò)問題導(dǎo)致的,看到這個(gè)接口返回的數(shù)據(jù)量比較大,在網(wǎng)絡(luò)不好的情況下這個(gè)差距估計(jì)被放大了,之前這兩個(gè)時(shí)間基本都是相等的或者差別在ms級別
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧