Центр документации
Карта сайта


Новая документация

Настройка платежных систем
Настройка способа оплаты КупиВкредит
Настройка способа оплаты Acquiro
Настройка способа оплаты AvisoSMS

Обновленная документация 

Разработчикам (API)
Руководство пользователя

Профилирование кода и запросов БД

При разработке кода всегда необходимо использовать средства профилирования, для оценки потребляемых кодом ресурсов и оптимизации работы плагина.
Для профилирования доступны три метода:
а) Инструкция AMI_Response:: displayBench

AMI::getSingleton('response')->displayBench();

сообщает системе, что нужно отображать результаты профилирования:

Script total: 0.050174 sec [DB total: 0.018054 sec / queries: 0.017707 sec (6 times) / fetch: 0.000347 sec (31 times)] [PHP total: 0.032120 sec / peak mem usage: 430 912 bytes]
Script total - общее время работы скрипта;
DB total - общее время работы с базой данных; queries – время и количество запросов к базе данных; fetch - время и количество записей, извлечённых из результатов запросов к базе данных;
PHP total - общее время работы PHP-кода; peak mem usage – максимальный объём памяти, выделенный скрипту (memory_get_peak_usage()).


б) Инструкция AMI_DB::displayQueries

AMI::getSingleton('db')->displayQueries(true);

включает выдачу запросов к базе данных в отладочную информацию:

Delay: 0.00332 sec, total: 0.00567 sec, total fetch count: 4 DESCRIBE my_module1_table_item 
Delay: 0.00340 sec, total: 0.00908 sec, total fetch count: 14 SELECT i.id,i.public,i.lang,i.header,i.announce,i.body,i.date_created,i.date_modified FROM my_module1_table_item i
Delay: 0.00031 sec, total: 0.00938 sec, total fetch count: 17 SHOW CREATE TABLE `my_module2_table_cat`
Delay: 0.00456 sec, total: 0.01394 sec, total fetch count: 20 DESCRIBE my_module2_table_item

Delay – время исполнения запроса; total - общее время исполнения запросов; total fetch count - время и количество записей, извлечённых из результатов запросов к базе данных.

в) Инструкция d::b

d::b('label');

позволяет добавлять точки профилирования:

Script total: 0.049011 sec [DB total: 0.018188 sec / queries: 0.017823 sec (6 times) / fetch: 0.000365 sec (31 times)] [PHP total: 0.030823 sec / peak mem usage: 441 752 bytes] [at start]: 0.01915 sec (total: 0.019) , mem diff: 259 736 bytes (peak: 273 432 bytes), models.php: 64 [at end]: 0.02959 sec (total: 0.049) , mem diff: 163 208 bytes (peak: 438 640 bytes), models.php: 117

0.02959 sec – время с предыдущего вызова d::b() или со старта скрипта;
total - время со старта скрипта; mem diff – разница объёма выделенной памяти с предыдущего вызова d::b() или со старта скрипта (memory_get_usage());
peak - максимальный объём памяти, выделенный скрипту (memory_get_peak_usage()) в момент вызова d::b(); models.php: 117 – имя файла и строка, из которой был вызван d::b().

Установка и настройка Руководство пользователя Интеграция дизайна Разработчикам (API) Документация для скачивания
 2000 – 2011 © Amiro.CMS Все права защищены.