基于Varnish高负载Drupal网站研究.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于Varnish高负载Drupal网站研究

基于Varnish高负载Drupal网站研究   摘 要:Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成。而Varnish是一款优秀的反向代理服务器,本文就Varnish的基本使用方法配合Drupal网站做出了详细的阐述分析。   关键词:varnish;VCL;grace mode;saint mode   中图分类号:TP311.52 文献标识码:A   1 引言   网站实现以Drupal为框架开发是一个较好的选择,若要实现高负载Varnish是一个不错的选择,通过其部署相关运行环境,才能使得网站运营更加正常高效。   2 Varnish基本结构   /etc/varnish/ 存放varnish VCL配置文件   /etc/sysconfig/varnish 【CentOS】 存放varnish服务器运行的参数   /etc/default/varnish 【Ubuntu】 存放varnish服务器运行的参数   /usr/sbin/varnishd varnish服务器执行文件   /etc/init.d/varnish 运行程序   3 Varnish的相关命令   本文用到了以下几个主要的varnish管理命令[1]。   varnishadm 管理Varnish后端的工具 telnet。   varnishhist 查看Varnish命中的工具 运行可以看到一张柱状描绘图,|表示缓存命中,#表示未命中,横向代表时间。   varnishlog 实时显示varnish的请求日志。   varnishncsa 以Apache标准的格式combined输出日志。   varnishstat 查看状态、参数等。   varnishtop 类似top工具,查看varnish相关进程的资源、运行等状况。   varnishncsa 将Varnish的log以Apache的格式输出,varnishlog以原始方式显示Varnish的日志。   管理varnish以及清除内存等操作虽然可以使用varnishadm,但是本文使用telnet,一个交互的管理界面。   示例: telnet 6082之后,输入help会显示所有可用命令。   help [command]   ping [timestamp]   status   start   stop   stats   vcl.load   vcl.inline   vcl.use   vcl.discard   vcl.list   vcl.show   param.show [-l] []   param.set   quit   purge.url   purge.hash   purge [ ]...   purge.list   重新加载Varnish配置文件   telnet 6082   vcl.load newconfig /data/app/varnish/etc/varnish/default.vcl   vcl.use newconfig   注意:varnish 的CLI可能需要认证,最简单的办法就是在varnish启动的时候取掉相应的参数。   4 Varnish的缓存方式   Malloc (malloc) 通过malloc获取内存,简单,速度快。   Mmap file (file) 创建文件缓存。   这是varnish缓存的两种方式,可以在启动的时候通过参数指定。   5 Varnish处理流程   首次请求时过程如下[2]:   recv-hash-miss-fetch-deliver   缓存后再次请求:   recv-hash-hit-deliver;fetch的过程没了,这就是我们要做的,把要缓存的页面保存下来。   直接交给后端pass的情况:   recv-hash-pass-fetch-deliver;直接从后端获取数据后发送给客户端,此时Varnish相当于一个中转站,只负责转发。   6 Varnish负载均衡   通过把多台backends聚合成一个组,这些组被叫做directors。这样可以增强性能和弹力[3]。本文定义多个backends和多个group在同一个directors。   backend server1 {   .host = ;   .port = 8080 ;   }   backend server2 {   .host = ;   .port = 8080 ;   }

文档评论(0)

189****7685 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档