Перепутанный кэширующимся решением: MemCache, Лакированный, mod_cache, еще?

Ваш беспорядок разумен - они часто - то же самое. Но не всегда. Когда Вы обращаетесь к подсистеме балансировки нагрузки, Вы обращаетесь к очень определенной вещи - сервер или устройство, которое балансирует входящие запросы через два или больше веб-сервера для распределения нагрузки. Обратный прокси, однако, обычно имеет любое количество функций:

  1. выравнивание нагрузки: как обсуждено выше

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

  3. безопасность: это может защитить веб-сервер (веб-серверы) путем предотвращения прямого доступа от Интернета; это могло бы сделать это через простые средства, просто запутав веб-сервер (веб-серверы), или это может иметь некоторые более активные компоненты, которые на самом деле рассматривают входящие запросы, ища вредоносный код

  4. Ускорение SSL: когда SSL используется; это может служить оконечной точкой для тех сессий SSL так, чтобы рабочая нагрузка контакта с шифрованием была разгружена от веб-сервера (веб-серверов)

Я думаю, что это покрывает большую часть из него, но существует, вероятно, несколько других функций, которые я пропустил. Конечно, это не редко для наблюдения устройства или части программного обеспечения, проданного как подсистема балансировки нагрузки / обратный прокси, потому что функции так обычно связываются вместе.

4
задан 23 September 2011 в 03:12
1 ответ

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

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

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

  • Memcached

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

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

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

  • Varnish и Apache mod_cache

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

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

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

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

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

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

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

10
ответ дан 3 December 2019 в 02:37

Теги

Похожие вопросы