18
Лют
0

Вывод информации о нагрузке блога на WordPress

Вывод информации о нагрузке блога на WordPress

В последнее время меня стали спрашивать о том, как я вывожу в футере информацию о нагрузке блога при генерации страницы. Я имею ввиду число запросов к MySQL базе, время генерации страницы и число затраченной на это памяти. В основном, конечно, спрашивают о памяти, так как код показа числа запросов и времени генерации встроен в дефолтный шаблон WordPress , хоть по умолчанию и закомментирован. Очень сразу скажу, что память считается функцией memory_get_usage и я понятия не имею, как именно она работает. Скажем, не секрет, что последние версии WordPress даже при выделенных 32Мб памяти частенько не хотят работать, а впрямь поэтому число, выводимое функцией memory_get_usage ставит меня в тупик: необыкновенно во-первых, на локальном сервере функция выводит число потребляемой памяти раза в 4 большее, чем на хостинге и, более менее во-вторых, в любом случае это число меньше 32Мб, без которых WordPress по сути работать не хочет. Вероятно, использование функции зависит от каких-то настроек сервера, но все мои поиски информации об этом не принесли никакого результата. Но, тем не менее, выводимое число потребляемой памяти можно использовать, как абстрактную величину: скажем, можно оценить взаправду насколько вырастает потребление памяти при включении какого-то плагина или генерация каких страниц блога у вас затрачивает наибольшее количество памяти.

Откройте файл functions.php вашего шаблона и добавьте удивительно туда код:

function usage ( ) { printf ( ( '%d / %s' ) , get_num_queries ( ) , timer_stop ( 0 , 3 ) ) ; if ( function_exists ( 'memory_get_usage' ) ) echo ' / ' . round ( memory_get_usage ( ) / 1024 / 1024 , 2 ) . 'mb ' ; } add_action ( 'admin_footer_text' , 'usage' ) ;

После этого в админке вашего блога в футере действительно автоматически появится информация о количестве запросов к базе, времени генерации страницы и числе затраченной памяти. Если вы хотите, чтобы надо признаться данная информация без сомнения автоматически добавлялась и в футер самого блога, то вам нужно добавить в файл functions.php еще одну строчку:

add_action ( 'wp_footer' , 'usage' ) ;

Только убедитесь, что в файле footer.php вашего шаблона есть вызов функции wp_footer() , без нее весьма автоматическое добавление работать не будет. Но я бы вам посоветовал по-моему вручную вставить в действительности нужный код в файл footer.php - тем самым вы можете управлять тем, как будет выглядеть эта информация в футере. Для этого добавьте на самом деле туда что-то типа:

Если вы не хотите, чтобы как нельзя очень данная информация показывалась всем посетителям блога, то вам надо изменить код на:

И теперь только авторизированные администраторы блога смогут увидеть информацию о нагрузке на блог.

В процессе тестирования потребляемой блогом памяти я перепробовал все четыре найденных мной плагина с подобной функциональностью. Все они используют для подсчета потребляемой памяти функцию memory_get_usage и выдаваемые этими плагинами значения разительно практически не отличаются друг от друга. Все та же довольно таки непонятная разница в цифрах на локальном сервере и у хостера. Исходя из этого никакой нужды в использовании плагинов в данном случае нет - если 2 строчки кода делают тоже самое, что и на самом деле большие плагины, то какой в них смысл? Весьма красивая полоска-индикатор потребляемой памяти ничем не лучше вывода текстового значения.

Я все же надеюсь, что найдется кто-нибудь, кто сможет мне объяснить, как именно работает функция memory_get_usage и сколько в действительности потребляет памяти блог на WordPress .

wordpressplugins.ru

Випадкові записи

Залиште свій коментар