изменить «mysql» на «mysqli» в файле database.php
$db['default']['dbdriver'] = 'mysqli';
При использовании Java 5 или позже можно соединиться с приложением с помощью jconsole для просмотра всех рабочих потоков. jstack также сделает дамп стека. Я думаю, что это должно все еще работать даже в контейнере как Tomcat.
Оба из этих инструментов включены с JDK5 и позже (я принимаю потребности процесса быть, по крайней мере, Java 5, хотя я мог быть неправым),
Обновление: также стоит отметить, что запуск с JDK 1.6 обновляет 7 существует теперь связанный профилировщик под названием VisualVM, который может быть запущен с 'jvisualvm'. Похоже, что это - проект java.net, таким образом, дополнительная информация может быть доступной на уровне той страницы. Я еще не использовал это, но это выглядит полезным для более серьезного анализа.
Надежда, которая помогает
При направлении с той же проблемой я использовал профилировщика YourKit. Это - загрузчик, не активируется, если Вы на самом деле не соединяетесь с ним (хотя это действительно открывает порт для прислушиваний к соединениям). У профилировщика самостоятельно есть хорошее, "потратили количество времени в каждом методе", в то время как работа в он - менее навязчивый режим.
Иначе должен обнаружить загрузку ЦП (через JNI, таким образом, Вам была бы нужна внешняя библиотека для этого) в "сторожевом" потоке с самым высоким приоритетом, и начните регистрировать все потоки, когда ЦП достаточно высок в течение достаточно долгого времени. Вы могли бы найти это просвещение статьи.
Задержка управления полетом JRockit Анализатор.
Анализатор Задержки, который идет с JRockit, показывает Вам, что "делает" JVM, когда это ничего не делает. В последней версии Вы видите задержки для:
Инструмент даст Вам отслеживание стека, когда задержка произошла. Можно просмотреть данные задержки по-разному (агрегированные трассировки, как гистограмма, в графике потока и т.д.). Инструмент также позволяет Вам видеть переходы между потоками, например, когда один поток уведомляет другого.
Издержки незначительны, и в отличие от многих других инструментов они могут использоваться в продуктивной среде. Это сообщение в блоге дает Вам, краткое введение и программа могут быть загружены здесь.
Это свободно использовать для разработки!
Если это для профессиональной цели, и у Вас есть немного денег, чтобы потратить, попытаться достать JProfiler. Если Вы просто хотите получить некоторое понимание, испытайте Плагин Профилировщика Eclipse. Я несколько раз использовал его, но я не знаю текущее состояние.
Новый (?) проект из самого проекта затмения доступен также: http://www.eclipse.org/tptp/ (См. эту статью). Никогда не использовал его, таким образом, я не могу сказать, стоит ли это усилия.
Существует также очень хороший список профилировщиков с открытым исходным кодом, доступных по http://www.manageability.org/blog/stuff/open-source-profilers-for-java
Для пользы полноты: даже при том, что моя компания более или менее стандартизирует на Eclipse, мы используем Netbeans (6 и) с его включенным, свободным профилировщиком ежедневно. Это работает лучше, чем плагин TPTP Eclipse (в последний раз проверил 3 месяца назад), и для нас это устраняет любую необходимость коммерческого профилировщика, такого как JProfiler, который превосходен, но быстро становление ненужным.
Используйте профилировщика. Да они стоят денег, и использование их может иногда быть немного неловким, но они действительно предоставляют Вам гораздо больше вещественные доказательства, а не догадки.
Люди универсально плохи при предположении, где узкие места производительности. Это просто, кажется, что-то, что наши мозги не являются сборкой, чтобы сделать очень хорошо. Это может казаться очевидным, у Вас могут быть прекрасные идеи о том, какова проблема, но реальный мир часто оказывается выполнением чего-то другого. И оптимизация неправильной части средств кода, в лучшем случае большой работы для минимального преимущества. Чаще это делает вещи медленнее, и иногда это повреждает вещи полностью. Таким образом, перед внесением любых изменений ради оптимизации у Вас должны всегда быть вещественные доказательства от профилировщика или другого точного инструмента.
Как упомянуто, и JProfiler и YourKit являются и довольно хорошими и не непомерно дорогими. В прошлый раз, когда я смотрел, у них обоих были бесплатные демо-версии также.
Если JConsole не может использоваться, Вы можете
kill -3 <process id>
в соответствии с Linuxполучить полный Дамп Потока. Это не влияет на производительность и может всегда выполняться в производстве.
VisualVM должен быть профилировщиком от netbeans как автономным. Я попробовал TPTP за затмение, но visualVm кажется как намного более хорошая опция!