Привет!
Я пытаюсь решить несколько проблем с производительностью, которые возникают на нашем сайте. В рамках этих усилий я начал профилировать наши страницы с наибольшим объемом трафика в соответствии с GA.
По сути, я определил, как я изначально подозревал, что большую часть времени тратится на трафик, связанный с базой данных ... имеет смысл. К сожалению, если присмотреться, то, что я обнаружил, не имеет особого смысла.
Например, этот конкретный вызов MyAlganon_Model_Library_Item :: fetchItemTooltipsByItemIdArray () занимает 580,41 мс для возврата на мою промежуточную платформу.
После погружения 47.27 мс этого времени тратится на sqlsrv_query (), а 533.12 мс - на функцию fetchAll (), которая просто выполняет цикл sqlsrv_fetch_object:
$row = sqlsrv_fetch_object($this->query);
while ($row) {
$results[] = $row;
$row = sqlsrv_fetch_object($this->query);
}
return $results;
Похоже, на этой конкретной странице в наборе результатов 742 строки. Может быть, это просто вопрос того, что я не имею реалистичной информации о том, сколько времени потребуется для генерации объекта StdClass? 533.12ms кажется нормальным временем для итерации по результатам 742 и превращения их в массив объектов?