varnish cache是一款开源的高性能的缓存server。和老牌的Squid对照有例如以下长处。
1:varnish是基于内存缓存数据的,所以处理速度比Squid要快。
2:varnish支持更高的并发量,而且比Squid更加稳定。
3:varnish能够通过port管理,而squid没有这个功能。
4: varnish的缺点就是假设服务down掉之后。内存的数据所有释放。
varnish 的工作模式。首先varnish有两个进程。一个管理进程,负责初始化worker进程,载入和编译vcl配置文件。初始化数据结构。 worker进程生成多个线程:处理请求的线程,管理线程池的线程,工作线程,调度线程,缓存失效时间检測线程等。一般varnish会支持两个线程池,每一个线程池最大的工作线程数为500,最小为5个。
所以能够并发连接1000个线程。
varnish处理请求的流程为 vcl_recv vcl_pass vcl_pipe vcl_hash vcl_hit vcl_miss vcl_fetch vcl_deliver