Как оптимизировать Zend Framework - PullRequest
1 голос
/ 03 февраля 2012

У меня есть приложение, построенное на Zend Framework, которое я пытаюсь оптимизировать.

Я провел некоторое профилирование Xdebug, и хотя я не могу сказать, что понимаю все мелкие детали полученных результатов, некоторые вещи были совершенно очевидны изрезультат.

Например, файл Bootstrap.php, по-видимому, занимает большую часть времени, занимая 4,553 мсек, что составляет 92,49% от общего времени.

И если я продолжу копать, я смогу увидеть, что Zend_Application_Bootstrap_Boostrap-> run занимает большую часть времени.Еще раз проверив это, я обнаружил, что Zend_Controller_Front-> Dispatch на самом деле может быть функцией внутри Boostrap.php, выполнение которой занимает время.

Вопрос в том, какие из этих индексов у меня есть, как мне лучше всего идтипо поводу оптимизации приложения?Если это кеширование, как мне применить кеширование в этой ситуации?

Спасибо

1 Ответ

2 голосов
/ 03 февраля 2012

Судя по виду callgrinds, на странице входа в систему приложение проводит большую часть своего времени в curl_exec, чего и следовало ожидать, если вы выполняете удаленный вход в систему. Но он делает 10 отдельных curl_execs, который кажется чрезмерным. Я не знаком с аутентификацией входа в LinkedIn, но возможно ли, что ваше приложение запускает код удаленного входа несколько раз?

По стандартному запросу страницы приложение тратит большую часть своего времени на подключение к MySQL, и, похоже, делает это дважды. Используете ли вы удаленный сервер БД, и вам нужно два отдельных подключения к БД?

Предполагается, что вы используете удаленный сервер БД, и он находится в той же сети, что и ваш веб-сервер, там, кажется, есть некоторые проблемы с сетью. Я бы проверил задержку для этого сервера, если вы можете, и попытался бы подключиться к IP-адресу вместо имени хоста, чтобы увидеть, имеет ли это какое-то значение (если сделать это намного быстрее, это может привести к проблеме с настройкой DNS в вашей сети). сервер).

...