歡迎您光臨本站 註冊首頁

squid2.6遇到嚴重問題嘍,高流量下squid進程死鎖(已解決)

←手機掃碼閱讀     火星人 @ 2014-03-05 , reply:0

squid2.6遇到嚴重問題嘍,高流量下squid進程死鎖(已解決)

squid2.6遇到嚴重問題嘍,高流量下squid進程死鎖,

流量6-7M左右,實際連接IP不足千個,未限制IP連接數目.

squid處於轉髮狀態,後台為2003 IIS,傳送的文件為超過500M的ISO/avi

在一段時間后,squid停止數據傳輸,且無法工作,任何網頁無法打開,squid -k shutdown/kill均無效,kill squid無效,進程STOP狀態,無法殺死

重新啟動計算機可保持一段時間,之後如上述情況

系統為 freebsd6.2+squid2.6.6

[ 本帖最後由 qq830406 於 2006-12-25 21:35 編輯 ]
《解決方案》

我這邊使用的是freebsd6.2+squid2.6,現在很穩定,早期也死過的。
你的配置可以貼出來么?
《解決方案》

6~7M,也敢叫做高流量啊?
《解決方案》

哈哈~
我曾經面過一個淫~ 得意於他自己squid  2Mbits/s的流量~
《解決方案》

原帖由 HonestQiao 於 2006-12-22 23:22 發表
6~7M,也敢叫做高流量啊?

難道你們的squid都跑千兆?

現在2兆左右也死,昨天晚上到現在,不知道什麼時候死了

現在squid的狀態是zoneli

cache_mem 256 MB

cache_dir ufs /squid2/cache0 2048 16 256
#cache_dir coss /squid2/cache1 1024 max-size=1000000 block-size=128
cache_dir ufs /squid1/cache0 2048 16 256
#cache_dir coss /squid1/cache1 1024 max-size=1000000 block-size=128
#用coss內存占的太厲害,後來換aufs,由於squid死鎖問題,改回ufs,已經確認與其無關

half_closed_clients off
cache_swap_low 95
cache_swap_high 98

maximum_object_size 4096 KB
minimum_object_size 0 KB
maximum_object_size_in_memory 8 KB

cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
cache_swap_log /var/log/squid/swap.log

logfile_rotate 3

http_port 202.202.202.202:80 vhost vport

cache_vary on
#url_rewrite_host_header on

#acl OverConnLimit maxconn 50
#http_access deny OverConnLimit
#如果打開連接限制時間則長一些,關閉則很快死

acl Manager proto cache_object
acl Localhost src 127.0.0.1 192.168.1.22
http_access allow Manager Localhost
http_access deny Manager

acl all src 0/0
acl LAN src 192.168.1.1/16 #是16這兒沒錯,內網用的172的IP
acl manager proto cache_object
acl Safe_ports port 80 # http


http_access allow LAN
http_access deny !Safe_ports
http_access allow all

visible_hostname xxx1.com
cache_mgr root@xxx1.com

cache_effective_user squid
cache_effective_group squid
tcp_recv_bufsize 65535 bytes
#跟這個buf有關係嗎?還沒測過,一會兒嘗試

acl QUERY urlpath_regex cgi-bin .php .cgi .avi .wmv .rm .ram .mpg .mpeg .zip .exe
cache deny QUERY

cache_peer 192.168.1.22 parent 80 0 no-query originserver login=PASS name=master
cache_peer 192.168.1.55 parent 80 0 no-query originserver name=my55
cache_peer 192.168.1.88 parent 80 0 no-query originserver name=my88
cache_peer_domain master .xxx1.com .xxx2.com .xxx3.cn .xxx4.com .xxx5.cn .xxx6.com .xxx7.cn
#主要緩存這些站
cache_peer_domain my55 test.xxx8.com
#轉發數據也從這兒取,少
cache_peer_domain my88 test2.xxx8.com
#98%的轉發數據主要從my88這兒取

