Я новичок в управлении серверами, и раньше я использовал общий хостинг и думал перейти на 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, и я хочу знать, нужна ли для этого какая-то настройка.
Пожалуйста, дайте мне знать, что можно сделать, чтобы настроить мой веб-сайт.
Обычно вопросы «Как настроить» в значительной степени зависят от множества движущихся частей, и, если настройки по умолчанию очень неправильные, не имеют однозначного ответа. Ответы придется искать самостоятельно. И, вероятно, ваши проблемы с производительностью связаны с базой данных или веб-сервером, а не с memcached.
Лучший способ добиться наилучшей настройки - это протестировать, измерить, оптимизировать, протестировать, измерить, оптимизировать и повторить. Если вы не определите узкие места, никакая оптимизация не улучшит производительность.
Например, вы выделили 4 Гб для memcached. Если вы не сможете определить, что memcached страдает из-за нехватки памяти, производительность не увеличится, и вы потенциально отвлечете память, которая, вероятно, поможет базе данных или веб-серверу, возможно, снизив производительность.
Перед любой оптимизацией запустите серию тестов производительности, чтобы создать исходный уровень. Это очень важно, и без твердой базовой линии вы не можете с уверенностью сказать, улучшает ли производительность какая-либо оптимизация. Верните все файлы конфигурации к значениям по умолчанию, перезагрузите компьютер и выполните стресс-тест. Используйте любой хороший генератор нагрузки (Apache JMeter - хороший), создайте тестовый пример и запустите тест в течение разумного времени. Хороший тестовый пример можно создать, просмотрев файлы журнала вашего веб-сервера.
Имея на руках базовый план, используйте инструменты мониторинга производительности, чтобы увидеть, где ваш сервер видит большую потребность. iostat
, vmstat
, iotop
, monit
и nmon
твои друзья здесь. Вы можете увидеть, занимает ли ваша система много времени дисковый ввод-вывод, или у вас слишком мало оперативной памяти, или проблема в сети.
Когда вы знаете, где находятся проблемные места, вы можете приступить к оптимизации. Вы можете увеличить объем памяти для базы данных и уменьшить для веб-сервера, если увидите, что кэш базы данных низкий. Или увеличьте количество процессов веб-сервера, если вы видите, что очередь веб-сервера высока.
После изменения любого из параметров системы запустите тот же самый снова тесты. Не меняйте никаких параметров теста. Если производительность лучше, у вас есть новый базовый уровень. Еще раз проверьте измерители производительности, попробуйте определить другое узкое место, промойте и повторите.
Настройка производительности - это итеративный процесс, а не задача.