LINUX.ORG.RU
ФорумAdmin

Подскакивает нагрузка на веб-сервер

 ,


0

1

Nginx+Apache2+Mysql.

Наблюдаю иногда вот такую картину (как на скрине ссылкой ниже). Видно что все ресурсы забиваются I/O апача. Такие всплески рандомны. Длятся около 5-10 минут. При этом поситителей на сайте не так уж и много.

DDoS маловероятен, так как всего по 5-10 минут идут всплески. Логи апача тоже пусты на это время. Дисковая подсистема состоит из softRAID 10 из 4 NVMe так что производительности должно хватать.

Что может быть?

Скрин из htop: http://images.vfl.ru/ii/1515409977/0e5817c7/20061240.png

Смотри логи апача, может там перед масаракшем какой-то волшебный запрос прилетает который заставляет приложение творить мракобесие

MrClon ★★★★★
()
Ответ на: комментарий от FluffyPillow

КМК в совокупности с красной загрузкой в htop (т.е. системные вызовы) и загрузкой io, получается что все процессы сильно лазят по диску. Если чтения/записи в коде сайтов реально нет, то значит они свопятся. Возможно забитость свопа приводит к каким-то неоптимальным переносам данных. Попробуй своп увеличить.

anonymous
()

Очень большое потребление свопа при том, что программами занята только половина памяти.

Если есть примонтированные файловые системы tmpfs, посмотри, не забиты ли они, и если забиты, то чем.

squareroot ★★★★
()
Ответ на: комментарий от squareroot

Да нормально вроде.

Filesystem                                  Size  Used Avail Use% Mounted on
udev                                         63G     0   63G   0% /dev
tmpfs                                        13G  1.3G   12G  11% /run
/dev/md2                                    930G  525G  358G  60% /
tmpfs                                        63G   12K   63G   1% /dev/shm
tmpfs                                       5.0M     0  5.0M   0% /run/lock
tmpfs                                        63G     0   63G   0% /sys/fs/cgroup
/dev/md0                                    941M   62M  815M   8% /boot


FluffyPillow
() автор топика
Ответ на: комментарий от FluffyPillow

Он забивается в любом размере.

Так он у тебя очень маленький для такой оперативки. 6% всего.

Кажись алгоритмы управления не очень такое любят

anonymous
()
Ответ на: комментарий от FluffyPillow

Вообще раньше часто встречался совет своп=оперативка×2, но я не уверен, насколько это оправдано на сервере

XMs ★★★★★
()
Ответ на: комментарий от FluffyPillow

Может он вообще не нужен. Т.е. загрузка возникает из-за обмена с диском. Возможно если его вообще исключить, то проблема уйдёт.

Там у тебя ещё и mysql по диску ползает.

anonymous
()
Ответ на: комментарий от FluffyPillow

Попробуй тогда swappiness уменьшить,

echo 10 > /proc/sys/vm/swappiness
по дефолту он вроде 60, и когда 40% памяти занято, наименне используемые страницы уже начинают в своп лететь.

squareroot ★★★★
()
Последнее исправление: squareroot (всего исправлений: 2)
Ответ на: комментарий от FluffyPillow

Тогда нужно максимально уменьшить его использование, как выше советуют.

anonymous
()
Ответ на: комментарий от zuzzas

Согласен, насчет 40% это не факт, забыл уже все :/ Но в любом случае, своп должен менее агрессивно использоваться, если этот коэффициент уменьшить.

squareroot ★★★★
()

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

sudo -i
apt install linux-tools-common
perf record -a --call-graph dwarf -F 99 -e 'cpu-clock:Ik' # Ctrl+C, как проблема исчезнет. Лучше не более 10 секунд снимать.
perf report --stdio > trace.txt

Можно и сам perf.data мне скинуть. Удобнее было бы посмотреть.

zuzzas
()
Ответ на: комментарий от anonymous

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

annulen ★★★★★
()
Ответ на: комментарий от annulen

У него полоперативки свободно.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.