Как уменьшить количество подпроцессов и процесс mysql и apache2 на сервере Ubuntu

Я не профессиональный администратор сервера. У меня есть сервер Ubuntu, на котором размещен веб-сайт Wordpress, для шоппинга с почти 200 пользователями в день.

Конфигурация сервера: 512 МБ памяти с твердотельным накопителем 25 ГБ. Мне нужны советы и руководства для уменьшения подпроцесса apache и mysqld, а также для увеличения скорости сервера

некоторые вещи, которые я делаю для обеспечения стабильности сервера: файл подкачки, когда память полностью занята * Перезапускайте apache и сервер MySQL каждые 1 час (используя cronjob) * Вместо использования выделенного DNS-сервера (например, BIND) я просто использую Cloudflare.

Теперь у меня есть несколько вопросов :

  1. Какие еще варианты и методы я могу использовать, чтобы уменьшить рабочий процесс или увеличить скорость сервера?
  2. иногда сервер использует 100% процессорного времени ... но я не знаю, какой процесс вызывает это. Как я могу регистрировать процессы, которые используют 100% процессорного времени (это возможно?)
  3. и обычное явление? Вопрос в том, что mysqld и apache используют эту часть подпроцесса?

Вот результат команды free -m:

          total        used        free      shared  buff/cache   available

          Mem:   488   353    12    42   121    57

          Swap:  1023  182    841

Вот снимок экрана команды htop

enter image description here enter image description here enter image description here

0
задан 2 September 2019 в 09:37

1 ответ

Ответить на 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
1
ответ дан 23 October 2019 в 03:38

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

Похожие вопросы: