Varnish
luyued 发布于 2011-06-23 15:02 浏览 N 次
Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang 使用3台Varnish代替了原来的12台Squid,性能比以前更好。
Varnish 的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算机系统的内存除了主存外,还包括了CPU内的L1、L2,甚至有L3快取。硬盘上也有自己的快取装置,因此Squid Cache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作系统可以得知这些情况,所以这部份的工作应该交给操作系统处理,这就是 Varnish cache设计架构。 varnish项目是2006年发布的第一个版本0.9.距今已经四年多了,此文档之前也提过varnish还不稳定,那是2007年时候编写的,经过varnish开发团队和网友们的辛苦耕耘,现在的varnish已经很健壮。很多门户网站已经部署了varnish,并且反应都很好,甚至反应比squid还稳定,且效率更高,资源占用更少。相信在反向代理,web加速方面,varnish已经有足够能力代替squid。
编辑本段Varnish介绍
1 Varnish is HTTP accelerator. 2 Varnish stores data in virtual memory and leaves the task of deciding what is stored in memory and what gets paged out to disk to the operating system 3 The Varnish web site claims that Varnish is ten to twenty times faster than the popular Squid cache on the same hardware. 4 Varnish is heavily threaded编辑本段varnish 总体架构
2.1 总体流程 主进程 fork 子进程,主进程等待子进程的信号,子进程退出后,主进程重新启动子进程 子进程生成若干线程。 Accept 线程:接受请求,将请求挂在 overflow对列上 Work 线程: 多个,从对列上摘除请求,对请求进行处理,直到完成,然后处理下一个 请求 Epoll 线程: 一个请求处理称作一个 sesion,在 sesion 周期内,处理完请求后,会交给 Epoll 处理,监听是否还有事件发生。 Expire 线程:对于缓存的对象,根据过期时间,组织成二叉堆,该线程周期检查该堆的 根,处理过期的文件。线程之间的关系: 2.1.1 accept 线程 监听端口,接受连接。 接受后组织成 struct ses(session 结构) ,看是否有空闲的工作线程,如果有,将请求给它, pthread_cond_signal 信号通知它没有空闲线程,如果 overflow过大,则放弃该请求。否则, 将其挂在 overflow 上(需要更多工作线程,发通知)。 继续监听 2.1.2 work 线程 从 overflow队列上摘取请求(struct ses),进入状态机处理,处理结束后,通过 pipe通信, 将 struct ses发送给 epoll 线程。 2.1.3 Epoll 线程,得到传过来的 struct ses,若还没有过期,将 socket 放入 epoll 的事件中,事 件发生时,也会将其放入到 overflow中进行。
MSN空间完美搬家到新浪博客!
上一篇:2010年11月03日 下一篇:西北和华中地区女装行情分析
相关资讯
- 07-01· 禁教唐诗算术能还幼儿快
- 07-01· 2011年06月17日
- 07-01· 唐诗宋词英译:李商隐 筹
- 07-01· 仿评《唐诗1000首》第186首
- 07-01· 没事干的时候背背唐诗吧
- 07-01· [转载]唐诗中“斜”字该读
- 07-01· 湖南醴陵瓷业转型升级
- 07-01· 奇瑞风云2两厢黑色|2010款
- 07-01· 摩根士丹利华鑫摩根士丹
- 07-01· 摩根士丹利华鑫近期优选
图文资讯
最新资讯
- 07-01· 中金投行部大摩出售中金
- 07-01· 摩根士丹利招聘6月2日【实
- 07-01· 营养防病圣典
- 07-01· 《博伽梵歌原意》之第十
- 07-01· [不错]斑斓圣典---减肥中常
- 07-01· 武乐圣典《太极武当》:武
- 07-01· 铁血英雄-现阶段战功牌兑
- 07-01· 2011年06月10日【原创】南歌
- 07-01· 【淘宝网信息】- 2010年的
- 07-01· 深圳品牌女装有哪些?