Squid最佳化完全手冊(2)(轉)
Squid最佳化完全手冊(2)(轉)[@more@]三、 使用reiserfs檔案系統有人做過測試,在相同條件下,如果cache分割槽使用reiserfs檔案系統,效能要比使用ext2的高出20%,所以我們將在cache分割槽中採用reiserfs檔案系統。在上一步中,我們已經在核心中提供了對 reiserfs的支援,下面我們要做的,就是將原來的cache分割槽重新格式化成reiserfs檔案系統。首先從ftp://ftp.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.x.0j.tar.gz下載reiserfs檔案系統相關工具reiserfsprogs,然後解開該檔案:tar xvzf reiserfsprogs-3.x.0j.tar.gz進入新生成目錄,執行:./configuremakemake install這將生成mkreiserfs、reiserfsck、debugreiserfs、resize_reiserfs四個reiserfs的工具。完成後我們將reiserfs工具安裝成功了。這時,假設原來的cache分割槽為/dev/sda7,所裝載的目錄為/cache,在對其格式化之前,我們要先umount 原來的分割槽:umount /cahce對分割槽格式化,我們執行:mkreiserfs –h r5 /de/sda7完成後我們修改/etc/fstab,將/cache一行改為:/dev/sda7 /cache reiserfs notail,noatime 0 0然後重啟動。四、 重新編譯squid經過大量的測試表明:squid-2.2.STABLE5+hno補丁的組合要比2.3或者是其他版本的squid都要穩定的多、效率也要高的多,如果您不相信可以自己化幾天時間做一下測試。所以我們將採用這個版本的squid。首先從下載squid-2.2.STABLE5-src.tar.gz,從下載squid-2.2.STABLE5-hno.20000202.snapshot.gz補丁,然後分別解開這兩個包:tar xvzf squid-2.2.STABLE5-src.tar.gzgunzip –d squid-2.2.STABLE5-hno.20000202.snapshot.gz然後打補丁:cd squid-2.2.STABLE5patch –p1 < ../ squid-2.2.STABLE5-hno.20000202.snapshot接下來,就可以開始編譯squid了,在採用非同步io(多執行緒模式)之外,我們本著這樣一個原則:那就是去掉一切不需要的功能,如下所示:./configure --prefix=/usr --exec_prefix=/usr --bindir=/usr/sbin --libexecdir=/usr/lib/squid --localstatedir=/var --sysconfdir=/etc/squid --mandir=/usr/share/man --enable-async-io=20 --disable-icmp --disable-delay-pools --disable-mem-gen-trace --disable-useragent-log --enable-kill-parent-hack --disable-arp-acl --enable-poll --disable-ident-lookupsmakemake install其中,--enable-async-io=20說明我們採用非同步io,並採用18個執行緒。編譯透過後,我們就可以開始配置squid了。五、 最佳化squid配置以下是我的squid.conf及相關解釋:#取消對代理陣列的支援icp_port 0#對日誌檔案和pid檔案位置進行設定cache_store_log nonecache_access_log /var/log/squid/access.logcache_log /var/log/squid/cache.logemulate_httpd_log onpid_filename /var/run/squid.pid#設定執行時的使用者和組許可權cache_effective_user squidcache_effective_group squid#設定管理資訊visible_hostname proxy.yxtc.edu.cncache_mgr bye2000@yxtc.edu.cn#設定監聽地址和埠http_port 3128tcp_incoming_address x.x.x.xudp_incoming_address x.x.x.x#見下面補充說明cache_mem 32 MBcache_dir /cache 6000 14 256#設定cache物件超時時間reference_age 3 months#訪問控制設定acl mynet src 192.168.1.0/255.255.255.0acl all src 0.0.0.0/0.0.0.0http_access allow mynethttp_access deny all#透明代理設定httpd_accel_host virtualhttpd_accel_port 80httpd_accel_with_proxy onhttpd_accel_uses_host_header on#swap 效能微調half_closed_clients offcache_swap_high 100%cache_swap_low 80%maximum_object_size 1024 KB#見補充說明refresh_pattern -i .html 1440 90% 129600 reload-into-imsrefresh_pattern -i .shtml 1440 90% 129600 reload-into-imsrefresh_pattern -i .hml 1440 90% 129600 reload-into-imsrefresh_pattern -i .gif 1440 90% 129600 reload-into-imsrefresh_pattern -i .swf 1440 90% 129600 reload-into-imsrefresh_pattern -i .jpg 1440 90% 129600 reload-into-imsrefresh_pattern -i .png 1440 90% 129600 reload-into-imsrefresh_pattern -i .bmp 1440 90% 129600 reload-into-imsrefresh_pattern -i .js 1440 90% 129600 reload-into-ims補充說明:1.cache_mem 32 MB注意:cache_mem並不是squid所能使用記憶體的大小,而是squid使用者hot object的實體記憶體的大小,所以這個值可以小一些。2.cache_dir /cache 6000 14 256對於第一級子目錄和第二級子目錄的計算方法,可以參考筆者以前的文章《用LINUX架設代理伺服器(上)(中)(下)》;3.refresh_pattern -i .html 1440 90% 129600 reload-into-ims等這幾句其實是強行控制物件的超時時間,這違反了http協議的精神,但是在頻寬較窄的場合,可以提高明顯系統相應時間。4.注意/cache目錄及日誌檔案的許可權,其所有使用者和所有組必須為squid;5.可以採用rpm包的指令碼/etc/rc.d/init.d/squid控制squid,也可以採用squid命令控制,具體可以參考squid –h
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-940648/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux完全自學手冊Linux
- SQL 最佳化手冊SQL
- 十分鐘玩轉3D繪圖:WxGL完全手冊3D繪圖
- 您有一份ThreadLocal完全解析手冊thread
- MaxPHP(原Yao框架)完全開發手冊PHP框架
- JavaScript完全參考手冊第3版pdfJavaScript
- 小程式 音訊API採坑完全手冊音訊API
- [譯] Swift 網路單元測試完全手冊Swift
- Global.asa程式設計完全參考手冊程式設計
- oracle函式手冊(轉)Oracle函式
- 你還沒有聽過React不完全手冊???React
- squidUI
- squid 代理轉發內網伺服器UI內網伺服器
- ORACLE分析函式手冊(轉)Oracle函式
- ORACLE分析函式手冊二(轉)Oracle函式
- Room Database完全使用手冊OOMDatabase
- 你所不知道的前端效能優化不完全手冊前端優化
- ES6 完全使用手冊
- React V16入門手冊(2)React
- 2-如何檢視技術手冊
- sql語句的程式設計手冊(轉)SQL程式設計
- 國金證券研究:2021全國碳市場完全手冊(附下載)
- Sensor Tower:應用商店最佳化指導手冊(附下載)
- 手冊
- 【轉】[C#] NVelocity 使用者手冊 英文原版C#
- [Python手撕]完全平方數Python
- AppUse(Android測試平臺)使用者手冊 v2-2APPAndroid
- 前端手冊前端
- Redis手冊Redis
- SparkSQL手冊SparkSQL
- MongoDB手冊MongoDB
- Spring學習手冊 2:Spring MVC 匯出excel表格SpringMVCExcel
- [轉]如何完全解除安裝WSL
- Linux伺服器---squid限制Linux伺服器UI
- CentOS搭建squid正向代理教程。CentOSUI
- RedHat Advance Server上安裝Oracle 9204 RAC參考手冊(轉)RedhatServerOracle
- 【KakaJSON手冊】02_JSON轉Model_02_資料型別JSON資料型別
- Nmap速查手冊
- JVM指令手冊JVM