| squid開(kāi)發(fā)團隊在發(fā)布了squid3S1之后宣布了squid2.7分支,很明顯squid2.7應該是squid2的最后一個(gè)分支,一個(gè)過(guò)渡到squid3之前的一個(gè)分支,事實(shí)上,squid2.7是在squid2-HEAD這個(gè)版本基礎上的一個(gè)分支,squid2-HEAD的一個(gè)重要改進(jìn)就是嘗試使用store_copy()代替了memcpy(),這大大提高了squid的性能。對squid2.7而言,另外一個(gè)重要的改進(jìn)就是HTTP1.1的支持,不過(guò),squid的開(kāi)發(fā)者說(shuō),目前的squid對HTTP1.1的支持還是相當Primitive的,不過(guò),這個(gè)已經(jīng)是相當大的一個(gè)進(jìn)步了,因為原來(lái)squid開(kāi)發(fā)團隊計劃最早在squid3.1分支里支持HTTP1.1。為什么我這么關(guān)心squid是否支持HTTP1.1,因為HTTP1.1相比HTTP1.0的確有很多相當有吸引力的改進(jìn) 。 在使用squid2.7之后你會(huì )發(fā)現用IE通過(guò)squid訪(fǎng)問(wèn)諸如sina、163之類(lèi)的網(wǎng)站時(shí)會(huì )出現問(wèn)題,因為squid2.7對于HTTP1.1的處理已經(jīng)跟以前版本的不一樣了,解決辦法有三個(gè): 1、修改IE的設置:不要使用“通過(guò)代理連接使用HTTP1.1” 2、調整squid.conf:在http_port xxxx 后面加上http11 3、去掉squid2.7中的HTTP1.1的支持,把這個(gè)patch中所作的修改去掉 TCmalloc全稱(chēng)是Thread-Caching malloc,作者宣稱(chēng)tcmalloc相對于glibc2.3 malloc(aka ptmalloc2)有6倍的性能提高,tcmalloc的常用場(chǎng)景是用于加速MySQL,不過(guò)據Wikipedia的hacker Domas Mituzas說(shuō),tcmalloc不僅僅對MySQL起作用,對squid也同樣起作用,不過(guò)目前squid并沒(méi)有official way來(lái)使用tcmalloc(個(gè)人估計tcmalloc的支持會(huì )在squid3.x中出現),所以如果要在現有版本中使用tcmalloc,需要對squid源代碼做一定的修改,我用的是最簡(jiǎn)單的方法,修改Makefile: 先安裝tcmalloc,然后正常configure squid,然后修改src/Makefile,在squid_LDADD后面加上-ltcmalloc,在LDADD后面也加上-ltcmalloc,正常編譯,運行,然后執行lsof -n|grep tcmalloc,如果已經(jīng)link到tcmalloc了,一般的輸出如下: squid 3593 root mem REG 8,1 188140 7094281 /usr/local/lib/libtcmalloc.so.0 squid 3595 squid mem REG 8,1 188140 7094281 /usr/local/lib/libtcmalloc.so.0 unlinkd 3596 squid mem REG 8,1 188140 7094281 /usr/local/lib/libtcmalloc.so.0 |
聯(lián)系客服