Какой тип сайтов ускоряет работу memcached - PullRequest
1 голос
/ 27 марта 2010

Я читал эту статью о 400% увеличении вашего сайта . Это делается с помощью комбинации nginx и memcached. Практическая часть этого сайта довольно хорошая, но мне не хватает той части, где говорится, к каким типам веб-сайтов это относится.

Я знаю, что nginx - это http-движок, мне это не нужно объяснять.

Я думал, что memcached имеет какое-то отношение к результату кэширования базы данных. Однако я не понимаю, как это связано с запросом http, может кто-нибудь объяснить мне это.

Другой вопрос, который у меня есть, для каких типов сайтов это используется. У меня есть веб-сайт, где важная часть веб-сайта состоит из данных, которые часто меняются. Часто это минуты.

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

Ответы [ 2 ]

1 голос
/ 27 марта 2010

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

В конкретной статье, на которую вы ссылаетесь, описывается использование nginx вместо Mongrel httpd, обычно используемого для веб-сайтов Rails.фреймворк.memcached используется для кэширования результатов динамических страниц, которые используют строки запросов для генерации динамического контента;в этом конкретном случае использования страница, по-видимому, каждый раз будет генерировать идентичные результаты с одинаковой строкой запроса, поэтому значительный выигрыш в производительности можно получить, просто обходя генерацию сервера приложений и кэшируя отображаемый HTML-код в memcached.Заглавный заголовок статьи не дает сценария использования, подходящего для всех (или даже большинства) динамических веб-страниц.Но если у вас есть страницы, требующие большого объема вычислений и возвращающие одинаковые результаты с одинаковыми параметрами для всех пользователей (общедоступные результаты поиска - хороший пример), это решение даст вам значительное повышение производительности.

1 голос
/ 27 марта 2010

Из memcached FAQ :

Добавление поддержки memcached к вашему Приложение может быть много работы. MySQL имеет удобную функцию кэширования запросов который автоматически кеширует результаты ваших запросов SQL, делая они намного быстрее на повторных прогонах. Как memcached сравнивается с этим? Кеш запросов MySQL централизован, поэтому его преимущества видны всем серверам подключиться к нему.

  • Кэш запросов MySQL сбрасывается при изменении таблицы. Вы можете хранить
    пункт memcached для минимальной суммы времени, но если вы получите много
    запись трафика, кеш запросов MySQL
    будут постоянно истекать все
    записи

  • Кэш запросов MySQL имеет проблемы с масштабируемостью для многих процессоров. Добавляет
    глобальная блокировка, и она становится медленнее
    должен сбросить больше запросов.

  • Вы не можете хранить произвольные объекты данных в кеше. Вы можете построить гораздо более эффективные кеши с
    Memcached. Запустить несколько отдельных
    запросы на создание пользовательского объекта, сборка пользовательский объект, затем кэшируйте его.
    Кеш запросов MySQL может помочь маленькому
    сайты, но могут принести больше вреда, чем пользы в масштабе.

  • Память ограничена количеством свободной оперативной памяти в вашей базе данных. Это
    гораздо приятнее дать вашей базе больше RAM для кеширования данных :) С memcached
    Вы разложили кластер везде, где
    у вас есть запасная память, так что вы можете
    кеш намного больше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...