首页 > 数据库 > mysql教程 > squid3加速web服务器

squid3加速web服务器

WBOY
发布: 2016-06-07 15:05:35
原创
1300 人浏览过

测试环境: 操作系统 :centos5.0 Web 服务器 :apache2 tomcat 5.5 Jdk : j2se 1.5.5 1. 下载 squid-3.0.STABLE9.tar.gz (测试时最新的版本)。 http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE9.tar.gz 2. 添加用户及组 # useradd squid -M

测试环境:

     操作系统:centos 5.0  

     Web 服务器: apache2 tomcat 5.5

     Jdk  : j2se 1.5.5

 

1. 下载squid-3.0.STABLE9.tar.gz (测试时最新的版本)。

http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE9.tar.gz

2. 添加用户及组

# useradd squid -M -c "Squid user" -d /dev/null -s /sbin/nologin

3. 解压并编译安装

tar squid-3.0.STABLE9.tar.gz

cd squid-3.0.STABLE9

./configure --prefix=/data/squid3 --disable-carp --with-aufs-threads=32 --with-pthreads --enable-storeio='ufs,aufs, null' --enable-disk-io='AIO,Blocking' --enable-removal-policies='heap,lru'  --disable-wccp --enable-kill-parent-hack --disable-snmp --disable-poll --disable-select --enable-auth=basic --with-aio  --disable-ident-lookup --with-filedescriptors=65536 

编译参数不做详细介绍请查相关文档

Make

make install

安装完毕。

 

4. 配置

可能需要创建一些文件 这些都是配置文件中需要调用的(这个要注意文件的属主和权限)

1) [root@www ~]#cd /data/squid3/var/logs/

2) [root@www ~]#touch cache.log

3) [root@www ~]#chmod 755 cache.log

4) [root@www ~]#chown squid:squid cache.log

5) [root@www ~]#touch page_zs_access_log

6) [root@www ~]#chmod 755 page_zs_access_log

7) [root@www ~]#chown squid:squid page_zs_access_log

 

8) [root@www ~]#cd /data/squid3/etc/

9) 配置squid 配置文件 squid.conf

[root@www ~]# vi squid.conf                 (192.168.3.11 服务器ip 地址)

visible_hostname www.test.com

http_port 80 vhost vport

cache_mem 512 MB

maximum_object_size_in_memory 2048 KB

memory_replacement_policy lru

cache_dir ufs /tmp 512 16 256

max_open_disk_fds 0

minimum_object_size 0 KB

maximum_object_size 32768 KB

logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %h" "%{User-Agent}>h" %Ss:%Sh

access_log /data/squid3/var/logs/page_zs_access_log combined

pid_filename/data/squid3/var/logs/squid.pid

cache_store_log none

cache_peer 192.168.3.11 parent 81 0 no-query no-digest originserver name=www

cache_peer_domain www www.test.com

cache_peer_access www allow all

http_access allow all

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

cache deny QUERY

cache_effective_user squid

cache_effective_group squid

 

10) [root@www ~]#/data/squid3/sbin/squid -k parse

可以根据这个测试命令用来验证squid.conf 的语法和配置(下面是OK 的如果不OK 会有相应的提示根据提示来修改配置文件)

2008/10/14 21:14:56| Processing Configuration File: /data/squid3/etc/squid.conf (depth 0)

11) [root@www ~]#/data/squid3/sbin/squid -z

用来创建缓存目录

 

12) vi 一个squid.sh 的启动脚本如下:赋予可执行权限

[root@www ~]#vi squid.sh

#!/bin/sh

#

ulimit -HSn 15000

# this script starts and stops Squid

echo 15000 > /proc/sys/fs/file-max

case "$1" in

start)

          /data/squid3/sbin/squid -s

          echo -n ' Squid'

          ;;

stop)

          /data/squid3/sbin/squid -k shutdown

          ;;

esac

 

#chmod x squid.sh

5. 启动squid

[root@www ~]#./squid.sh start 就可以启动squid

 

查看有没有启动可以

[root@www ~]#ps fax|grep squid

13750 pts /3    S      0:00                      _ grep squid

30474 ?        Ss     0:00 /data/squid3/sbin/squid -s

30476 ?        S      0:01 _ (squid) -s

 

通过命令lsof -i:80 查看谁占用了80 端口

 

 

查看squid 的访问日志。

[root@www ~]# tail f /data/squid3/var/logs/page_zs_access_log

 

查看命中率及其他相关信息

[root@www ~]# /data/squid3/bin/squidclient -p 80 -h localhost mgr:info

HTTP/1.0 200 OK

Server: squid/3.0.STABLE9

Mime-Version: 1.0

Date: Tue, 14 Oct 2008 13:22:40 GMT

