Рейтинг:0

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

флаг ph

У меня есть веб-сайт WordPress, на котором я провел тест с большой нагрузкой. Как вы можете видеть ниже, загрузка ЦП, конечно, высока, но в то же время использование ОЗУ никогда не превышает 0,4%. Нагрузочный тест не выдает никаких ошибок, но время загрузки сайта очень долгое. Меня беспокоит то, что доступный объем оперативной памяти толком не используется. Или это низкое использование ОЗУ нормально для 10000 клиентов в секунду?

Спецификации сервера:

  • Процессор: 8-ядерный процессор AMD Ryzen 7 PRO 3700 (16 ядер)
  • Оперативная память: 64 ГБ
  • Твердотельный накопитель: 960 ГБ NVMe
  • Полоса пропускания: 1 Гбит/с
  • ОС: Ubuntu 20.04.4 LTS

Кэширование не активировано

Я получаю эти результаты с вершина команда

топ - 14:12:22 вверх 4:11, 2 пользователя, средняя загрузка: 29,49, 16,27, 7,29
Задания: 467 всего, 143 бегущих, 301 спящих, 23 остановленных, 0 зомби
%Cpu(s): 27,6 мкс, 45,5 си, 0,0 ni, 24,8 id, 0,0 wa, 0,0 hi, 2,1 si, 0,0 st
MiB Mem: всего 64306,9, 50683,7 бесплатно, 7559,5 использовано, 6063,7 бафф/кэш
Обмен МиБ: всего 7630,0, 7630,0 бесплатно, 0,0 использовано. 55881.2 доступная память

    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  37346 nginx 20 0 270356 266728 6364 R 78,1 0,4 2:19,89 nginx
  57982 фибонак+ 20 0 355720 153908 105132 S 14.0 0.2 0:03.36 php-fpm
  61772 фибонак+ 20 0 353552 150692 105776 S 14.0 0.2 0:01.26 php-fpm
   1524 mysql 20 0 9117616 192712 20468 S 13,6 0,3 1:17,50 mysqld
  57048 фибонак+ 20 0 355788 153888 105072 S 13,6 0,2 0:04,08 php-fpm
  59186 фибонак+ 20 0 353712 151920 105132 S 13,6 0,2 0:02,86 php-fpm
  61435 фибонак+ 20 0 353680 150108 105120 R 13,6 0,2 0:01,66 php-fpm
  57693 фибонак+ 20 0 355760 153964 105132 S 13,3 0,2 0:04,53 php-fpm
  59195 фибонак+ 20 0 353684 151912 105124 S 13,3 0,2 0:02,86 php-fpm
  51154 фибонак+ 20 0 357824 156160 105136 R 12,3 0,2 0:08,10 php-fpm
  51197 фибонак+ 20 0 357780 156064 105088 R 12.0 0.2 0:07.05 php-fpm
  58034 фибонак+ 20 0 355728 153616 105132 R 11.0 0.2 0:03.17 php-fpm
  51261 фибонак+ 20 0 357780 156064 105136 R 10.0 0.2 0:06.74 php-fpm
  52563 фибонак+ 20 0 358116 162056 110892 R 10.0 0.2 0:06.62 php-fpm
  57410 фибонак+ 20 0 355728 153948 105132 R 10,0 0,2 0:03,86 php-fpm
  59521 фибонак+ 20 0 351636 149816 105136 R 10,0 0,2 0:01,98 php-fpm
  60246 фибонак+ 20 0 353752 151856 105140 R 10.0 0.2 0:02.70 php-fpm
  51147 фибонак+ 20 0 357812 156156 105136 R 9,6 0,2 0:07,93 php-fpm
  51210 фибонак+ 20 0 357780 156136 105136 R 9,6 0,2 0:08,08 php-fpm
  51225 фибонак+ 20 0 357776 156112 105128 R 9,6 0,2 0:07,47 php-fpm
  51241 фибонак+ 20 0 357780 156112 105136 R 9,6 0,2 0:06,95 php-fpm
  51251 фибонак+ 20 0 357784 156072 105136 R 9,3 0,2 0:06,92 php-fpm
  51255 фибонак+ 20 0 357784 156132 105140 R 9,3 0,2 0:07,43 php-fpm
  57054 фибонак+ 20 0 355784 153952 105124 R 9,3 0,2 0:03,91 php-fpm
  57056 фибонак+ 20 0 355768 153960 105132 R 9,3 0,2 0:03,85 php-fpm
  59192 фибонак+ 20 0 353708 151508 105120 R 9,3 0,2 0:02,73 php-fpm
  61746 фибонак+ 20 0 343316 140124 105140 R 9,3 0,2 0:00,74 php-fpm
  51233 фибонак+ 20 0 357776 156112 105140 R 9.0 0.2 0:06.65 php-fpm
  51243 фибонак+ 20 0 357784 156140 105120 R 9.0 0.2 0:07.97 php-fpm
  55161 фибонак+ 20 0 355728 153988 105132 R 9.0 0.2 0:04.28 php-fpm
  57424 фибонак+ 20 0 355736 153600 105132 R 9.0 0.2 0:03.30 php-fpm
  59185 фибонак+ 20 0 353684 151496 104832 R 9.0 0.2 0:02.73 php-fpm
  51177 фибонак+ 20 0 357812 156132 105136 R 8,6 0,2 0:07,17 php-fpm
  57401 фибонак+ 20 0 355728 153620 105132 R 8,6 0,2 0:03,25 php-fpm
  51239 фибонак+ 20 0 357836 156128 105136 R 8,3 0,2 0:06,93 php-fpm
  54835 фибонак+ 20 0 357776 155544 104892 R 8,3 0,2 0:04,93 php-fpm
  61764 фибонак+ 20 0 345492 143512 105588 R 8.3 0.2 0:01.07 php-fpm
  50951 фибонак+ 20 0 357860 156164 105140 R 8.0 0.2 0:08.77 php-fpm
  51024 фибонак+ 20 0 357816 156128 105136 R 8.0 0.2 0:07.97 php-fpm
  51160 фибонак+ 20 0 357808 156156 105136 R 8.0 0.2 0:07.45 php-fpm
  54833 фибонак+ 20 0 357832 155788 104816 R 8.0 0.2 0:06.09 php-fpm
  57047 фибонак+ 20 0 355788 153864 105068 R 8.0 0.2 0:03.91 php-fpm
  59193 фибонак+ 20 0 355760 153208 105080 R 8.0 0.2 0:03.08 php-fpm
  63679 фибонак+ 20 0 260456 107648 80836 R 8.0 0.2 0:00.24 php-fpm
  63682 фибонак+ 20 0 260456 107672 80860 R 8.0 0.2 0:00.24 php-fpm
  51028 фибонак+ 20 0 357856 156068 105136 R 7,6 0,2 0:06,58 php-fpm
  53620 фибонак+ 20 0 357776 156048 105132 R 7,6 0,2 0:05,68 php-fpm
  54832 фибонак+ 20 0 357776 155968 105052 R 7,6 0,2 0:05,61 php-fpm
  55152 фибонак+ 20 0 357780 156040 105132 R 7,6 0,2 0:05,36 php-fpm
  57981 фибонак+ 20 0 355732 153596 105132 R 7,6 0,2 0:03,30 php-fpm
  58035 фибонак+ 20 0 355736 153604 105132 R 7,6 0,2 0:03,29 php-fpm
  59184 фибонак+ 20 0 353736 151484 105100 R 7,6 0,2 0:02,47 php-fpm
  59189 фибонак+ 20 0 356072 159176 110760 R 7,6 0,2 0:05,38 php-fpm
  63683 фибонак+ 20 0 260456 106668 80072 R 7,6 0,2 0:00,23 php-fpm
  51208 фибонак+ 20 0 357780 156188 105140 R 7,3 0,2 0:07,25 php-fpm
  51237 фибонак+ 20 0 357776 156184 105136 R 7,3 0,2 0:07,43 php-fpm
