Из вашего вопроса неясно, где реальное узкое место:
Это может быть скорость, с которой ваша JSP может извлекать данные из объекта JSON.
Это может быть скорость, с которой JSP может форматировать данные и записывать их.
Это может быть скорость передачи по сети.
Это может быть скорость, с которой браузер может читать и отображать ответ.
Решение будет зависеть от того, где на самом деле находится узкое место, поэтому вам нужно выяснить это, профилировав серверную часть и отслеживая происходящее в браузере.Решение может включать изменение генерируемого вами HTML-кода, чтобы он был меньше или быстрее отображался, или изменение способа его генерации;например, упрощение JSON.(В вашем случае последнее может не подойти, поскольку вы получаете JSON от внешней службы.)
Другой способ решения этой проблемы - реструктурировать пользовательский интерфейс, чтобы вы не пытались отправить50 000 результатов на одной странице.Либо выполните некоторую работу на стороне сервера, чтобы уменьшить / преобразовать результаты, используйте какую-то подкачку результирующего набора или сделайте некоторые умные (и эффективные) вещи в браузере пользователя для динамического представления результатов.(Последний вариант предполагает отправку результатов в браузер в формате JSON и требует большого количества кодирования на стороне браузера для отображения данных, проблем независимости браузера и т. Д.!)
Веб-интерфейс пользователя, ожидающий пользователяпробираться по странице, содержащей 50 000 результатов, (IMO) практически невозможно.