Centos

squid 代理的緩慢響應 - 優化

  • September 28, 2013

我們在 Centos5.3 上使用**squid 3.0 ,目前有 20 個使用者(Internet Explorer)使用這個代理。**問題是通過代理的訪問速度較慢。即使是像 google.com(.au) 這樣的簡單網頁,也比沒有代理的直接連接要長 5 秒。看起來有大約 2-5 秒的延遲。禁用 google.com(.au) 的記憶體沒有幫助。明確定義 dns_nameservers 沒有區別。

伺服器參數:雙核 AMD Opteron(tm) 處理器 2220、6GB 記憶體、60gb SCSI 硬碟

cache_mem 256 MB

cache_dir ufs /usr/local/squid/var/cache 30000 16 256

maximum_object_size_in_memory 256 KB

minimum_object_size 0 KB(0 - 200 KB - 沒有真正的區別,延遲仍然存在)

maximum_object_size 32 MB

您將如何根據伺服器規範更改 squid.conf 中的這些規範。什麼會導致延遲?對於像 yahoo.com.au 這樣更大的網頁,還有一種方法可以從記憶體中接收頁面的一部分,然後再接收其餘部分(最後是圖片)。目前 15 秒內沒有任何內容,然後出現整個網頁。

我的第一個預感是使用 tcpdump 嗅探流量並將其載入到wireshark 以查看延遲發生在哪裡。

tcpdump -i any -s 0 -w /tmp/squid.pcap

(如果您通過 ssh 執行此操作,請在末尾添加“not port ssh”。)

一旦你把它載入到wireshark中,你應該能夠看到延遲出現在哪裡。我建議在安靜的時間這樣做,這樣就不會有太多的交通遮擋您的視線。如果您可以成為當時唯一訪問代理的人,那就更好了。

可能的延誤是:

  • 瀏覽器聯繫代理
  • 代理聯繫網路伺服器
  • 代理 DNS 請求
  • 代理向瀏覽器返迴響應

引用自:https://serverfault.com/questions/21015