Моя служба возвращает ответы очень больших объектов JSON - около 60 МБ. После некоторого профилирования я обнаружил, что он тратит почти все время на выполнение вызова JSON.stringify()
, который используется для преобразования в строку и отправки ее в качестве ответа. Я пробовал собственные реализации stringify, и они еще медленнее.
Это довольно узкое место для моей службы. Я хочу иметь возможность обрабатывать как можно больше запросов в секунду - в настоящее время 1 запрос занимает 700 мс.
Мои вопросы:
1) Могу ли я оптимизировать отправку ответной части? Есть ли более эффективный способ, чем преобразование объекта в строку и отправка ответа?
2) Улучшит ли использование асинхронного модуля и выполнение JSON.stringify()
в отдельном потоке общее количество запросов в секунду (учитывая, что более 90% времени тратится на этот вызов)?