Я тестирую приложение Google Web Toolkit и испытываю некоторые проблемы с производительностью при нескольких вызовах RPC. Структура приложения:
- Пользователь отправляет запрос
- Первоначальный запрос обслуживается одним серверным сервлетом
- После получения первоначального ответа несколько компонентов впоследствии обновляются путем итерации по каждому компоненту и вызова метода обновления, передавая ему результаты начального запроса
- Метод обновления каждого компонента выполняет некоторую работу с данными, передаваемыми ему, в дополнение к потенциально вызову других служб на стороне сервера
- При успешном выполнении этих вызовов компонент обновляется в пользовательском интерфейсе.
При начальной службе запросов и 1 компоненте (эффективно работающем последовательно) время отклика быстро. Однако добавление любых других компонентов (например, службы начальных запросов + 2 компонента, эти 2 компонента вызывают асинхронно) очень сильно влияет на время ответа.
Есть ли способ улучшить / исправить это?
Пример: (IQS = начальный запрос, C1 = компонент 1, C2 = компонент 2, C1S = сервис comp. 1, C2S = сервис компонента 2)
Initial Query + 1 component
IQS, returned - propagating results, 1297273015477
C1, Sending server request,1297273015477
C1S, Sending back..., 1297273016486
C1, Receiving Complete, 1297273016522 (total time from initial call - 1045ms)
Initial Query + 2 components
IQS, returned - propagating results, 1297272667185
C1, Sending server request,1297272667185
C2, Sending server request,1297272668132
C1S, Sending back..., 1297272668723
C2S, Sending back..., 1297272669371
C1, Back at client to process, 1297272671077 (total time from initial call - 3892ms)
C2, Back at client to process, 1297272674518 (total time from initial call - 6386ms)
Заранее спасибо.
Пол