![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
KostenkoSergey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
Интерессует следующий момент:
Есть некое Swing-приложение, которое работает с EJB 3.0 через удалённые интерфейсы. У меня стоит JBoss 4.2.3 - локально приемлемо, а на удалённом сервере - вроде как медлительно получается. Отсюда вопросы: 1. Насколько оптимальна такая схема с точки зрения производительности ? 2. Насколько требователен к каналам связи rmi\iiop протокол? 3. Возможно есть ещё какие то более "быстрые" протоколы для вызова удалённых тырфейсов ? зы. Может имеет смысл сделать в качестве точки входа сервлет, который будет дёргать бины локально и позаморачиваться с взаимодействием клиента с сервлетом. pps может кто встречал цифры с тестами времени отклика веб-сервиса и удалённого вызова ? Это сообщение отредактировал(а) KostenkoSergey - 21.4.2010, 17:17 |
|||
|
||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
Если локально быстро, а удаленно медленно, значит медленный интернет.
зы. бессмысленно. Это сообщение отредактировал(а) COVD - 21.4.2010, 18:18 |
|||
|
||||
KostenkoSergey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
Локально - оно наверное через одну ВМ работает - сичас пишу сравнительный тест - отпишусь о результатах.
|
|||
|
||||
KostenkoSergey |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
И так для теста был выбран JBoss 4.2.3 GA, EJB 3.0, Hessian как веб сервис.
Если кому лень читать суть изложу что проверял: 1. Локап ремоте-ежб, и выполнение 50-ти удалённых вызовов 2. 50 вызовов вебсервиса 3. 50 вызовов EJB через веб-сервис Код который использовался привожу ниже: Интерфейс - общий для вебсервиса и EJB:
Код EJB:
Код вебсервиса:
И собсно говоря, код клиента:
Резултат выполения последнего на интернет-канале 3,1 Мбит/с сдедующий: Lokup time: 687 ms. Hello EJB Remote Hello EJB Remote Hello EJB Remote Hello ............. Execute 50 remote call time: 13453 ms. Create proxy time: 0 ms. HelloService HelloService HelloService HelloService HelloService.......... Execute 50 webservice call time: 5609 ms. Create proxy time: 0 ms. HelloService [Hello EJB Remote] HelloService [Hello EJB Remote] ............ Execute 50 ejb call via webservice time: 5672 ms. Такие вот пирожки. Имхо, результат тут мало зависит от скорости канала - проверю ещё дома на 10 мбит/c, думаю результат будет соизмерим. ззы. Мож кому интересно - на локалхосте результаты такие: Lokup time: 343 ms. Hello EJB Remote Hello EJB Remote .... Execute 50 remote call time: 1047 ms. Create proxy time: 0 ms. HelloService HelloService HelloService....... Execute 50 webservice call time: 297 ms. Create proxy time: 0 ms. HelloService [Hello EJB Remote] HelloService [Hello EJB Remote] ......... Execute 50 ejb call via webservice time: 234 ms. Это сообщение отредактировал(а) KostenkoSergey - 22.4.2010, 13:50 |
||||||||
|
|||||||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
Вы подтвердили факт, что локальные коммуникации обычно всегда быстрее (еще и надежнее), чем удаленные.
А вот то, что testEJBOwerWebService у вас работает быстрее, чем testEJBRemote - это странно. В RMI встроены несколько протоколов связи и выбирается оптимальный. В том числе и HTTP, который применяется для туннелирования, если остальные протоколы запрещены (файерволы). Но для этого на серверной стороне предполагается сервлет, который работает в паре с RMI. Прямое соединение через RMI не может проигрывать варианту EJBOwerWebService. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |