StartMeasure: различия между версиями

Материал из MajorDoMo инфо
(Новая страница: «Насчёт позитивного русла -- если есть желание, то можно заняться комплексной аналитикой...»)
 
Нет описания правки
Строка 1: Строка 1:
[[Category:Встроенные функции]]
==Описание==
Насчёт позитивного русла -- если есть желание, то можно заняться комплексной аналитикой производительности. Есть в системе функции  
Насчёт позитивного русла -- если есть желание, то можно заняться комплексной аналитикой производительности. Есть в системе функции  
startMeasure('метка');
 
С помощью них можно ставить временные метки выполнения отдельных частей кода и выводить отчёт. Если посмотреть сорс любой страницы админки, то внизу будет отчёт о выполнении с временем генерации и по отдельным меткам. Собственно, с помощью такой штуки можно исследовать всю цепочку реакции системы на тот или иной запрос (расставляя startMeasure/endMeasure в исходный код) и искать узкие места.
==Код==
<pre>startMeasure('метка');
 
endMeasure('метка');  
endMeasure('метка');  
performanceReport();
С помощью них можно ставить временные метки выполнения отдельных частей кода и выводить отчёт. Если посмотреть сорс любой страницы админки, то внизу будет отчёт о выполнении с временем генерации и по отдельным меткам. Собственно, с помощью такой штуки можно исследовать всю цепочку реакции системы на тот или иной запрос (расставляя startMeasure/endMeasure в исходный код) и искать узкие места. Я когда-то таким занимался и много чего оптимизировал по нагрузке, но нет предела совершенству и уверен, что можно сделать быстрее, если очень долго этим заниматься :)


performanceReport(); </pre>
==Примеры запросов==
<pre>
<pre>
startMeasure('statusUpdatedLinkedDevices');
startMeasure('statusUpdatedLinkedDevices');

Версия от 11:07, 7 мая 2020

Описание

Насчёт позитивного русла -- если есть желание, то можно заняться комплексной аналитикой производительности. Есть в системе функции

С помощью них можно ставить временные метки выполнения отдельных частей кода и выводить отчёт. Если посмотреть сорс любой страницы админки, то внизу будет отчёт о выполнении с временем генерации и по отдельным меткам. Собственно, с помощью такой штуки можно исследовать всю цепочку реакции системы на тот или иной запрос (расставляя startMeasure/endMeasure в исходный код) и искать узкие места.

Код

startMeasure('метка');

endMeasure('метка'); 

performanceReport(); 

Примеры запросов

startMeasure('statusUpdatedLinkedDevices');
// какой-то код
endMeasure('statusUpdatedLinkedDevices');