当前位置: 首页 > 编程笔记 >

squid3缓存服务器编译安装和高命中率配置示例

金皓君
2023-03-14
本文向大家介绍squid3缓存服务器编译安装和高命中率配置示例,包括了squid3缓存服务器编译安装和高命中率配置示例的使用技巧和注意事项,需要的朋友参考一下

今天对我的varnish进行了下小小的压力测试,40s里的8000并发,没有失败一个,估计还可以承受更大的并发,先不说varnish了,我最近找到个命中率很高的squid的配置文件,当然是squid3.0的配置文件,有需要的可以copy回去自己改。

系统:centos 5.x
需要的软件:squid-3.0.STABLE25.tar.gz

1.下载squid


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

tar zxf squid-3.0.STABLE25.tar.gz && cd squid-3.0.STABLE25

2.编译squid



./configure --prefix=/usr/local/squid \

--enable-async-io=100 \

--with-pthreads \

--enable-storeio="aufs,diskd,ufs" \

--enable-removal-policies="heap,lru" \

--enable-icmp \

--enable-delay-pools \

--enable-useragent-log \

--enable-referer-log \

--enable-kill-parent-hack \

--enable-arp-acl \

--enable-default-err-language=Simplify_Chinese \

--enable-err-languages="Simplify_Chinese English" \

--disable-poll \

--disable-wccp \

--disable-wccpv2 \

--disable-ident-lookups \

--disable-internal-dns \

--enable-basic-auth-helpers="NCSA" \

--enable-stacktrace \

--with-large-files \

--disable-mempools \

--with-filedescriptors=65536 \

--enable-ssl \

--enable-x-accelerator-var

make make install make install-pinger

3.配置squid


cp /usr/local/squid/etc/squid.conf /usr/local/squid/etc/squid.conf.old

>/usr/local/squid/etc/squid.conf

ln -s /usr/local/squid/etc/squid.conf /etc/squid.conf

squid.conf里的内容:



#accel listen port

http_port 80 accel vhost vport

#accel domain

cache_peer xx.xx.xx.xx parent 80 0 no-query originserver no-digest name=a

cache_peer_domain a blog.slogra.com

 

#acl

acl manager proto cache_object

acl localhost src 127.0.0.1/255.255.255.255

acl SSL_ports port 443 563

acl Safe_ports port 80       # http

acl Safe_ports port 8080

acl LanSrc src all

acl LanDst dst all

acl LanDstDM dstdomain blog.slogra.com

 

acl CONNECT method CONNECT

http_access allow manager localhost

http_access deny manager

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

http_access allow LanSrc

http_access allow LanDst

http_access allow LanDstDM

http_access deny   all

 

#base

visible_hostname blog.slogra.com

cache_mgr rocdk890@gmail.com

cache_effective_user squid

cache_effective_group squid

 

error_directory /usr/local/squid/share/errors/Simplify_Chinese

icon_directory /usr/local/squid/share/icons

mime_table /usr/local/squid/etc/mime.conf

 

cache_replacement_policy lru

#cache_dir

cache_dir aufs /var/cache1 32768 64 64

cache_dir aufs /var/cache2 32768 64 64

cache_mem 2048 MB

max_open_disk_fds 0

#maximum_object_size 512 KB

#maximum_object_size_in_memory 256 KB

maximum_object_size 20 MB

maximum_object_size_in_memory 8 MB

 

#keepalived

client_persistent_connections off

server_persistent_connections on

#persistent_request_timeout 60 seconds

 

#memory_pools on

#memory_pools_limit 64 MB

 

forwarded_for on

log_icp_queries off

 

via off

httpd_suppress_version_string off

 

ie_refresh off

tcp_recv_bufsize 32 KB

 

#acl webservices rep_header Server -i ^linuxtoneWS ^Apache ^nginx

#broken_vary_encoding allow webservices

 

#hidden the squid header

#reply_header_access Server deny all

#reply_header_access X-Cache deny all

#reply_header_access Warning deny all

#reply_header_access Expires deny all

#reply_header_access Cache-Control deny all

#reply_header_access age deny all

#reply_header_access All deny all

 

ipcache_size 1024

ipcache_low 90

ipcache_high 95

 

memory_replacement_policy lru

 

hosts_file /etc/hosts

request_header_max_size 128 KB

 

#deny cache

hierarchy_stoplist cgi-bin ? \.php

acl QUERY urlpath_regex cgi-bin\? \.php

cache deny QUERY

 

#request_body_max_size 0 KB

 

refresh_pattern ^ftp:           60      20%     10080

refresh_pattern ^gopher:        60      0%      1440

refresh_pattern .               0       20%     1440

refresh_pattern -i \.css$       360    50%     2880    reload-into-ims

refresh_pattern -i \.js$        1440    50%     2880    reload-into-ims

refresh_pattern -i \.html$        720   50%     1440    reload-into-ims

refresh_pattern -i \.jpg$       1440    90%     2880    ignore-reload

refresh_pattern -i \.gif$       1440    90%     2880    ignore-reload

refresh_pattern -i \.swf$       1440    90%     2880    ignore-reload

