接着,真正的工作开始,Varnish cache的某个负责接受新HTTP连接的线程开始等待用户,如果有新的HTTP连接过来,它总负责接收,然后叫醒某个等待中的线程,并把具体的处理过程交给它。Worker线程读入HTTP请求的URI,查找已有的object,Varnish cache反向网站快取服务器,http://www.varnish-cache.org,如果命中则直接返回并回复用户。如果没有命中,则需要将所请求的内容,从后端服务器中取过来,存到缓存中,然后再回复。配缓存的过程是这样的:它根据所读到object的大小,创建相应大小的缓存文件。为了读写方便,程序会把每个object的大小变为最接近其大小的内存页面倍数。然后从现有的空闲存储结构体中查找,找到最合适的大小的空闲存储块,分配给它。Varnish cache反向网站快取服务器如果空闲块没有用完,就把多余的内存另外组成一个空闲存储块,挂到管理结构体上。如果缓存已满,就根据LRU机制,把最旧的object释放掉。
Varnish cache是一套高效能的反向网站快取服务器。Varnish目前被用在挪威最大的报社Verdens Gang上。Varnish cache的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。Varnish cache项目是2006年发布的第一个版本0.9.距今已经八年多了,此文档之前也提过Varnish cache还不稳定,那是2007年时候编写的,经过Varnish cache开发团队和网友们的辛苦耕耘,现在的Varnish cache已经很健壮。很多门户网站已经部署了Varnish cache,并且反应都很好,甚至反应比squid还稳定,且效率更高,资源占用更少。相信在反向代理,网络加速方面,Varnish cache已经有足够能力代替squid。
挪威,电脑网络,Varnish cache反向网站快取服务器官网:http://www.varnish-cache.org