error_directory /usr/local/etc/squid/errors/Simplify_Chinese

icp_port 0

#ftp_user mail@mail.com
#ftp_list_width 64
#ftp_passive on

[ 本帖最後由 qq830406 於 2006-12-23 09:21 編輯 ]
《解決方案》

原帖由 phpman 於 2006-12-23 02:25 發表
哈哈~
我曾經面過一個淫~ 得意於他自己squid  2Mbits/s的流量~

這兒是Mbyte好不好.....
《解決方案》

google了一下,似乎都在說是freebsd的問題,還沒仔細看,不確認,
tcp buf關掉了,現在正在測3M左右的流量 注::byte

http://lists.freebsd.org/pipermail/freebsd-bugs/2006-December/021292.html


持續不到一個小時后,死了,平均帶寬使用6Mbyte (寫byte很不習慣),最高11M

HonestQiao 你的freebsd6.2是不是升級stable的?我用的是RC1,來了務必告訴我下,如果你OK我也升到stable好了

解決辦法:
http://www.mail-archive.com/freebsd-stable@freebsd.org/msg84681.html
升級到最後的RELENG_6,看來必須用stable了
儘管嚴重擔心standard向stable升級會出問題,但我不得不這麼做了:(

還得自己patch一下,但文章中似乎並沒有解決問題,我正在嘗試


Index: kern_mbuf.c
===================================================================
RCS file: /home/ncvs/src/sys/kern/kern_mbuf.c,v
retrieving revision 1.9.2.8
diff -u -r1.9.2.8 kern_mbuf.c
--- kern_mbuf.c        16 May 2006 07:27:48 -0000        1.9.2.8
+++ kern_mbuf.c        25 Nov 2006 14:14:36 -0000
@@ -122,6 +122,7 @@
                if (newnmbclusters > nmbclusters) {
                        nmbclusters = newnmbclusters;
                        uma_zone_set_max(zone_clust, nmbclusters);
+                        uma_zone_set_max(zone_pack, nmbclusters / 2);
                        EVENTHANDLER_INVOKE(nmbclusters_change);
                } else
                        error = EINVAL;
@@ -203,6 +204,9 @@
        zone_pack = uma_zsecond_create(MBUF_PACKET_MEM_NAME, mb_ctor_pack,
            mb_dtor_pack, mb_zinit_pack, mb_zfini_pack, zone_mbuf);

+        if (nmbclusters > 0)
+                uma_zone_set_max(zone_pack, nmbclusters / 2);
+
        /* Make jumbo frame zone too. Page size, 9k and 16k. */
        zone_jumbop = uma_zcreate(MBUF_JUMBOP_MEM_NAME, MJUMPAGESIZE,
            mb_ctor_clust, mb_dtor_clust,

[ 本帖最後由 qq830406 於 2006-12-23 12:30 編輯 ]
《解決方案》

奔III/512M的機器,2.6.6內核+squid2.6(epoll),能跑40~50M的流量(全靜態)
《解決方案》

squid剛起來的時候用squidclient 取一下信息,等死了以後再取一下看看差別在哪裡~
或者可以用cacti的squid插件去繪圖,或者squidclient的web界面去看。

查看squid的cache.log日誌,看看有什麼發現,如果你沒有多文件描述符做特別的工作的話,問題基本就出在這裡。
《解決方案》

原帖由 mavsguy 於 2006-12-23 12:09 發表
奔III/512M的機器,2.6.6內核+squid2.6(epoll),能跑40~50M的流量(全靜態)

bit還是byte說清楚,一台奔三你插個千兆網卡?我不信

只有512內存,如果跑千兆,你的硬碟是多個RAID0組成的嗎?

[ 本帖最後由 qq830406 於 2006-12-23 12:31 編輯 ]

[火星人 ] squid2.6遇到嚴重問題嘍,高流量下squid進程死鎖(已解決)已經有670次圍觀

http://coctec.com/docs/service/show-post-42690.html