Varnish+Xcache构建高性能WEB构架初探

volkswageos 2011-01-28 06:27:16
摘要
本文主要讲述web优化方案和缓存工具的调研及使用。根据目前的测试结果来看,采用varnish+xcache作为 apache和php缓存这种架构具有高并发、高稳定性,易扩展等优点,服务器的动态请求处理能力是之前的7倍之多。

背景描述
通过分析发现,目前对服务器的负载主要是在cpu使用方面,随着流量的增加瓶颈也将出现在cpu方面,而内存和IO方面都不是问题。针对这样的情况,我们就要研究怎么去降低cpu的负载,消除或降低系统的瓶颈。

业务特点分析
U 服务采用的是LAMP(Linux Apache mysql php)架构,而服务本身的逻辑比较简单,就是根据不同的url返回特定的页面内容,而这些页面内容基本是不会变的。整个过程是由php动态完成的,不需 要和其他服务器交互。在一个请求的响应过程中,系统cpu的消耗基本都在php处理上面。我们要做的就是尽量减少php的动态处理。

优化方案调研
性能优化通常的方法是采用缓存策略。根据U服务的业务特点,优化主要从两个方面进行,php缓存和前端缓存,原理图如下:


Php缓存调研
每次HTTP请求PHP页面时,PHP代码都会被解析和翻译为操作码(PHP 引擎直接执行的原语指令--类似于汇编语言)再执行。在要求很低或可忽略的情况下,服务器看上去能立即执行这个复杂的解释过程。但是一旦处理的页面增加, 重复工作就会对服务器造成很大的负担。在某些情况下,“编译”PHP代码的时间会远远超过执行该代码所需的时间,并且会对服务器负载造成很大压力。Php 缓存主要是缓存opcode,避免重复编译PHP代码。目前针对php的内存缓存策略主要有 memcache 、 eAccelerator 、 xcache 和 APC 。Memcache是一种基于网络的缓存策略,是 一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检 索的结果等

因长度受限:http://hi.baidu.com/ops_bd/blog/item/83601d38e33ffcd17c1e71ca.html
...全文
142 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

19,613

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