<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ubuntu,debian,redhat -linuxany.com &#187; Squid</title>
	<atom:link href="http://www.linuxany.com/archives/tag/squid/feed" rel="self" type="application/rss+xml" />
	<link>http://www.linuxany.com</link>
	<description></description>
	<lastBuildDate>Thu, 26 Jan 2012 08:59:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Schema: Nginx图片服务器的架构方案</title>
		<link>http://www.linuxany.com/archives/1424.html</link>
		<comments>http://www.linuxany.com/archives/1424.html#comments</comments>
		<pubDate>Wed, 20 Oct 2010 14:52:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[7.Schema]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[Cache]]></category>
		<category><![CDATA[Squid]]></category>

		<guid isPermaLink="false">http://www.linuxany.com/?p=1424</guid>
		<description><![CDATA[图片服务有两种问题，一是存储问题，二是访问量问题。 存储问题就是硬盘容量问题，花钱买硬盘就可以了，看似简单，但着实也是最苦的问题。按目前探索来看，最好的方式是：在任何时刻遇到硬盘空间不够时，买颗硬盘插上，最多改改配置，就能立刻利用；另外，硬盘要能充分利用，不然图片存储量大再加上备份，很恐怖，最好是每颗硬盘都用上100%的空间。 访问量也是个大问题，如果服务不允许防盗链，那么访问量会引起带宽、服务器压力等问题，有钱的话直接扔CDN，没钱或者有更多的钱，就自己做吧。根据垣古不变的真理“越老的图，访问量也相对较少”这一点，分成两大部分，一边处理最新的图片，一边处理老旧的图片。最新的图片访问量大，但存储量较少；老图片访问量低，但存储量大。 大概分析完了，开始制定方案。 一、拟定一个存储目录规则： 在现有的/a/b/abcde.jpg这样的hash方式下多加一个日期的目录变成：/200810/16/a/b/abcde.jpg或者/2008/10/16/a/b/abcde.jpg。按日期制定这个目录规则后，就可以按年月来拆机器了。 二、分机器，分硬盘 按之前的计划，分成两个组，一组服务器用lvs做负载均衡负责新图片；另一组服务器做旧图片访问和备份。新图机器找几台好点的服务器，SCSI硬盘；旧图机器没太大要求，PC机就行，找够硬盘就可以，现在IDE的1T硬盘也不太贵，最好再搭个raid就省事了，最主要是这些机器要多。 说明一下： 1、图片服务通过lvs作为入口，处理能力上还是有保障的。 2、利用nginx直接对外服务，不必用squid。 3、图中的红线是指主nginx会将/2006和/2007年的图片分别代理到两台存档服务器，如果发现主nginx的cpu占用比较大，那么可以考虑使用nginx的proxy_store将图片存到主服务器上，定期清理。 4、图中有一台存储分配服务器，作为图片服务更新图片的统一入口，有新图片或者修改图片的话，由这台服务器负责将图片放到正确的服务器上去。 5、旧图片服务器当前用年份来划分，每年增加两台服务器，亦可是加两块硬盘，注意，不要相信raid，一定要有两台机器，地理上分在两个城市则更好。 6、因为旧数据2006和2007年的数据基本上是没有变化的，所以假如硬盘够大，那么可以把两年的数据合并在一起。 7、如果细心定制，那么旧图片服务器的硬盘100%塞满是可以的，旧数据的容量基本上不会大幅增长，小小预留1-2G空间就可以了。 使用这个架构的话，把去年的数据想办法迁到旧图服务器上，硬盘不够的话，加硬盘就可以了。如果图片量实在太大，主服务器连一年的数据都装不下，那可以用启用月份来划分；如果一个月都装不下了，那也太夸张了，那就启用日期吧；如果一天的数据都装不下，那就&#8230;&#8230; 您还可能感兴趣的内容Schema:对163.com新架构的分析Squid查看缓存命中率使用Varnish代替Squid做网站缓存加速器的详细解决方案Varnish Cache网站加速器Nginx 让浏览器告诉你负载均衡分到了哪台服务器]]></description>
		<wfw:commentRss>http://www.linuxany.com/archives/1424.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Schema:对163.com新架构的分析</title>
		<link>http://www.linuxany.com/archives/1421.html</link>
		<comments>http://www.linuxany.com/archives/1421.html#comments</comments>
		<pubDate>Wed, 20 Oct 2010 14:46:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[7.Schema]]></category>
		<category><![CDATA[Cache]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[Squid]]></category>

		<guid isPermaLink="false">http://www.linuxany.com/?p=1421</guid>
		<description><![CDATA[实际上是app_nginx_squid_nginx的结构，nginx顶在最前面，然后后面有比nginx更多的squid。 这个架构的特点是扩展了squid的功能，并且可以将很多请求绕过squid，实际应用时仍然出现一点问题，并在此系统的超级负荷下收获了不少经验。此系统带图片的负荷每日在2亿-5亿之间，nginx代理全部机器加起来每秒处理的并发数日常总共是10000左右。 另说说每秒并发如何计算，跟据测试和对比，在web最前端每秒并发=系统的established/web server的keep alive。如果不是前端，那就不那么好算了，在这个系统中squid的established极低，不到10个，所以铁定不能从这个数字去判断了，可以使用squid的mgr:info来查看。 在这样的负荷下工作，平常运行时是没有很大的问题，就是在爆发地震性新闻那一小段时间难于招架。 于是检查了系统，发现几个问题，并相应对系统进行了优化： 1、调整nginx的超时设置 我一般都会把nginx的超时时间设得稍微长一些，免得会抛出504错误，所以一般设为5分钟，但是在高负荷下，nginx总是能探测到很多的超时，经过测试，因为nginx前端堆积过多这些超时的请求，所以nginx的cpu占用率会上涨，最后nginx前端负荷过高，但后面一级的squid应该也负荷同样多的超时请求，但它却好得很。这样看来，nginx代理在处理这些超时请求上还有待提高。所以我调整了超时设置，将超时限定为5秒，这下负载就下来了不少。因为nginx超时后会重新选择一个后端请求，所以对访问影响不大，客户端同时也不会在一个超时请求下等待过长时间，这样就更为友好。 2、将图片用nginx缓存 鉴于nginx代理会出现问题，干脆把修改率不大的图片用nginx缓存起来，直接对外访问好了。于是使用proxy_store配置了一下，图片放到 /dev/shm内存里，然后写一个shell每小时把这些图片全删掉重取。放在内存里删除文件那是快啊，那么多图片一闪就删完了。 这样做下来，nginx的负载就很低了，处理同样的并发量，load average从2直降到了0.2，这时我觉得甚至只用单台nginx都可以工作。 ps: 在实际应用中也尝试了nginx的url hash模块，发现这个模块在有squid当机时，它并不会自动切换到另一台，就这个问题看来这个模块暂时还是不好使。 您还可能感兴趣的内容Schema: Nginx图片服务器的架构方案Squid查看缓存命中率使用Varnish代替Squid做网站缓存加速器的详细解决方案Varnish Cache网站加速器Nginx 让浏览器告诉你负载均衡分到了哪台服务器]]></description>
		<wfw:commentRss>http://www.linuxany.com/archives/1421.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>squid3安装与反向代理配置</title>
		<link>http://www.linuxany.com/archives/1292.html</link>
		<comments>http://www.linuxany.com/archives/1292.html#comments</comments>
		<pubDate>Wed, 26 May 2010 15:04:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Squid]]></category>
		<category><![CDATA[proxy]]></category>

		<guid isPermaLink="false">http://www.linuxany.com/?p=1292</guid>
		<description><![CDATA[目前两台服务器，IP地址分别为 192.168.1.120&#160; squid192.168.2.50&#160; &#160; web 其中192.168.2.50提供web服务，可直接通过192.168.2.50访问该站点，现在要在192.168.1.120上安装squid来做192.168.2.50的反向代理，当用户访问192.168.1.120时，120服务器将用户的请求转给50，50响应后将响应内容转给120,然后再由120返回给用户。 1. 安装squid解压 tar zxvf squid-3.0.STABLE21.tar.gz ./configure --prefix=/usr/local/squid \--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 &#38;&#38; make install 2. 配置squid #vim /usr/local/squid/etc/squid.conf 直接在配置文件最后加入即可 #&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; # 主机名（3.0加入配置），无此项无法启动 visible_hostname 192.168.1.120 # 管理员邮箱，会显示在错误信息页面上，方便发生错误时联系！ cache_mgr webmaster@linuxany.com # 实现透明代理（squid2.7以上），其中vhost是必须的 http_port 80 vhost vport # 缓存设置 [...]]]></description>
		<wfw:commentRss>http://www.linuxany.com/archives/1292.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Squid查看缓存命中率</title>
		<link>http://www.linuxany.com/archives/733.html</link>
		<comments>http://www.linuxany.com/archives/733.html#comments</comments>
		<pubDate>Mon, 12 Jan 2009 06:57:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Squid]]></category>
		<category><![CDATA[Cache]]></category>

		<guid isPermaLink="false">http://www.linuxlaptop.cn/?p=733</guid>
		<description><![CDATA[server:/usr/local/squid/bin# ./squidclient -h www.linuxlaptop.cn -p 80 mgr:info Cache information for squid:&#160;&#160; &#160; &#160; &#160;Hits as % of all requests:&#160; &#160; &#160; 5min: 0.0%, 60min: 0.0%&#160;&#160; &#160; &#160; &#160;Hits as % of bytes sent:&#160; &#160; &#160; &#160; 5min: -0.0%, 60min: -0.0%&#160;&#160; &#160; &#160; &#160;Memory hits as % of hit requests:&#160; &#160; &#160; &#160;5min: 0.0%, 60min: 0.0%&#160;&#160; [...]]]></description>
		<wfw:commentRss>http://www.linuxany.com/archives/733.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux下DNS轮询与Squid反向代理结合</title>
		<link>http://www.linuxany.com/archives/553.html</link>
		<comments>http://www.linuxany.com/archives/553.html#comments</comments>
		<pubDate>Thu, 13 Nov 2008 20:49:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Squid]]></category>
		<category><![CDATA[DNS]]></category>

		<guid isPermaLink="false">http://www.linuxlaptop.cn/?p=553</guid>
		<description><![CDATA[一、安装反向代理服务器 1．下载反向代理服务器软件采用squid，下载地址： http://www.squid-cache.org/Versions/v2/2.2/squid-2.2.STABLE5-src.tar.gz 下载后存放在/usr/local/squid/src目录里，文件名是 squid-2.2.STABLE5-src.tar.gz ； 2．解压代理服务器软件包： 进入/usr/local/squid/src目录，键入如下命令： gzip -dc squid-2.2.STABLE5-src.tar.gz &#124; tar -xvf - 这个命令将代理服务器软件包解开，建立一个目录叫作squid-2.2.STABLE5，并且把所有的文件放在这个目录里面。 3. 编译源程序 首先运行配置脚本，以便生成适合您的机器的编译脚本。命令格式是： ./configure 这种方式产生的编译脚本编译后默认安装路径是/usr/local/squid。 如果想改变安装路径，需要用以下格式： ./configure -prefix=/some/other/directory 这种方法编译后安装到/some/other/directory里面。 生成编译脚本后，可以正式开始编译了。命令为： make 4、 安装Squid代理服务器 编译通过后，用以下命令安装： make install 安装完成后，会在您指定的安装路径里产生一个squid目录，squid目录下有三个目录：etc、bin、logs。其中etc里面是配置文件，bin里面是执行文件，logs里面是日志文件。 二、调试反向代理服务器 安装结束后就是调试服务器，使其按照您的要求工作。Squid的配置文件只有一个，在etc目录里，名字是squid.conf，所有的配置选项都在这个文件里面。而且每个配置项目都有注释说明。我们只介绍与反向代理有关的几个项目。 首先，在squid文件里面找到下列配置项： cache_mem 这里可以添上您准备给squid作为高速缓存使用的内存大小。注意，如果您的机器有N兆内存，那么，推荐您在这里添的数字是N/3。 cache_dir /usr/local/squid/cache 100 16 256 这里的第一个数字100是您准备给squid作为cache使用的硬盘空间大小，单位是兆。如果您想划100M空间当作cache,那么这里就写100。 acl, http_access, icp_access 填写”allowedip”和”allowedip1&#8243;ACL访问控制列表。这里应该填写你对外公开的服务器的IP,比如此例的两个WEB服务器对应的外部地址为202.99.157.10 和 202.99.157.18， acl manager proto cache_object acl [...]]]></description>
		<wfw:commentRss>http://www.linuxany.com/archives/553.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用tmpfs加速linux服务器</title>
		<link>http://www.linuxany.com/archives/551.html</link>
		<comments>http://www.linuxany.com/archives/551.html#comments</comments>
		<pubDate>Thu, 13 Nov 2008 20:24:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Squid]]></category>
		<category><![CDATA[tmpfs]]></category>

		<guid isPermaLink="false">http://www.linuxlaptop.cn/?p=551</guid>
		<description><![CDATA[默认系统就会加载/dev/shm ，它就是所谓的tmpfs，有人说跟ramdisk（虚拟磁盘），但不一样。象虚拟磁盘一样，tmpfs 可以使用您的 RAM，但它也可以使用您的交换分区来存储。而且传统的虚拟磁盘是个块设备，并需要一个 mkfs 之类的命令才能真正地使用它，tmpfs 是一个文件系统，而不是块设备；您只是安装它，它就可以使用了。 tmpfs有以下优势： 1。动态文件系统的大小， 2。tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在 RAM 中，读写几乎可以是瞬间的。 3。tmpfs 数据在重新启动之后不会保留，因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载，绑定的操作。 首先在/dev/stm建个tmp文件夹，然后与实际/tmp绑定 mkdir /dev/shm/tmpchmod 1777 /dev/shm/tmpmount --bind /dev/shm/tmp /tmp 1。squid的缓存目录设置 vi /etc/squid/squid.conf 修改成 cache_dir ufs /tmp 256 16 256 这里的第一个256表示使用256M内存，我觉得高性能LINUX双效防火墙HOWTO使用ramdisk的方法还不如直接使用tmpfs，至少每次启动不用mkfs，还可以动态改变大小。 然后重启一下服务，ok，现在所有的squid缓存文件都保存倒tmpfs文件系统里了，很快哦。 2。对php性能的优化 对于一个访问量大的以apache＋php的网站，可能tmp下的临时文件都会很多，比如seesion或者一些缓存文件，那么你可以把它保存到tmpfs文件。 保存seesion的方法很简单了只要修改php.ini就行了，由于我已经把/dev/stm/tmp与/tmp绑定，所以不改写也行，至于php程序产生的缓存文件那只能改自己的php程序了：） 希望我的这个方法，能对你有所启发。 您还可能感兴趣的内容Schema: Nginx图片服务器的架构方案Schema:对163.com新架构的分析squid3安装与反向代理配置tmpfs 文件系统介绍Squid查看缓存命中率]]></description>
		<wfw:commentRss>http://www.linuxany.com/archives/551.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用Varnish代替Squid做网站缓存加速器的详细解决方案</title>
		<link>http://www.linuxany.com/archives/269.html</link>
		<comments>http://www.linuxany.com/archives/269.html#comments</comments>
		<pubDate>Tue, 25 Mar 2008 13:10:12 +0000</pubDate>
		<dc:creator>x72</dc:creator>
				<category><![CDATA[1.Application]]></category>
		<category><![CDATA[Cache]]></category>
		<category><![CDATA[Squid]]></category>
		<category><![CDATA[Varnish]]></category>

		<guid isPermaLink="false">http://www.linuxlaptop.cn/index.php/archives/276</guid>
		<description><![CDATA[我看来，使用Varnish代替Squid的理由有三点： 　　1、Varnish采用了“Visual Page Cache”技术，在内存的利用上，Varnish比Squid具有优势，它避免了Squid频繁在内存、磁盘中交换文件，性能要比Squid高。 　　2、Varnish的稳定性还不错，我管理的一台图片服务器运行Varnish已经有一个月，没有发生过故障，而进行相同工作的Squid服务器就倒过几次。 　　3、通过Varnish管理端口，可以使用正则表达式快速、批量地清除部分缓存，这一点是Squid不能具备的。 　　 　　下面来安装Varnish网站缓存加速器（Linux系统）： 　　1、创建www用户和组，以及Varnish缓存文件存放目录（/var/vcache）：   /usr/sbin/groupadd www -g 48 /usr/sbin/useradd -u 48 -g www www mkdir -p /var/vcache chmod +w /var/vcache chown -R www:www /var/vcache 　　2、创建Varnish日志目录（/var/logs/）： mkdir -p /var/logs chmod +w /var/logs chown -R www:www /var/logs 　　3、编译安装varnish： wget http://blog.s135.com/soft/linux/varnish/varnish-1.1.2.tar.gz tar zxvf varnish-1.1.2.tar.gz cd varnish-1.1.2 ./configure &#8211;prefix=/usr/local/varnish make &#38;&#38; make install [...]]]></description>
		<wfw:commentRss>http://www.linuxany.com/archives/269.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

