Ubuntu
Squid cache_peer 循環算法未按預期工作
我有許多點對點HTTP 代理,我需要在它們之間平均分配我的請求,所以我添加了多個cache_peer指令並將循環設置為對等選擇算法。這是我的配置:
# Basic configuration visible_hostname squid_proxy_1 unique_hostname squid_proxy_1 http_port 3130 pid_filename /vagrant/squid_proxy_1.pid cache deny all http_access allow all # Proxies cache_peer MY_PROXY_HOST parent PROXY_PORT 0 round-robin no-query name=FIRST login=MY_PROXY_LOGIN-1:PASSWORD1 cache_peer MY_PROXY_HOST parent PROXY_PORT 0 round-robin no-query name=SECOND login=MY_PROXY_LOGIN-2:PASSWORD2 cache_peer MY_PROXY_HOST parent PROXY_PORT 0 round-robin no-query name=THIRD login=MY_PROXY_LOGIN-3:PASSWORD3 never_direct allow all
但是我遇到了以下問題:cache_peer開關不是在每次請求之後進行的。這是我的access.log的樣子:
sudo tail -f /var/log/squid3/access.log 1460977613.775 23783 127.0.0.1 TCP_MISS/200 11371 GET http://www.google.com/ - ROUNDROBIN_PARENT/104.131.79.140 text/html 1460977621.171 4843 127.0.0.1 TCP_MISS/200 11413 GET http://www.google.com/ - ROUNDROBIN_PARENT/104.131.79.140 text/html 1460977628.367 5583 127.0.0.1 TCP_MISS/200 11412 GET http://www.google.com/ - ROUNDROBIN_PARENT/104.131.79.140 text/html 1460977634.270 4726 127.0.0.1 TCP_MISS/200 11354 GET http://www.google.com/ - ROUNDROBIN_PARENT/104.131.79.140 text/html 1460977642.429 6531 127.0.0.1 TCP_MISS/200 12841 GET http://www.google.com/ - ROUNDROBIN_PARENT/104.131.79.140 text/html 1460977645.563 1747 127.0.0.1 TCP_MISS/200 11360 GET http://www.google.com/ - ROUNDROBIN_PARENT/104.131.79.140 text/html 1460977653.731 7242 127.0.0.1 TCP_MISS/200 11408 GET http://www.google.com/ - ROUNDROBIN_PARENT/107.170.96.123 text/html 1460977658.559 3763 127.0.0.1 TCP_MISS/200 11374 GET http://www.google.com/ - ROUNDROBIN_PARENT/45.55.163.40 text/html 1460977660.516 1387 127.0.0.1 TCP_MISS/200 11398 GET http://www.google.com/ - ROUNDROBIN_PARENT/45.55.163.40 text/html 1460977662.863 1758 127.0.0.1 TCP_MISS/200 11414 GET http://www.google.com/ - ROUNDROBIN_PARENT/45.55.163.40 text/html 1460977664.667 1305 127.0.0.1 TCP_MISS/200 11419 GET http://www.google.com/ - ROUNDROBIN_PARENT/45.55.163.40 text/html 1460977676.157 10901 127.0.0.1 TCP_MISS/200 11384 GET http://www.google.com/ - ROUNDROBIN_PARENT/45.55.163.40 text/html 1460977678.565 1348 127.0.0.1 TCP_MISS/200 11321 GET http://www.google.com/ - ROUNDROBIN_PARENT/45.55.163.40 text/html 1460977681.742 2516 127.0.0.1 TCP_MISS/200 11383 GET http://www.google.com/ - ROUNDROBIN_PARENT/45.55.163.40 text/html
僅當我使用這些特定的 P2P 代理時才會發生這種情況。我嘗試使用在實習生中找到的免費代理進行相同的配置,一切正常。
我想問題是 Squid 可能認為我的代理已死(因為它們有時真的很慢),因此我們沒有將流量路由到它們,但我不確定。
有沒有辦法獲得有關對等選擇算法的更多資訊?我可以以某種方式調整cache_peer選項來解決這個問題嗎?
這個問題是通過禁止持久連接來解決的。就我而言,我在配置中添加了以下行,現在一切正常。
server_persistent_connections off
非常感謝**@BillThor**,他在評論部分幫助了我。