Огромная обработка данных в GWT

У меня есть куча записей (около 10 КБ), и их нужно зашифровать на стороне клиента, а затем пройти по сети с вызовом RPC. Процесс шифрования и переход на сервер занимают много времени для 10 тыс. записей. Можно ли как-то сократить время.

Время для шифрования занимает: 1:10 минут Время для отправки и получения обратно 10k записей от клиента к серверу и от сервера к клиенту занимает: 3:46 минут

Сервер находится на GoDaddy - США, и я получаю доступ из Индии. Конфигурация клиентской машины: в настоящее время 4 ГБ памяти (что может быть меньше в режиме реального времени, может быть 1 ГБ или 2 ГБ) Конфигурация серверной машины: 4 ГБ

Шифрование выполняется только на стороне клиента.

Объекты Java просматриваются в коллекциях списков и карт.


person Sunil Gulabani    schedule 08.02.2012    source источник
comment
Без дополнительной информации никто не может ответить на этот вопрос. Что такое долгое время? Насколько быстро работает сеть? Сколько времени шифрование по сравнению с передачей по сети? Пожалуйста, отредактируйте вопрос и покажите некоторые доказательства того, что вы пытались собрать основную информацию.   -  person Jim Garrison    schedule 08.02.2012
comment
Зашифруйте его быстрее. Получить более быструю сеть.   -  person Dave Newton    schedule 08.02.2012
comment
Что такое запись, это String, java Object или File? Насколько велика запись охвата в bytes или kilobytes? Трудно предложить улучшения без более подробной информации.   -  person Ali    schedule 08.02.2012
comment
Шифрование в javascript и отправка данных по вызову RPC. Зачем кому-то в их праве делать это? Что плохого в том, чтобы просто отправлять данные по HTTPS?   -  person Strelok    schedule 08.02.2012
comment
@Strelok: шифрование выполняется с использованием сертификата клиента. Поэтому это нужно делать только на клиентской машине.   -  person Sunil Gulabani    schedule 08.02.2012


Ответы (2)


Попробуйте запустить без отладки и посмотрите, сколько времени это займет.

person Alex Calugarescu    schedule 08.02.2012

Ну вот некоторые мысли:

Ускорение шифрования на стороне клиента:

Используете ли вы стороннюю библиотеку для шифрования? Я не думаю, что вы сможете улучшить это с помощью Javascript. Вы можете поискать другую библиотеку, которая может быть быстрее.

Однако вы также можете изучить собственный клиент.
Это позволяет запускать C/C++ код в песочнице Chrome с почти родной скоростью. Однако сейчас он работает только в последних версиях Chrome.

Вы можете использовать библиотеку шифрования JS в качестве запасного варианта для всех других браузеров (Firefox, Safari, IE).

Ускорение отправки на бэкэнд/сервер

Я могу думать только об использовании какой-то библиотеки сжатия на стороне клиента для сжатия зашифрованных записей размером 10 КБ перед их отправкой на сервер.

person Ümit    schedule 08.02.2012
comment
Шифрование выполняется JS и апплетом с использованием сертификатов клиента. Пока мы тестируем только на FireFox. - person Sunil Gulabani; 09.02.2012