У меня есть довольно элементарный node.js API, который использует Express и Mon goose для доступа к различным коллекциям в MongoDB. Теперь все работает функционально, за исключением того факта, что данные, отправляемые из API, выходят с очень низкой скоростью (примерно 1,5 Мбит / с), что не является идеальным, поскольку ответ составляет около 100 мг.
Вот как я получаю данные и отправляю их:
//Dependencies
const express = require('express')
const jsonStreamStringify = require('json-stream-stringify')
const router = express.Router()
//Models
const Metar = require('../models/metar.model')
// Get all METARs
router.get('/', async (req, res, next) => {
try {
const stream = await Metar.find().stream().lean()
new jsonStreamStringify(stream).pipe(res)
} catch (err) {
res.status(500).json({ message: err.message })
}
})
Я искал inte rnet, но я буду первым, кто признает, я честный новичок, когда дело доходит до эта штука. Я чувствую, что могу ожидать от этого большей скорости, чем эта. Он работает на довольно мощном сервере.
Нет, странно то, что когда я тестировал и разрабатывал его, запросы возвращались со скоростью 100 + Мбит / с, но по мере того, как я прогрессировал, скорость внезапно падала, и я Понятия не имею, что я сделал.
Кто-нибудь может подтолкнуть меня в правильном направлении?