Профиль. Профиль. Профиль. Я не уверен, существует ли что-нибудь там для PHP, но должно быть просто записать немного инструмента для вставки профильной информации в код. Вы захотите представить функциональные времена и времена SQL-запроса.
Поэтому, где у Вас есть функция:
function foo($stuff) {
...
return ...;
}
я изменил бы его на:
function foo($stuff) {
trace_push_fn('foo');
...
trace_pop_fn('foo');
return ...;
}
(Это - один из тех случаев, где несколько возвратов в функции становятся помехой.)
И SQL:
function bar($stuff) {
trace_push_fn('bar');
$query = ...;
trace_push_sql($query);
mysql_query($query);
trace_pop_sql($query);
trace_pop_fn('bar');
return ...;
}
В конце, можно генерировать полную трассировку выполнения программы и использовать все виды методов для идентификации узких мест.
Чего я не увидел, так это того, что зависимость JAI должна быть удовлетворена только во время выполнения, и поэтому я убедился, что производственная среда имеет доступ к JAI, настроив ее для Tomcat.
Вам нужно будет загрузить jar-файлы и установить их в локальном репозитории maven или прокси-сервере локального репозитория (Nexus / Artifactory). Я думаю, вы можете использовать maven-enforcer-plugin , чтобы проверить наличие настроек среды.
Лицензия для jai_imageio не позволяет ему быть распределено .
попробуйте следующее:
<dependency>
<groupId>com.sun.media</groupId>
<artifactId>jai_imageio</artifactId>
<version>1.1</version>
<type>pom</type>
</dependency>