Подтвердить что ты не робот

Memcache (d) против лака для ускорения трехуровневой веб-архитектуры

Я пытаюсь ускорить мой тест (трехуровневая веб-архитектура), и у меня есть некоторые общие вопросы, связанные с Memcache (d) и Varnish.

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

  • Можно ли использовать оба? Лак на переднем веб-сервере и Memcached для кэширования базы данных?

  • Что такое лучший вариант?

    (сценарий 1 - в основном пишут,
    сценарий 2 - в основном читается,
    сценарий 3 - чтение и запись аналогичны)

4b9b3361

Ответ 1

  • Лак находится перед веб-сервером; он работает как обратный http-прокси, который кэширует.
  • Вы можете использовать оба.
  • В основном писать - лак должен будет пострадать от постраничных страниц. Это приведет к накладным расходам и небольшим преимуществам для измененных страниц.
  • В основном прочитано - Varnish, вероятно, покрывает большую часть этого.
  • Подобное чтение и запись - Varnish будет обслуживать много страниц для вас, Memcache предоставит информацию для страниц, на которых есть смесь известных и новых данных, позволяющих быстрее генерировать страницы.

Пример, который может применяться к stackoverflow.com: добавление этого комментария недействило кеш страницы, поэтому эту страницу нужно будет очистить от Varnish (а также мою страницу профиля, которая, вероятно, не стоит кэшировать для начала). для аннулирования всех затронутых страниц может быть проблемой). Все комментарии, однако, все еще находятся в Memcache, поэтому базе данных нужно написать этот комментарий. Для создания страницы ничего не нужно делать с помощью базы данных. Все комментарии вытаскиваются Memcache, и страница перехватывается, пока кто-то не влияет на нее снова (возможно, путем голосования моего ответа). Опять же, база данных записывает голосование, все остальные данные извлекаются из Memcache, а жизнь - быстро.

Memcache сохраняет вашу БД от выполнения большой работы по чтению, Varnish сохраняет ваш динамический веб-сервер из загрузки процессора, заставляя вас генерировать страницы реже (а также облегчает загрузку db, если не для Memcache).

Ответ 2

Мой опыт исходит от использования Varnish с Drupal. Как можно проще, вот как я бы ответил:

В общем, Varnish работает для трафика без аутентификации (через cookie), а memcached кэширует аутентифицированный трафик.

Так что используйте оба.