refresh_pattern -i \.jpg$       1440      50%     2880    ignore-reload

refresh_pattern -i \.png$       1440      50%     2880      ignore-reload

refresh_pattern -i \.bmp$       1440      50%     2880      ignore-reload

 

refresh_pattern -i \.doc$ 1440    50%     2880      ignore-reload

refresh_pattern -i \.ppt$ 1440    50%     2880      ignore-reload

refresh_pattern -i \.xls$ 1440    50%     2880      ignore-reload

refresh_pattern -i \.pdf$ 1440    50%     2880      ignore-reload

refresh_pattern -i \.rar$       1440    50%     2880      ignore-reload

refresh_pattern -i \.zip$ 1440    50%     2880      ignore-reload

refresh_pattern -i \.txt$ 1440    50%     2880      ignore-reload

 

quick_abort_min 20 KB

quick_abort_max 20 KB

quick_abort_pct 95

 

connect_timeout 1 minute

negative_ttl 0 minutes

read_timeout 30 seconds

pconn_timeout 120 seconds

shutdown_lifetime 5 seconds

strip_query_terms off

 

#snmp

#snmp_port 3401

#acl snmppublic snmp_orgmunity snsimg

#snmp_access allow snmppublic localhost

#snmp_access deny all

 

icp_port 0

 

# logfile

emulate_httpd_log on

#logformat combined %{X-Forwarded-For}>h %ui %un [%tl] “%rm %ru HTTP/%rv” %Hs %<st “%{Referer}>h” “%{User-Agent}>h” %Ss:%Sh

#access_log none

#access_log /data/logs/access.log combined

logformat squid  %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt

access_log /var/log/squid/access.log squid

#cache_store_log /var/log/squid/store.log

cache_store_log /dev/null

cache_log /var/log/squid/cache.log

logfile_rotate 12

 

# MISCELLANEOUS

store_objects_per_bucket 15

client_db off

4.创建目录



/usr/sbin/groupadd squid

/usr/sbin/useradd -g squid squid

mkdir -p /var/log/squid

chown -R squid:squid /var/log/squid

mkdir -p /var/{cache1,cache2}

chown -R squid:squid /var/{cache1,cache2}


初始化squid的cache目录

/usr/local/squid/sbin/squid -z


启动squid

/usr/local/squid/sbin/squid -D


如果大家不喜欢这样的启动方式,可以自己去找个squid的启动脚本,这里就不放出了.当squid运行起来了之后,大家可以使用下面这个命令来查看命中率:

/usr/local/squid/bin/squidclient -p 80 mgr:info


好了,具体其他squid的使用命令就只能你们自己去搜了,就到这里了.

 类似资料:
  • 配置、编译和安装 编译以及安装 qemu 前需要使用 (表示qemu解压缩路径)下面的 configure 脚本生成相应的配置文件等。而 configure 脚本有较多的参数可供选择,可以通过如下命令进行查看: configure --help 实验中可能会用到的命令例如: configure --target-list="i386-softmmu" # 配置qemu,可模拟X86-32硬

  • 本文向大家介绍Ubuntu 下安装和配置 FTP服务器,包括了Ubuntu 下安装和配置 FTP服务器的使用技巧和注意事项,需要的朋友参考一下 FTP(文件传输协议)是一个较老且最常用的标准网络协议,用于在两台计算机之间通过网络上传/下载文件。然而, FTP 最初的时候并不安全,因为它仅通过用户凭证(用户名和密码)传输数据,没有进行加密。 警告:如果你打算使用 FTP, 需要考虑通过 SSL/TL

  • 本文向大家介绍linux下编译安装memcached服务,包括了linux下编译安装memcached服务的使用技巧和注意事项,需要的朋友参考一下 系统:Ubuntu 13.10 第一步:安装libevent-dev 第二步:下载memcached并安装 官网地址:http://memcached.org/ 第三步:启动memcached 第三步:检查是否安装成功 常用命令 启动memcached

  • 问题内容: 如何在Ubuntu上编译/安装node.js?失败,并显示错误消息。 问题答案: 一线 安装所有必需的依赖项(curl和git并不是真正需要的,但是非常有用,如果通过nvm安装也需要)。 并非总是需要最后两个依赖项,但是无论如何安装它们确实很有用,而且以后可能也需要它。 仅安装 cxx编译器 如果 openssl 丢失

  • NPU编译器目前只支持Python2环境下安装和使用。 安装gxDNN工具链 pip install npu_compiler 更新gxDNN工具链 pip install --upgrade npu_compiler 查看工具链版本 安装或更新完成后,可以使用如下命令查看当前工具链的版本号。 gxnpuc --version

  • 工欲善其事,必先利其器。想要学好 Go 语言,肯定要有一个趁手的开发工具,Go 语言的开发工具有很多种,本文会给大家介绍一种使用面积最广泛、免费且开源的 Go 语言开发工具—— VSCode。 1. VSCode的简介 VSCode (Visual Studio Code)是微软在 2015 年 4 月 30 日 Build 开发者大会上发布的一款开源、免费而且可以跨平台使用的代码编辑器,其具有使