您现在的位置:主页 > 服务器 > 代理服务器 >

Squid优化完全手册代理服务器教程

来源:新2备用网址hg622.com|首页吧 责任编辑:Jzq8 发表时间:2011-12-25 点击:次
Squid优化完全手册(1)

出自:

一、?概述
  squid是一款优秀的open?source的代理服务器软件,可以运行于多种系统平台上,但是同其他商业化的产品相比,其缺点也是很明显的,那就是它的命中率和效率相对低下。

  本文主要讨论在不改变硬件条件之下,通过以下手段对squid进行性能优化:

1.?编译一个高效的、精简的新内核;
2.?对Cache分区采用reiserfs日志文件系统;
3.?重新编译squid;
4.?优化squid配置;

  对于优化的效果,我使用大名鼎鼎的cacheflow公司的测试工具——cfmc进行测试比较:

  首先用cfmc自带的一个脚本,从squid.conf的access.log中抽出RUL,然后以这些RUL为依据进行测试。

  服务器配置:

型号:HP?LH3
CPU:PII450?
内存:256MB?100MHz?ECC?SDRAM?DIMM
硬盘:9.1GB?Hot-Swap?Ultra2?Hard?Disk
网卡:Ethernet?Express?PRO?100?10/100M?X?2
操作系统:RedHat?7.1

  优化前测试结果:

Iteration?0:?Cumulative?statistics;?933?seconds?elapsed
Total?objects:?72599,?total?object?size:?513211102?bytes
Average?object?size:?7069?bytes
Average?object?response?time:?2707?milliseconds
Objects?per?second:?77.81
Bytes?per?second:?550065,?min:?550065,?max:?879873
URLs?discarded?due?to?socket?or?connection?failures:?6955
Redirections:?1017,?Cookied?objects:?1036
Pragma?no-cache?objects:?1656,?Non-200?HTTP?response?codes:?2505

  优化后测试结果:

Iteration?0:?Cumulative?statistics;?688?seconds?elapsed
Total?objects:?72599,?total?object?size:?403833100?bytes
Average?object?size:?5562?bytes
Average?object?response?time:?1890?milliseconds
Objects?per?second:?105.52
Bytes?per?second:?586966,?min:?586966,?max:?995582
URLs?discarded?due?to?socket?or?connection?failures:?16372
Redirections:?1658,?Cookied?objects:?1000
Pragma?no-cache?objects:?1454,?Non-200?HTTP?response?codes:?3132

  通过对以上测试结果的比较,我们可以看出:

  优化后的Objects?per?second增加了35.6%,Average?object?response?time减少了43.2%,对整体性能的提升还是比较明显的。

二、?编译新内核
  我们采取这样的方式来编译内核:取消内核的模块支持,将服务器所有的硬件驱动编译到内核中,此外还要注意将对reiserfs文件系统的支持也编译到内核中,从而在提供系统性能的同时增加系统安全性。在2.4.10以上的版本中,已经内置了对reiserfs文件系统的支持。

  首先从>http://www.kernel.org/pub/linux/kernel/v2.4/[/url]下载linux-2.4.12.tar.gz,这是当前最新的内核。

  然后解开内核文件:

tar?xvzf?linux-2.4.12.tar.gz

  进入新生成的目录并执行:

cd?linux
make?mrproper
make?config

  根据我的服务器的配置,我选择这样编译内核:

