Назад | Перейти на главную страницу

Не знаете о решении для кеширования: MemCache, Varnished, mod_cache, еще?

У меня на сервере очень тяжелый сайт. Нагрузка на сервер всегда порядка 30-50, а иногда и 150, и сервер работает очень тяжело. Я ищу решение для кеширования, которое может повысить производительность сервера и снизить нагрузку на сервер.

Но я не знаю, какое решение для кеширования мне следует использовать? Кстати, я использую Drupal CMS и у меня WHM / CPanel

Вот варианты, которые я нашел: 1- Memcached 2- Varnish 3- Apache mod_cache

Может ли кто-нибудь дать мне какое-нибудь сравнение или руководство по этим платформам? Mod_cache Apache работает так же хорошо, как Varnish? Потому что установка и настройка Varnish в cPanel / WHM несложны. Хотя очень хорошие отзывы читала о Лаке.

Я ищу лучшее решение для кеширования, которое можно легко и просто настроить. Буду признателен за любую помощь или комментарий.

Вот варианты, которые я нашел: 1- Memcached 2- Varnish 3- Apache mod_cache

Предостережения: вы знаете, почему у вас такая высокая нагрузка? Если нагрузка вызвана высокой загрузкой ЦП, необходимой для создания динамического контента, и вы можете обслуживать этот контент из кеша, то решение для кэширования может вам помочь. Но если нагрузка вызвана конфликтом ввода-вывода или если вы обслуживаете персонализированный контент, который нельзя изменить для кэширования, то решение для кеширования может не сильно помочь.

В общем, для того, чтобы кэш был эффективным, ему потребуется большой кусок памяти. Если ваша система уже ограничена памятью, то установка на нее программного обеспечения для кэширования может усугубить вашу проблему.

  • Memcached

    Сам по себе Memcached вам не поможет. То есть, в отличие от Mod_cache Varnish и Apache, Memcached - это не то, что вы можете просто встать перед существующим приложением.

    Memcached - это очень быстрое хранилище данных типа ключ / значение, которое может использоваться приложениями для ускорения различных операций. Типичным примером является база данных, которой необходимо выполнять запросы к базе данных: если можно кэшировать результаты на некоторое время, результаты могут быть обработаны с помощью memcached намного быстрее, чем с помощью внутренней базы данных.

    Если загрузка сервера в значительной степени является результатом пользовательского кода, то изменение кода для использования преимуществ memcached может принести существенную пользу.

  • Varnish и Apache mod_cache

    Оба они могут использоваться для ускорения доставки динамического контента.

    Из двух, Varnish - это специализированный инструмент, разработанный только как ускоритель контента. Он делает только одно, но по репутации делает это очень хорошо. Язык конфигурации - это C-подмножество, которое компилируется и загружается в запущенный процесс Varnish; это не хорошо и не плохо, но я предпочитаю более декларативные языки.

    Mod_cache Apache также можно использовать в качестве ускорителя содержимого. У mod_cache есть два преимущества:

    • Если вы уже используете Apache, вы знакомы с конфигурацией, используемой mod_cache.
    • Вы можете комбинировать mod_cache с другими модулями Apache (например, mod_rewrite и mod_header) для создания очень гибкой конфигурации.

    С другой стороны, ваша производительность может быть не такой хорошей, как у Varnish. На самом деле у меня нет никаких цифр, чтобы подтвердить это, но они, вероятно, там (ищите их - не верьте мне на слово!).

    Оба продукта работают лучше всего, если вы настроите свое внутреннее приложение для предоставления содержимого, удобного для кеширования. Это означает соответствующие заголовки кеширования, отсутствие файлов cookie для кэшируемого содержимого, соответствующие заголовки максимального возраста или срока действия и т. Д.

Сначала убедитесь, что вы понимаете свою проблему: выясните, что вызывает высокую нагрузку. Затем попробуйте одно или несколько из этих решений и посмотрите, что произойдет.