Как измерить определенные точки кода в PHP? Я могу использовать таймеры для расчета различий, я просто не уверен, что это лучшее решение.Измерение производительности PHP
ответ
Посмотрите на XDebug Profiler, чтобы сравнить производительность и многое другое.
Profiler Xdebug является мощным инструментом , что дает возможность анализировать ваш PHP код и определить узкие или вообще посмотреть, какие части вашего кода медленно и может использовать повышение скорости.
И если вы работаете в Linux, используйте kcachegrind для визуализации полученных файлов профилей. –
XDebug это круто, но если вы не хотите, чтобы установить эту библиотеку, вы можете попробовать следующее:
Что я использую, чтобы найти возможные горлышка является:
$benchmark_start = microtime(true);
// Code goes here
$benchmark_stop = microtime(true);
$benchmark_total = $benchmark_stop - $benchmark_start;
echo "The script took ". $benchmark_total." seconds";
немного более изощренными пример ручного профилирования с использованием таймеров
работает идеально для меня, особенно когда меня просят разобраться на каком-то живом сервере с FTP-доступом.
Нет необходимости упоминать, что профилирование является более важным (и полезным) на живом сервере, а не на ПК тепличного разработчика.
$TIMER['start']=microtime(TRUE);
// some code
$query="SELECT ...";
$TIMER['before q']=microtime(TRUE);
$res=mysql_query($query);
$TIMER['after q']=microtime(TRUE);
while ($row = mysql_fetch_array($res)) {
// some code
}
$TIMER['array filled']=microtime(TRUE);
// some code
$TIMER['pagination']=microtime(TRUE);
if ('127.0.0.1' === $_SERVER['REMOTE_ADDR']) { //I set my IP here
echo "<table border=1><tr><td>name</td><td>so far</td><td>delta</td><td>per cent</td></tr>";
reset($TIMER);
$start=$prev=current($TIMER);
$total=end($TIMER)-$start;
foreach($TIMER as $name => $value) {
$sofar=round($value-$start,3);
$delta=round($value-$prev,3);
$percent=round($delta/$total*100);
echo "<tr><td>$name</td><td>$sofar</td><td>$delta</td><td>$percent</td></tr>";
$prev=$value;
}
echo "</table><>";
}
Я бы не назвал это сложным. – raveren
о да, вы правы! гениальнее было бы более подходящим словом –
- 1. Измерение производительности
- 2. Эффективное измерение производительности
- 3. Измерение производительности рендеринга WPF
- 4. Измерение производительности Dalvik
- 5. Измерение производительности Apache
- 6. Измерение производительности TIBCO
- 7. Измерение производительности в Python
- 8. Измерение дельта производительности ASP.NET
- 9. Измерение производительности браузера android
- 10. Измерение производительности Java-программы
- 11. Измерение производительности Javacc Parser
- 12. Измерение производительности на Android
- 13. Измерение производительности веб-приложения?
- 14. Измерение производительности веб-страницы
- 15. формула сделать измерение производительности
- 16. Измерение производительности Qt-приложения
- 17. Измерение производительности приложения
- 18. Spark: Измерение производительности ALS
- 19. Измерение производительности сайта
- 20. Измерение производительности OpenCL
- 21. Drools Fusion: измерение производительности
- 22. Измерение производительности веб-сервера
- 23. Измерение производительности работы
- 24. Измерение производительности JS с использованием производительности и производительности производительности HTML5
- 25. Измерение производительности Javascript в IE
- 26. Измерение производительности для элементов управления
- 27. Измерение производительности/профилирования в C
- 28. Измерение производительности: время против тика?
- 29. Измерение производительности для RDBMS VoltDB
- 30. Измерение угловой производительности частичного рендеринга
Мы все живем не в лучшем мире. Таймеры вполне пригодны для использования и переносимы. У вас есть несколько минут, чтобы найти узкое место. –