*?Code?maturity?level?options
Prompt?for?development?and/or?incomplete?code/drivers?(CONFIG_EXPERIMENTAL)?[Y/n/?]
*?Loadable?module?support
Enable?loadable?module?support?(CONFIG_MODULES)?[N/y/?]
*?Processor?type?and?features
Processor?family?(386,?486,?586/K5/5x86/6x86/6x86MX,?Pentium-Classic,?Pentium-MM
X,?Pentium-Pro/Celeron/Pentium-II,?Pentium-III/Celeron(Coppermine),?Pentium-4,?K
6/K6-II/K6-III,?Athlon/Duron/K7,?Crusoe,?Winchip-C6,?Winchip-2,?Winchip-2A/Winch
ip-3,?CyrixIII/C3)?[Pentium-Pro/Celeron/Pentium-II]
*?General?setup
Networking?support?(CONFIG_NET)?[Y/n/?]
PCI?support?(CONFIG_PCI)?[Y/n/?]
PCI?access?mode?(BIOS,?Direct,?Any)?[Any]
defined?CONFIG_PCI_GOANY
PCI?device?name?database?(CONFIG_PCI_NAMES)?[Y/n/?]
System?V?IPC?(CONFIG_SYSVIPC)?[Y/n/?]
Sysctl?support?(CONFIG_SYSCTL)?[Y/n/?]
Kernel?core?(/proc/kcore)?format?(ELF,?A.OUT)?[ELF]
defined?CONFIG_KCORE_ELF
*?Plug?and?Play?configuration
Plug?and?Play?support?(CONFIG_PNP)?[Y/n/?]
*?Block?devices
Normal?PC?floppy?disk?support?(CONFIG_BLK_DEV_FD)?[Y/n/?]
*?Networking?options
Kernel/User?netlink?socket?(CONFIG_NETLINK)?[Y/n/?]
Routing?messages?(CONFIG_RTNETLINK)?[Y/n/?]
Network?packet?filtering?(replaces?ipchains)?(CONFIG_NETFILTER)?[Y/n/?]
Unix?domain?sockets?(CONFIG_UNIX)?[Y/n/?]
TCP/IP?networking?(CONFIG_INET)?[Y/n/?]
IP:?advanced?router?(CONFIG_IP_ADVANCED_ROUTER)?[Y/n/?]
IP:?policy?routing?(CONFIG_IP_MULTIPLE_TABLES)?[Y/n/?]
IP:?use?netfilter?MARK?value?as?routing?key?(CONFIG_IP_ROUTE_FWMARK)?[Y/n/?]
IP:?fast?network?address?translation?(CONFIG_IP_ROUTE_NAT)?[Y/n/?]
IP:?equal?cost?multipath?(CONFIG_IP_ROUTE_MULTIPATH)?[Y/n/?]
*?IP:?Netfilter?Configuration
Connection?tracking?(required?for?masq/NAT)?(CONFIG_IP_NF_CONNTRACK)?[Y/n/?]
FTP?protocol?support?(CONFIG_IP_NF_FTP)?[Y/n/?]
IP?tables?support?(required?for?filtering/masq/NAT)?(CONFIG_IP_NF_IPTABLES)?[Y/n/?]
limit?match?support?(CONFIG_IP_NF_MATCH_LIMIT)?[Y/n/?]
Multiple?port?match?support?(CONFIG_IP_NF_MATCH_MULTIPORT)?[Y/n/?]
Connection?state?match?support?(CONFIG_IP_NF_MATCH_STATE)?[Y/n/?]
Packet?filtering?(CONFIG_IP_NF_FILTER)?[Y/n/?]
Full?NAT?(CONFIG_IP_NF_NAT)?[Y/n/?]
REDIRECT?target?support?(CONFIG_IP_NF_TARGET_REDIRECT)?[Y/n/?]
LOG?target?support?(CONFIG_IP_NF_TARGET_LOG)?[Y/n/?]
ATA/IDE/MFM/RLL?support?(CONFIG_IDE)?[Y/n/?]
*?IDE,?ATA?and?ATAPI?Block?devices
Enhanced?IDE/MFM/RLL?disk/cdrom/tape/floppy?support?(CONFIG_BLK_DEV_IDE)?[Y/n/?]
Include?IDE/ATA-2?DISK?support?(CONFIG_BLK_DEV_IDEDISK)?[Y/n/?]
Use?multi-mode?by?default?(CONFIG_IDEDISK_MULTI_MODE)?[Y/n/?]
Include?IDE/ATAPI?CDROM?support?(CONFIG_BLK_DEV_IDECD)?[Y/n/?]
*?SCSI?support
SCSI?support?(CONFIG_SCSI)?[Y/n/?]
*?SCSI?support?type?(disk,?tape,?CD-ROM)
SCSI?disk?support?(CONFIG_BLK_DEV_SD)?[Y/n/?]
Maximum?number?of?SCSI?disks?that?can?be?loaded?as?modules?(CONFIG_SD_EXTRA_DEVS)?[8]
*?Some?SCSI?devices?(e.g.?CD?jukebox)?support?multiple?LUNs
Enable?extra?checks?in?new?queueing?code?(CONFIG_SCSI_DEBUG_QUEUES)?[Y/n/?]
*?SCSI?low-level?drivers
AMI?MegaRAID?support?(CONFIG_SCSI_MEGARA
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    评价:
    表情:
    验证码:点击我更换图片 匿名?

    今日头条

    更多>>

    推荐图文

    • 安全基础之代理服务器知识菜鸟普及篇
    • 代理服务器WinGate教程
    • 什么是SOCK5代理,什么是HTTP代理
    • 代理服务器CCProxy 软件教程
    • 利用squid反向代理提高网站性能
    • 不知道大家遇到过这个问题没?代理服务器教程
    • 使用Squid实现反向代理
    • FreeBSD内核级透明代理(IPFILTER)代理服务器教程
    • squid的安装代理服务器教程
    Alexa - 客户服务 - 联系方法 - 招聘信息 - 友情链接 - 网站地图 - TAG标签 - RSS订阅
    Copyright ? 2010-2012 JZQ8.COM. 新2备用网址hg622.com|首页吧|新2备用网址hg622.com|首页去吧 版权所有
    冀ICP备09002514号
    冀ICP备09002514号 网络报警 企业法人营业执照 中国互联网协会 支付宝付款 网银在线付款