Я думаю, что способ улучшить ситуацию - отправить это в виде потока.Это по крайней мере помешает вам загрузить все эти данные в оперативную память.
Вы также можете подумать о сжатии вашего ответа (например, gzip).Это значительно уменьшит размер данных.
Следующее, что вы можете сделать, зависит от функционального аспекта.Можно ли обрезать вашу строку и разрешить читать, может быть, 100 строк при каждом запросе?
Может быть, вы можете добавить к своему WS два параметра: количество строк и смещение.Может быть, вы можете добавить некоторые параметры, чтобы отфильтровать ненужные строки.Возможно, в каждой строке есть дата, которую вы можете использовать для фильтрации.Ваша цель должна заключаться в том, чтобы ограничить объем отправляемых данных и ограничить объемы операций ввода-вывода или обработки при построении вашей строки.Я не знаю, читали ли вы вашу строку из базы данных, файла или это результат некоторых вычислений.