Content-Type: text/plain

Expires: Tue, 14 Oct 2008 13:22:40 GMT

Last-Modified: Tue, 14 Oct 2008 13:22:40 GMT

X-Cache:来自 www.6558855.com 的 MISS

通过:1.0 www.6558855.com (squid/3.0.STABLE9)

连接:关闭

 

Squid 对象缓存:版本 3.0.STABLE9

开始时间:     2008 年 10 月 14 日星期二 11:25:50 GMT

当前时间:   2008 年 10 月 14 日星期二 13:22:40 GMT

squid 的连接信息:

        数量 客户端访问缓存:      2

        数量 收到的 HTTP 请求:       772

        数量 收到 ICP 消息:        0

        数量 已发送 ICP 消息:    0

        数量 排队的 ICP 回复:   0

        数量 收到的 HTCP 消息:       0

        数量 发送的 HTCP 消息:   0

        要求 失败率:   0.00

         此后每分钟平均 HTTP 请求数 开始:   6.6

        平均ICP 自开始以来每分钟的消息数:    0.0

        选择循环 调用:7081542 次,平均 0.990 毫秒

鱿鱼的缓存信息:

        点击率% 所有请求的数量:      5分钟:0.0%,60分钟: 89.7%

        点击率% 发送的字节数:        5分钟:-0.0%,60分钟: -0.0%

        内存命中 占点击请求的百分比:       5分钟:0.0%, 60分钟:0.0%

        磁盘命中 占点击请求的百分比:5 分钟:0.0%,60 分钟:0.0%

        贮存 交换大小:      104 KB

         存储交换容量:   0.0% 使用,100.0% 免费

        存储内存 尺寸:       228 KB

        存储内存 容量:    0.0% 使用,100.0% 免费

        平均对象 尺寸:       10.40 KB

        要求 给予取消链接:      68

中位服务时间(秒)  5分钟    60 分钟:

        HTTP协议 请求(全部):   0.00000  0.00000

        缓存 未命中:          0.00000  0.00000

        缓存 点击次数:            0.00000  0.00000

        靠近 点击次数:             0.00000  0.00000

        未修改的回复:  0.00000  0.00000

        域名系统 查找:           0.00000  0.00000

        ICP 查询:           0.00000  0.00000

squid 的资源使用情况:

        向上 时间:        7009.125 秒

        中央处理器 时间:       0.948 秒

        中央处理器 用法:      0.01%

        CPU使用率, 5 分钟平均值:        0.00%

        CPU使用率, 60 分钟平均值:       0.01%

        过程 通过 sbrk() 的数据段大小:2968 KB

        最大限度 驻留大小:0 KB

        页面错误 使用物理 I/O:2

通过 mallinfo() 获取鱿鱼的内存使用情况:

        总空间 在竞技场中:    3240 KB

        普通的 块:         3194 KB     17块

        小的 块:               0 KB      0 块

        保持 块:         11472 KB     17块

        免费小号 块:          0 KB

        自由的 普通块:      45 KB

        总计 使用:           14666 KB 100%

        全部的 免费:                45 KB 0%

        全部的 尺寸:             14712 KB

内存占比:

        全部的 已计算:         3001 KB  20%

        内存池 已计算:       3001 KB  20%

        内存池 下落不明:    11710 KB  80%

        memPoolAlloc 调用:    147106

        内存池空闲 来电:     145713

squid 的文件描述符用法:

        最大限度 文件描述符的数量:   15000

        最大 当前使用的文件描述:     14

        数量 当前使用的文件描述:    8

        文件 排队等候开放:                   0

        可用的 文件描述符数量:14992

        预订的 文件描述符的数量:   100

        储存磁盘 文件打开:                    0

内部数据结构:

            45 商店条目

            41 带有 MemObjects 的 StoreEntries

            40 热门 对象缓存项

            10 磁盘上的对象

 

 

 

6。 关于动态页面的缓存。

       jsp 页面。

       利用标题jsp 服务器减压

     参与存储的jsp 加入如下程序,进行“Last-Modified ”和“过期 ”的设置;

 

长 file_lmodified = new File("/tmp/catchmodified".lastModified();

response.setBufferSize(16);

response.setDateHeader("最后修改时间", file_lmodified);

response.setDateHeader("过期", System.currentTimeMillis() / 1000 * 1000 300000);

response.flushBuffer();

%>

 

 

7。 添加自动更新记时方式

 

     [root@www ~]# vi 刷新Catch.sh

#/bin/sh

/bin/echo >/tmp/catchmodified

Chmod x 刷新Catch.sh

然后在crontab 里写一句

*/5 * * * *  /data/squid3/refreshCatch.sh

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板