Как настроить сервис memcached

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

RAM: 12GB
CPU: 4 Core Intel E5
SSD: 300GB
Server: Apache
OS: Ubuntu 16.04
PHP: 7.0 FCGI
Stack: Virtualmin
Script: Wordpress
Number of website: 1(Going to host 5 more websites if server can withstand with it)
Cache plugin: W3 Total Cache

Я установил memcached на свой VPS и хочу настроить его так, чтобы он быстрее обслуживал статические файлы. Поскольку я не знаю, что можно сделать, я включил мой memcached файл:

# Run memcached as a daemon
-d

# Log memcached's output to /var/log/memcached
logfile /var/log/memcached.log

# Start with a cap of 4096 megs of memory
-m 4096

# Default connection port is 11211
-p 11211

# Run the daemon as memcache
-u memcache

# Specify which IP address to listen on.
-l 127.0.0.1

Причина настройки: лучшая производительность и при работе 5 сайтов WordPress. Я покупаю всплывающий трафик, который составляет 1000-3000 за 1 минуту. Итак, я хочу сервер каждой страницы из memcached, и я хочу знать, есть ли какая-то настройка, необходимая для этого

Пожалуйста, дайте мне знать, что можно сделать, чтобы настроить мой сайт.

1 ответ

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

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

Например, вы выделили 4 Гб для memcached. Если вы не можете определить, что memcached страдает из-за нехватки памяти, производительность не увеличится, и вы потенциально отвлекаете память, которая, вероятно, поможет базе данных или веб-серверу, возможно, повредит производительности.

Перед любой оптимизацией запустите серию тестов производительности, чтобы создать базовый уровень. Это очень важно, и без твердой основы вы не можете точно сказать, улучшает ли какая-либо оптимизация производительность. Верните все файлы конфигурации к значениям по умолчанию, перезагрузите компьютер и выполните его стресс-тестирование. Используйте любой хороший генератор нагрузки (Apache JMeter - хороший), создайте тестовый пример и запустите тест в течение разумного времени. Хороший тестовый пример можно построить, посмотрев файлы журналов вашего веб-сервера.

Имея базовые показатели, используйте инструменты мониторинга производительности, чтобы увидеть, где ваш сервер испытывает большую потребность. iostat, vmstat, iotop, monit а также nmon твои друзья здесь. Вы можете увидеть, занимает ли ваша система много времени на дисковый ввод-вывод, или у вас слишком мало оперативной памяти, или проблема в сети.

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

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

Настройка производительности - это итеративный процесс, а не задача.

Другие вопросы по тегам