Как настроить сервис 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
твои друзья здесь. Вы можете увидеть, занимает ли ваша система много времени на дисковый ввод-вывод, или у вас слишком мало оперативной памяти, или проблема в сети.
Когда вы знаете, где находятся проблемные области, вы можете начать оптимизацию. Вы можете увеличить память для базы данных и уменьшить для веб-сервера, если вы видите, что кэши базы данных малы. Или увеличьте количество процессов веб-сервера, если вы видите, что очередь веб-сервера высока.
После изменения любого из системных параметров снова запустите те же тесты. Не меняйте параметры теста. Если производительность лучше, у вас есть новый базовый уровень. Снова проверьте измерители производительности, попробуйте определить другое узкое место, промойте, повторите.
Настройка производительности - это итеративный процесс, а не задача.