HTTP加速软件使用说明
http加速软件使用于卫星链路,在卫星链路时延高的情况下提高http的传输速率
1.1 软件包依赖
(1)squid-3.4.5.tar.gz
(2)trafficserver-5.3.0.tar.gz
(3)libecap-1.0.0.tar.gz
(4)prefetched.tar.gz
(5)extract.sh
(6)setup_precompile
(7)squid-ecap-zip.tar.gz
(8)squid.conf
(9)ecap_adapter_prefetch-1.0.0.tar.gz
1.2软件的安装
(1)依赖库安装
安装zlib、zlib-devel库
# yum -y install zlib zlib-devel
安装libxml2、libxml2-devel库
# yum -y install libxml2 libxml2-devel
编辑/ect/ld.so.conf文件
添加以下内容
执行以下命令
# ldconfig
(2)安装ecap库
解压ecap库
# tar xzvf libecap-1.0.0.tar.gz
进入解压好的目录
# cd libecap-1.0.0
进行配置并安装
# make distclean
# ./configure
# make && make install
(3)注意:
查看/usr/local/lib/下是否有libxml2目录,执行以下命令
# cd /usr/local/lib
# ll | grep libxml2
若显示有libxml2,则将libxml2下的libxml文件夹移至上层目录
执行以下命令
# cd /usr/local/lib/libxml2/
# mv libxml ../
(2)安装squid
修改系统文件描述符的限制
编辑/etc/security/limits.conf,在文件末尾加入一下内容
重启操作系统,并执行一下命令
# ulimit -n
显示数字为65536则表示修改成功
生成squid编译前的配置文件
将 extract.sh 和 setup_precompile放在同一目录下,执行如下操作:
执行后在当前目录下会生成config.sh
l 解压squid,并编译、安装
# tar xzvf squid-3.5.4.tar.gz
将上一步中产生的config.sh放入解压后的目录中
# cd squid-3.5.4.tar.gz
# ./config.sh
# make && make install
安装完成后,squid会在/usr/local/目录下
(3)安装ecap插件
- 安装gzip插件
# tar xzvf squid-ecap-gzip-master.tar.gz
# cd squid-ecap-gzip-master
# make distclean
# ./configure
# make && make install
- 安装prefetch插件
# tar xzvf ecap_adapter_prefetch-1.0.0.tar.gz
# cd ecap_adapter_prefetch-1.0.0
# make distclean
# ./configure PKG_CONFIG_PATH =/usr/local/lib/pkgconfig/
# make && make install
插件会安装在/usr/local/lib/下
- 安装prefetchd程序
#tar xzvf prefetchd.tar.gz
#cd prefetchd
#make distclean
#make
make之后会生成守护进程prefetchd
(4)安装trafficserver
#yum install ssl tcl-devel
# tar xzvf trafficserver.tar.gz
# cd trafficserver.tat.gz
# ./configure --prefix=/usr/local/ts
#make && make install
1.3 软件启动
主站
(1)启动squid
#useradd squid
#chown squid:squid /$suqidHome/var/log/
#mkdir /var/cache1
#chown squid:squid /$chache
#cd /usr/local/squid
#cp ./etc/squid.conf ./etc/squid.conf.bak
#将修改后的squid.conf文件copy到/usr/local/squid/etc下
#/usr/local/squid/sbin/squid -z
#/usr/local/squid/sbin/squid
小站
(2)修改配置文件
编辑/etc/resolv.conf,加入一下内容
nameserver 127.0.0.1
trafficserver的配置文件在/usr/local/ts/etc目录下
编辑主配置文件records.conf,修改一下内容
①指定监听端口为3128
CONFIG proxy.config.http.server_ports STRING 3128
②开启ts的push功能
CONFIG proxy.config.http.push_method_enabled INT 1
③开启缓存
CONFIG proxy.config.http.cache.http INT 1
④关闭请求头限制
CONFIG proxy.config.http.cache.required_headers INT 0
⑤开启父代理
CONFIG proxy.config.http.parent_proxy.file STRING parent.config
CONFIG proxy.config.http.parent_proxy_routing_enable INT 1
⑥配制成正向代理模式
CONFIG proxy.config.url_remap.remap_required INT 0
CONFIG proxy.config.reverse_proxy.enabled INT 0
CONFIG proxy.config.url_remap.pristine_host_hdr INT 0
CONFIG proxy.config.dns.nameservers STRING NULL
CONFIG proxy.config.http.no_dns_just_forward_to_parent INT 1
编辑ip_allow.conf,添加一下内容
src_ip=192.168.1.200 action=ip_allow method=ALL
意思是对于来自192.168.1.200的任何HTTP方法都予以通过,若不增加改句话则会导致prefetchd的push操作出现问题。
编辑parent.conf文件,加入一下内容,指定父代理为192.168.1.200的3128端口
dest_domian=. parent="192.168.1.200:3128" round_robin=false
启动trafficServer
bin/trafficserver start
清理缓存
bin/traffic_server -Cclear
(3)在主站上启动prefetchd进程
系统优化配置
二.squid命中率分析
/usr/local/squid/bin/squidclient -p 80 mgr:info
/usr/local/squid/bin/squidclient -p 80 mgr:5min
可以看到详细的性能情况,其中PORT是你的proxy的端口,5min可以是60min
取得squid运行状态信息: squidclient -p 80 mgr:info
取得squid内存使用情况: squidclient -p 80 mgr:mem
取得squid已经缓存的列表: squidclient -p 80 mgr:bjects. use it carefully,it may crash
取得squid的磁盘使用情况: squidclient -p 80 mgr:diskd
三、定期清除swap.state内无效数据
/path/to/squid/sbin/squid -k rotate -f /path/to/squid/squid.conf
编辑/etc/sysctl.conf文件,加入以下内容
保存后执行sysctl -p 命令使修改生效