Почему тяжёлая счётная операция опасна в Node и что с этим делать?
Потому что она занимает единственный поток, обслуживающий все запросы: двухсекундное вычисление заставляет каждого параллельного пользователя ждать две секунды. Варианты — вынести в worker thread, в отдельный процесс или очередь, либо сменить алгоритм. Ловушка в том, что на слабом трафике в разработке всё выглядит нормально, а под нагрузкой появляется обрыв по задержкам.