2012-06-10 4 views
1

В последнее время я экспериментировал с увеличением производительности на моем блоге, а не только один клик исправления, но и глядя на коде в дополнении к другим вещам, как CDN, кэш и т.д.Производительность на кэш общедоступного сервера

Я говорил с моим хозяином об установке memcache, поэтому я могу включить его в W3 Total Cache, и он, кажется, думает, что это фактически помешает моему сайту, так как он мгновенно превысит мой объем использования ОЗУ (что составляет 1 ГБ).

Считаете ли вы, что он точен, и я должен попробовать? Мой блог и форум (MyBB) получают 200 000 просмотров страниц в месяц.

+0

Ваш блог настолько велик, что он заполнит этот кеш? Обычно вам не нужно столько памяти для memcache. Поэтому я бы попробовал и настроил параметры, чтобы использовать то, что доступно. –

+0

Я не уверен, что определяет размер кеша, но у нас есть 1 400 + сообщений, если это то, что вы имеете в виду. – skarz

+0

Вы можете использовать общий кэш W3 без memcaced, он будет использовать кеш файлов и все равно будет сохранять запросы БД –

ответ

4

Фактически, имея 200 000 просмотров страниц в месяц, я бы пошел в путь от «общего» хоста и купил VPS или выделенный сервер или что-то в этом роде, Memcache (d) - действительно хороший инструмент, но есть много другим способом вы можете получить лучшую производительность.

Memcached - это хорошо, если вы знаете, как правильно его использовать (общий объем кэширования w3, не выполняющий эту работу).

Как инженер-исполнитель, я думаю много о скорости, но также о загрузке сервера и т. Д. Я много работаю с сайтами wordpress и тем, что максимально повышаю производительность на своих серверах, - это генерировать HTML-страницы моих сайтов Wordpress, это приведет к 0 или минимальному доступу к самому обработчику PHP, что значительно увеличивает производительность ,

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

Что он будет делать, когда клиент запрашивает вашу страницу, он будет обслуживать уже обработанную страницу напрямую через память, что довольно быстро. Затем у вас есть TTL на ваших файлах и может составлять всего 50 секунд, что по умолчанию. 50 секунд не звучит много. Но если у вас есть просмотры страниц в 200 тыс. Страниц, это означает, что каждую минуту у вас будет 4,5 просмотров страниц, если бы у вас было одинаковое количество просмотров страниц каждую минуту. Таким образом, часы пик не учитываются.

Когда вы делаете 1 просмотр страницы, там будет много обработки происходит:

Создание первого запроса к веб-серверу, начиная процесс PHP, данные процесса, GRAP материал из БД, процесс данные, обрабатывать сайт PHP и т. д. Если мы сможем сделать это для нескольких запросов, это ускорит работу.

Часто вы также можете создать HTML-файлы своего форума, которые затем обновляются каждые 1-2 минуты, если есть запрос к файлу. это потребует обработки 1 запроса вместо 4-9 запросов (если не больше).

+0

Спасибо большое! К сожалению, выделенный сервер или VPS сейчас не находится в нашем ценовом диапазоне, но это, безусловно, мы рассмотрим. Вы знаете, совместим ли Varnish с серверами Litespeed? – skarz

+0

Если у вас есть 200 000 просмотров страниц, должен быть какой-то доход? В любом случае, я думаю, что Varnish совместим с Apache, нет причин использовать Litespeed, если у вас есть Varnish + Apache (по-моему). Сегодня многие крупные компании используют apache в качестве своего веб-сервера, вы должны быть в состоянии сделать то же самое. – LucasRolff

+1

Почему вы говорите, что W3TC Memcached не выполняет эту работу? (Я действительно делаю некоторый тест и получаю худшую производительность) – vicenteherrera

1

Вы можете ограничить объем памяти, который использует memcached. Если память превышена, самые старые записи обрезаны. В CentOS/Debian есть /etc/default/memcached, и вы можете установить максимальную память с помощью флага -m.

В моем опыте для Wordpress достаточно 64 МБ или даже 32 МБ памяти memcached, и это имеет огромное значение. Обязательно не кэшируйте целые страницы (которые заполняют кеш довольно быстро), вместо этого используйте memcache для Wordpress Object Cache.

Для обеспечения производительности: убедитесь, что у вас есть версия PHP (5.3+) и установлены APC. Для запросов к базе данных я бы пропустил W3TC и перешел непосредственно для MySQL Query Cache.

Смежные вопросы