标签类目:Cache

开发可缓存加速的动态页面

分类:Performents  可缓存加速的动态页面–指页面内容可以被静态化,可供多个访客读取的。而传统的动态网页并不能直接实现静态化缓存处理,因为当中可能包括了一个用户信息,或与个别用户关联的信息。这些是无法进行公开缓存加速的,本文主要是提供一个开发可公开缓存页面的解决方案 :)

继续阅读 »

Schema: Nginx图片服务器的架构方案

图片服务有两种问题,一是存储问题,二是访问量问题。
存储问题就是硬盘容量问题,花钱买硬盘就可以了,看似简单,但着实也是最苦的问题。按目前探索来看,最好的方式是:在任何时刻遇到硬盘空间不够时,买颗硬盘插上,最多改改配置,就能立刻利用;另外,硬盘要能充分利用,不然图片存储量大再加上备份,很恐怖,最好是每颗硬盘都用上100%的空间。
访问量也是个大问题,如果服务不允许防盗链,那么访问量会引起带宽、服务器压力等问题,有钱的话直接扔CDN,没钱或者有更多的钱,就自己做吧。根据垣古不变的真理“越老的图,访问量也相对较少”这一点,分成两大部分,一边处理最新的图片,一边处理老旧的图片。最新的图片访问量大,但存储量较少;老图片访问量低,但存储量大。
大概分析完了,开始制定方案。

继续阅读 »

Schema:对163.com新架构的分析

实际上是app_nginx_squid_nginx的结构,nginx顶在最前面,然后后面有比nginx更多的squid。
这个架构的特点是扩展了squid的功能,并且可以将很多请求绕过squid,实际应用时仍然出现一点问题,并在此系统的超级负荷下收获了不少经验。此系统带图片的负荷每日在2亿-5亿之间,nginx代理全部机器加起来每秒处理的并发数日常总共是10000左右。


继续阅读 »

手工释放linux内存——/proc/sys/vm/drop_caches

分类:Debian    当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching。这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法。那么我来谈谈这个问题。

一、通常情况
先来说说free命令:
继续阅读 »

Squid查看缓存命中率

server:/usr/local/squid/bin# ./squidclient -h www.linuxlaptop.cn -p 80 mgr:info
Cache information for squid:
        Hits as % of all requests:      5min: 0.0%, 60min: 0.0%
        Hits as % of bytes sent:        5min: -0.0%, 60min: -0.0%
        Memory hits as % of hit requests:       5min: 0.0%, 60min: 0.0%
        Disk hits as % of hit requests: 5min: 0.0%, 60min: 0.0%
        Storage Swap size:      28 KB
        Storage Swap capacity:   0.0% used, 100.0% free
        Storage Mem size:       144 KB
        Storage Mem capacity:    0.0% used, 100.0% free
        Mean Object Size:       7.00 KB
        Requests given to unlinkd:      0

使用Varnish代替Squid做网站缓存加速器的详细解决方案

我看来,使用Varnish代替Squid的理由有三点:
  1、Varnish采用了“Visual Page Cache”技术,在内存的利用上,Varnish比Squid具有优势,它避免了Squid频繁在内存、磁盘中交换文件,性能要比Squid高。
  2、Varnish的稳定性还不错,我管理的一台图片服务器运行Varnish已经有一个月,没有发生过故障,而进行相同工作的Squid服务器就倒过几次。
  3、通过Varnish管理端口,可以使用正则表达式快速、批量地清除部分缓存,这一点是Squid不能具备的。
继续阅读 »

Varnish Cache网站加速器

Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang (vg.no) 使用3台Varnish代替了原来的12台squid,性能比以前更好。

  Varnish的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算机系统的内存除了主存外,还包括了cpu内的L1、L2,甚至有L3快取。硬盘上也有自己的快取装置,因此squid cache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作系统可以得知这些情况,所以这部份的工作应该交给操作系统处理,这就是Varnish cache设计架构。
继续阅读 »


返回顶部