djdomi avatar
флаг za
никакое кэширование не может быть связано с тем, что объем памяти такой низкий;) но с какой проблемой вы действительно сталкиваетесь, в основном это вопрос или проблема, связанная с бизнесом?
флаг ph
ну, я отключил кеширование, потому что некоторые мои страницы очень динамичны. На самом деле я не сталкиваюсь с какими-либо ошибками, я просто удивлен, что использование памяти настолько мало, и я беспокоюсь, что мой сервер сможет обрабатывать запросы быстрее, если он будет использовать доступную память.
djdomi avatar
флаг za
не стесняйтесь иметь больше оперативной памяти по мере необходимости. не беспокойтесь о том, чего нет....
vidarlo avatar
флаг ar
Почему вы *думаете* использование оперативной памяти должно быть выше? Что, по вашему мнению, должно использовать больше оперативной памяти?
флаг ph
@vidarlo Я думал, что для обработки HTTP-запросов потребуется больше оперативной памяти. Я думал, что что-то не так настроено, так что есть ограничение на ОЗУ или что-то в этом роде. Но если это не так, хорошо, тогда я собираюсь использовать свободную оперативную память для чего-то другого, чтобы помочь человечеству. Например, проект распределенных вычислений, такой как DreamLab.
Рейтинг:2
флаг cn

10000 клиентов в секунду?

Какой порядок величины запросов вы на самом деле ожидаете получить? Stack Exchange, вся сеть, достигает своего пика, может быть, 5000 запросов в секунду для ~ 1,3 миллиарда просмотров страниц в месяц. Прямое сравнение затруднено, но я предполагаю, что то, что вы делаете, меньше этого.

доступный объем оперативной памяти практически не используется.

Вы правы, что большая часть вашей памяти не используется в данный момент времени. Свободных 50683 МБ много как в абсолютном выражении, так и в виде 78% от общего количества 64306 МБ. Рассматривать ли это как расточительное, щедрое выделение для роста или один размер подходит для большинства серверов на 64 ГБ, решать вам при планировании емкости.

Шестьдесят (?) процессов веб-сервера плюс некоторые другие мелочи — не проблема для 64 ГБ памяти. Обратите внимание на RES около 150 МБ каждый. Хотя теоретически это может составить 5000 МБ, учет памяти всегда сложнее, чем простые предположения, которые делают люди. Linux ленив и имеет тенденцию выделять страницы физической памяти для уникальных данных. Десятки копий одной и той же задачи хорошо "сжимаются".Особенно для рабочих нагрузок вычислительных тестов, которые, вероятно, могут увеличить нагрузку на ЦП с небольшим рабочим набором.

С большим количеством свободной памяти, но плохим временем отклика на приложение определенно есть другие факторы, ограничивающие производительность. Чтобы его найти, требуется методический подход для изучения всех аспектов системы. Все, что угодно, от параметров настройки php до других ресурсов (сети?) и проблем с параллелизмом приложений.

На практике в Linux установите символы отладки и запустите безупречный топ Знание того, какие функции выполняются на ЦП, может помочь проанализировать, что происходит глубоко в пользовательском коде или коде ядра. В идеале у вас также должно быть что-то вроде инструмента APM, который может профилировать код.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.