caching策略

我有一个5个专用服务器,每个都运行相同版本的应用程序。 我期待大量加强我们的caching策略,以减轻MySQL的负担,因为这是我们的主要瓶颈。 所有的网站都是LAMP,每个服务器有大约20个托pipe站点。 我打算使用Zend_Cache来运行caching,它有一些我可以使用的适配器 – 主要是Memcached / APC / File和SQLlite。 我有很多东西,我正在寻找caching,但他们大部分属于大型数据库结果集或HTML片段的区域。 对于HTML代码片段,基于文件的解决scheme似乎是理想的,但是许多人已经提到这可能会引入相当大的IO开销 – 特别是如果它是在大量网站上完成的话。 我也喜欢Memcached的想法,因为它的速度 – 我有一个模糊的想法,试图build立一个专门的Memcached服务器纯粹是为了处理caching,并让我所有的其他服务器使用这个虽然我不知道有多less这是一个好主意,它的速度有多less会由于RAM并没有直接在提出请求的机器上本地丢失。

最终得到一些关于不同适配器的性能(最佳性能),他们最适合什么,以及我们最好的select是什么的一些可靠build议是很好的。

谢谢。

听起来像你已经select了一个解决scheme,现在只是试图整理的细节。

我有一个5专用服务器…灯

因此,您已经在所有5台主机上运行了循环master-master mysql复制,HTTP内容通过反向代理在共享集群中提供了适当的caching指令。

大型数据库结果集或HTML片段

而且你已经对大型结果集的模式进行了优化,并且正在使用类似ESIcaching的HTTP片段。

我有一个模糊的想法,尝试设置专门的Memcached服务器纯粹是为了处理caching

撇开这个会导致单点故障的事实,这比一个具有大量结果集caching的DBMS服务器更有效率吗?

RAM的速度有多less会由于内存本身不是直接本地的而丢失的

你为什么不衡量一下,找出答案?

与mysql结果caching相比,任何基于内存的caching解决scheme都不会产生太多(任何?)的优势,如果您尝试caching大型数据集,那么您很快就会刷新一个小内存caching。

坐下来用一个电子表格,开始做一些build模,以估计可caching实体的数量和多大,以及给定一个无限大的caching可能被重用的频率。