混淆caching解决scheme:MemCache,Varnished,mod_cache,其他?

我在我的服务器有一个非常沉重的网站。 服务器的负载总是大约30-50,有时甚至是150,服务器工作真的很难。 我正在寻找一个caching解决scheme,可以提高服务器的性能,并减less服务器的负载。

但是我不知道应该使用哪个caching解决scheme? 顺便说一下,我使用Drupal CMS,我有WHM / CPanel

这里是我发现的选项:1 – Memcached 2 – 清漆3 Apache的mod_cache

有人可以给我一些关于这些平台的比较或指导吗? Apache的mod_cache是​​否可以像Varnish一样工作? 因为在cPanel / WHM中安装和configurationVarnish并不复杂。 虽然我读了关于清漆的很好的评论。

我正在寻找可以直接configuration并且不复杂的最佳caching解决scheme。 我将不胜感激任何帮助或评论。

这里是我发现的选项:1 – Memcached 2 – 清漆3 Apache的mod_cache

警告:你知道为什么你的负荷如此之高吗? 如果负载是由生成dynamic内容所需的高CPU负载所引起的,并且您可以从caching中提供该内容,则caching解决scheme可能会对您有所帮助。 但是,如果负载是由I / O争用引起的,或者如果您提供的个性化内容不能修改为caching,则caching解决scheme可能没有多大帮助。

一般来说,caching需要大量的内存才能有效。 如果你的系统已经受到内存限制,那么把caching软件放在它上面可能会加剧你的问题。

  • Memcached的

    Memcached本身不会帮助你。 也就是说,与Varnish和Apache的mod_cache不同的是,Memcached不是简单地站在现有应用程序前面的东西。

    Memcached是一个非常快速的键/值数据存储,可以被应用程序用来加速各种操作。 一个常见的例子是需要进行数据库查询的数据库:如果在一定的时间内caching结果是可以的,那么memcached的结果可能会比后端的数据库快得多。

    如果你的服务器负载很大程度上是自定义代码的结果,那么修改你的代码来利用memcached可以带来很大的好处。

  • 清漆和Apache的mod_cache

    这两个都可以用来加速dynamic内容的传递。

    在这两者中,Varnish是一个专门devise的内容加速器。 它只做一件事,但是由于声誉,它做得很好。 configuration语言是一个C子集,它被编译并加载到正在运行的Varnish进程中; 这本身并不好或坏,但我更喜欢更多的声明性语言。

    Apache的mod_cache也可以用作内容加速器。 mod_cache有两个好处:

    • 如果您已经在运行Apache,那么您将熟悉mod_cache所使用的configuration。
    • 您可以将mod_cache与其他Apache模块(例如,mod_rewrite和mod_header)结合起来,创build一个非常灵活的configuration。

    另一方面,你的performance可能不如油漆所提供的。 我实际上没有任何数字来支持,但他们可能在那里(找他们 – 不要听我的话!)。

    如果您调整后端应用程序以提供caching友好的内容,则两种产品都可以发挥最佳效果。 这意味着适当的caching标题,可caching的内容没有cookie,适当的最大年龄或过期标题等。

确保你首先了解你的问题:找出造成高负荷的原因。 然后尝试一个或多个这些解决scheme,看看会发生什么。