閱讀177 返回首頁    go 小米 go 小米手環


Squid日誌詳解

在squid中access訪問日誌最為重要,位於/var/log/squid/access.log,常用的記錄格式如下

例如:1206507660.803  84367 192.168.1.114 TCP_MISS/502 1486 GET https://123.138.238.114/qqfile/qq/QQ2008Spring/QQ2008SpringKB1.exe – DIRECT/123.138.238.114 text/html

下麵來看看意思

logformat squid  %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt

解釋如下:

Seconds since epoch; subsecond time (milliseconds);  Response time (milliseconds); Client source IP address;  Squid request status (TCP_MISS etc); HTTP status code; Reply size including HTTP headers;  Request method (GET/POST etc) ; Request URL;  User name;  Squid hierarchy status (DEFAULT_PARENT etc);  Client FQDN;  MIME content type

squid的日誌很重要。常常要了解的,其中最重要的就是命中率啦,不然反向代理做的用就不大。

#cat access.log|gawk ‘{print $4}’|sort|uniq -c|sort -nr

9568 TCP_IMS_HIT/304

6313 TCP_HIT/200

2133 TCP_MISS/200

1568 TCP_MISS/206

587 TCP_MEM_HIT/200

531 TCP_MISS/304

207 TCP_REFRESH_HIT/200

152 TCP_REFRESH_HIT/304

86 TCP_NEGATIVE_HIT/404

69 TCP_MISS/404

9 TCP_MISS/000

4 TCP_MISS/503

1 TCP_REFRESH_MISS/000

1 TCP_DENIED/400

可以使用上麵的方法,大約的分析一下命令中比。什麼意思就看下麵的詳解.

#cat /var/log/squid/access.log |grep TCP_MEM_HIT

如果看到很多的TCP_MEM_HIT ,這表明該文件是從內存緩存讀取的,squid已經起作用了!你再用瀏覽器打開該文件,應該是快如閃電了。。嗬嗬,大功告成了!還有其他類型的HIT,如TCP_HIT等等,這些是從磁盤讀取的,我覺得加速的意義不大,隻不過緩解了apache的壓力而已。

相應於HTTP請求,下列標簽可能出現在access.log文件的第四個域。

TCP_HIT

Squid發現請求資源的貌似新鮮的拷貝,並將其立即發送到客戶端。

TCP_MISS

Squid沒有請求資源的cache拷貝。

TCP_REFERSH_HIT

Squid發現請求資源的貌似陳舊的拷貝,並發送確認請求到原始服務器。原始服務器返回304(未修改)響應,指示squid的拷貝仍舊是新鮮的。

TCP_REF_FAIL_HIT

Squid發現請求資源的貌似陳舊的拷貝,並發送確認請求到原始服務器。然而,原始服務器響應失敗,或者返回的響應Squid不能理解。在此情形下,squid發送現有cache拷貝(很可能是陳舊的)到客戶端。

TCP_REFRESH_MISS

Squid發現請求資源的貌似陳舊的拷貝,並發送確認請求到原始服務器。原始服務器響應新的內容,指示這個cache拷貝確實是陳舊的。

TCP_CLIENT_REFRESH_MISS

Squid發現了請求資源的拷貝,但客戶端的請求包含了Cache-Control: no-cache指令。Squid轉發客戶端的請求到原始服務器,強迫cache確認。

TCP_IMS_HIT

客戶端發送確認請求,Squid發現更近來的、貌似新鮮的請求資源的拷貝。Squid發送更新的內容到客戶端,而不聯係原始服務器。

TCP_SWAPFAIL_MISS

Squid發現請求資源的有效拷貝,但從磁盤裝載它失敗。這時squid發送請求到原始服務器,就如同這是個cache丟失一樣。

TCP_NEGATIVE_HIT

在對原始服務器的請求導致HTTP錯誤時,Squid也會cache這個響應。在短時間內對這些資源的重複請求,導致了否命中。 negative_ttl指令控製這些錯誤被cache的時間數量。請注意這些錯誤隻在內存cache,不會寫往磁盤。下列HTTP狀態碼可能導致否定 cache(也遵循於其他約束): 204, 305, 400, 403, 404, 405, 414, 500, 501, 502, 503, 504。

TCP_MEM_HIT

Squid在內存cache裏發現請求資源的有效拷貝,並將其立即發送到客戶端。注意這點並非精確的呈現了所有從內存服務的響應。例如,某些cache在內存裏,但要求確認的響應,會以TCP_REFRESH_HIT, TCP_REFRESH_MISS等形式記錄。

TCP_DENIED

因為http_access或http_reply_access規則,客戶端的請求被拒絕了。注意被http_access拒絕的請求在第9域的值是NONE/-,然而被http_reply_access拒絕的請求,在相應地方有一個有效值。

TCP_OFFLINE_HIT

當offline_mode激活時,Squid對任何cache響應返回cache命中,而不用考慮它的新鮮程度。

TCP_REDIRECT

重定向程序告訴Squid產生一個HTTP重定向到新的URI(見11.1節)。正常的,Squid不會記錄這些重定向。假如要這樣做,必須在編譯squid前,手工定義LOG_TCP_REDIRECTS預處理指令。

NONE

無分類的結果用於特定錯誤,例如無效主機名。

相應於ICP查詢,下列標簽可能出現在access.log文件的第四域。

UDP_HIT

Squid在cache裏發現請求資源的貌似新鮮的拷貝。

UDP_MISS

Squid沒有在cache裏發現請求資源的貌似新鮮的拷貝。假如同一目標通過HTTP請求,就可能是個cache丟失。請對比UDP_MISS_NOFETCH。

UDP_MISS_NOFETCH

跟UDP_MISS類似,不同的是這裏也指示了Squid不願去處理相應的HTTP請求。假如使用了-Y命令行選項,Squid在啟動並編譯其內存索引時,會返回這個標簽而不是UDP_MISS。

UDP_DENIED

因為icp_access規則,ICP查詢被拒絕。假如超過95%的到某客戶端的ICP響應是UDP_DENIED,並且客戶端數據庫激活了(見附錄A),Squid在1小時內,停止發送任何ICP響應到該客戶端。若這點發生,你也可在cache.log裏見到一個警告。

UDP_INVALID

Squid接受到無效查詢(例如截斷的消息、無效協議版本、URI裏的空格等)。Squid發送UDP_INVALID響應到客戶端。

最後更新:2017-01-04 22:34:34

  上一篇:go 對源網站進行限速
  下一篇:go 獲取用戶IP地址的三個屬性的區別(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)