CDN之高性能HTTP加速器Varnish的部署

本文详细介绍了CDN的基本原理和Varnish作为高性能HTTP加速器的工作原理及配置过程,包括实验环境的搭建、Varnish服务器配置、缓存命中检查、手动清除缓存、多域名站点后端服务器定义、负载均衡与健康状况测试,以及CDN推送平台的搭建。通过一系列实验展示了Varnish在提升网络性能方面的应用。
摘要由CSDN通过智能技术生成

CDN简介

CDN(Content Delivery Network)是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。
搭建CDN系统可以选择3种主流方案:
1. squid 2. varnish 3. Nginx+memcache


Varnish简介

Varnish是一款高性能的开源HTTP加速器,Varnish的功能与Squid服务器相似,都可以用来做HTTP缓存。 Verdens Gang 使用3台Varnish代替了原来的12台Squid,性能优越于Squid

Varnish工作原理图

这里写图片描述


VCL (Varnish Configuration Language)处理流程图

这里写图片描述

处理过程大致分为如下几个步骤:

(1)Receive 状态,也就是请求处理的入口状态,根据 VCL 规则判断该请求应该是 Pass 或
Pipe,或者进入 Lookup(本地查询)。
(2)Lookup 状态,进入此状态后,会在 hash 表中查找数据,若找到,则进入 Hit 状态,否则进入 miss 状态。
(3)Pass 状态,在此状态下,会进入后端请求,即进入 fetch 状态。
(4)Fetch 状态,在 Fetch 状态下,对请求进行后端的获取,发送请求,获得数据,并进行本地
的存储。
(5)Deliver 状态, 将获取到的数据发送给客户端,然后完成本次请求。


加速工作过程

工作流程大致如下:

当varnish上没有缓存时:
这里写图片描述
当varnish上有缓存数据的时候:
这里写图片描述


实验环境

三台虚拟机+一台真实主机

主机名 IP 服务
server1 172.25.7.1 Varnish
server2 172.25.7.2 Apache
server3 172.25.7.3 Apache
foundation7 172.25.7.250 Client

实验一: 配置varnish服务器

server1
1.下载安装varnish软件包

http://varnish-cache.org/releases/
这里写图片描述
2.修改varnish的监听端口

[root@server1 ~]# vim  /etc/sysconfig/varnish 
66 VARNISH_LISTEN_PORT=80
# 设置为监听80端口

3.修改配置文件

修改安全限制文件,保证流量大时,服务正常运行

打开文件的最大数,有如下关系:

内核操作> 操作系统> 软件

内核允许的打开文件最大数

[root@server1 ~]# sysctl -a |grep file
fs.file-nr = 416    0   98862
fs.file-max = 98862

varnish软件的打开文件最大数
这里写图片描述
默认数量大于内核操作的文件数目.故做如下修改:

[root@server1 varnish]# vim  /etc/sysconfig/varnish 
8 NFILES=96666

操作系统允许的最大数目:
根据此文件的参数修改内存空间和线程数,文件数应该介于上述两者之间

[root@server1 ~]# vim  /etc/sysconfig/varnish 

这里写图片描述
作出如下修改:


[root@server1 ~]# vim  /etc/security/limits.conf 
varnish         -       nofile           96667
varnish         -       memlock          82000
varnish         -       nproc            unlimited

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值