В моем проекте я использую JAX-RS (websphere), EJB и OpenJPA в качестве основных технологий.Служба JAX-RS слишком медленная
Даже в очень простом сценарии простых вызовов GET обслуживание занимает довольно много времени. Основными задачами, которые я вижу, является вызов DB с использованием JPA, преобразование объекта объекта в объект передачи с использованием Dozer mapper и, наконец, базовая реализация websphere, конвертирующая объект передачи в JSON. Данные - всего несколько строк в таблице без активной загрузки (таким образом, нет данных из таблицы, отличной от целевой таблицы).
Я не думаю, что здесь используются огромные вычисления. Тем не менее он занимает около 10-12 секунд. Также сервер достаточно мощный.
Каким должен быть мой подход, чтобы выяснить причину? Я планирую узнать время, затрачиваемое каждым основным компонентом, использующим System.nanoTime(). Но есть ли еще какие-то другие подходы?
Спасибо за ввод. Наиболее распространенным инструментом является JProfiler. Какой из них вы бы предложили? – Mandroid
Jprofiler платный Я думаю, поэтому я не предлагал этого. Раньше мы использовали JRockit, но, похоже, его больше не поддерживали. Они объединили его в HotspotVM. VisualVM - проект oracles, поэтому я предполагаю, что они будут использовать некоторые функции от jrockit. –