Re[7]: горизонт. scalability в веб-приложениях Java (jboss7, struts2, hibernate,
От: Blazkowicz Россия  
Дата: 03.06.13 10:13
Оценка: 2 (1)
Здравствуйте, ligett, Вы писали:

L>Кстати, может быть подскажите какие-то тулы для определения узких мест производительности в java-приложениях? например вопрос номер 1 у меня, это где задержка дольше всего — в передаче данных клиент-jboss, классы бизнес-логики, классы доступа к данным или сама база данных. Какой-то может быть есть end-to-end профайлер?

Если всё написано более-менее разумно без откровенных перегибов, то
Сообщение клиент(браузер)-сервер, естественно, самого продолжительное. Клиент физически расположен далеко от сервера и время тут может идти на секунды.
Но, оно и ресурсов, обычно, много не отнимает (за исключением некоторых атак с долгими запросами). Поэтому к производительности сервера отношения не имеет.
Второе узкое место это работа с базой. Во-первых база и сервер это разные процессы даже на одной машине. А если говорить о кластере, то Java и БД даже физически на разных машинах.
Поэтому SQL запросы отнимают массу времени, и это легко лечится толстым кешированием со стороны Java.
Тулзы — JMeter, любой профайлер (JVisualVM), профайлер SQL запросов (специфичный для каждой базы). Ну, и отдельныо со стороны браузера, например, Firebug .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.