производительность — Как я могу проверить / увидеть объем памяти скрипта PHP?

В WordPress, WP_Query Класс может быть вызван с определенными аргументами для извлечения сообщений (данных) из вашей базы данных. К сожалению, сам объект большой, и если он получает 300-400 сообщений, он становится беспокойным довольно быстро, потому что, предположим, вы храните это WP_Query и его недавно найденные посты в массиве, он становится довольно большим, я вижу, что он потребляет ~ 30-40 Мб моей памяти на локальном хосте, который уже является мощной машиной, поэтому я решил протестировать на своей серверной машине, немного меньшее использование памяти, так как он работает под управлением Linux, но все тот же.

Теперь представьте, что у меня 800 сообщений. Это очень, очень реальная и часто встречающаяся возможность, черт возьми, я видел много сайтов клиентов с большим количеством постов.

Очевидно, что мой сценарий превысит, во-первых, время выполнения на плохом хосте и, во-вторых, если он когда-либо здесь достигнет, исчерпание памяти.

Я вроде знаю, как решить эту проблему, и добился очень хорошего успеха, но я полностью ослеп, просто глядя на различия между потреблением памяти в диспетчере задач.

Нет ли инструментов, которые отображают потребление памяти определенного скрипта вместе со временем его выполнения? XDEBUG показывает только время выполнения.

2

Решение

Чтобы посмотреть в целом, если у меня есть доступ через SSH или что-то, я обычно использую top команда (для коробок linux). Здесь приведен список всех видов команд, связанных с проверкой памяти:
https://www.cyberciti.biz/faq/linux-check-memory-usage/

Еще одна вещь, которую я использовал, это плагин: https://wordpress.org/plugins/wp-server-stats/
Тем не менее, он только скажет вам, сколько оперативной памяти доступно / используется. Это недостаточно детально, чтобы сказать вам, какой скрипт использует память.

И, наконец, один из моих любимых плагинов для диагностики проблем с запросами:
https://wordpress.org/plugins/query-monitor/

Дайте мне знать, если они не предоставляют достаточно конкретных деталей, и мы можем углубиться в это 🙂

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector