Я не профессиональный администратор сервера. У меня есть сервер Ubuntu, на котором размещен веб-сайт Wordpress, для шоппинга с почти 200 пользователями в день.
Конфигурация сервера: 512 МБ памяти с твердотельным накопителем 25 ГБ. Мне нужны советы и руководства для уменьшения подпроцесса apache и mysqld, а также для увеличения скорости сервера
некоторые вещи, которые я делаю для обеспечения стабильности сервера: файл подкачки, когда память полностью занята * Перезапускайте apache и сервер MySQL каждые 1 час (используя cronjob) * Вместо использования выделенного DNS-сервера (например, BIND) я просто использую Cloudflare.
Теперь у меня есть несколько вопросов :
Вот результат команды free -m
:
total used free shared buff/cache available
Mem: 488 353 12 42 121 57
Swap: 1023 182 841
Вот снимок экрана команды htop
Ответить на Q1 & 3 - способ, которым работает апачский веб-сервер, состоит в том, что он создает новый процесс для каждого соединения с сервером. Вы можете изменить максимальное количество процессов, которые создает апач, или посмотрите то, что это - текущий максимум, находится в апачском конфигурационном файле (см. апачей документация для больше), это - действительно единственный способ изменить количество этих процессов, которые созданы. Это - просто способ, которым был построен апач. Есть известный тип DOS (Отказ в обслуживании) нападение, которое использует этот факт, названный Slowloris. Некоторые другие веб-серверы (например, Nginx) не создают отдельный процесс для каждого соединения с сервером (но это не обязательно означает, что Вы видели бы более низкое использование центрального процессора с другим веб-сервером).
, Чтобы ответить на Q2 - что-то вроде этого должно сделать то, что Вы после (произошел здесь ):
while true; do (echo "%CPU %MEM ARGS $(date)" && ps -e -o pcpu,pmem,args --sort=pcpu | cut -d" " -f1-5 | tail) >> ps.log; sleep 5; done