nodejs отправка исходящих HTTP-запросов как можно быстрее - PullRequest
0 голосов
/ 24 января 2020

У меня есть ситуация, когда я получаю событие и должен ответить, откачивая огромное количество исходящих HTTP-запросов. С кодом, который у меня есть сейчас, я бью примерно 500rps. Прежде чем масштабировать по горизонтали, я бы хотел увеличить максимальные значения по вертикали. Мне не совсем ясно, , что ограничивает мои максимальные запросы в секунду.

Я использую keepaliveagent и request-обещание-native для выполнения своих запросов. Что-то вроде этого:

const keepaliveAgent = new HttpsAgent({
    maxSockets: 256,
    maxFreeSockets: 100,
    timeout: 60000, // active socket keepalive for 60 seconds
    freeSocketTimeout: 30000, // free socket keepalive for 30 seconds
});

const options = {
    method: 'POST',
    uri: `${my_url}`,
    headers: {
        'Content-Type': 'application/vnd.kafka.json.v1+json',
    },
    body: {
        key: keyValue,
        value: message,
    },
    json: true,
    resolveWithFullResponse: true,
    agent: keepaliveAgent,
};

const arrayOfThings = [1,2,3,4,5...10000];
const promises = arrayOfThings.map(async thing => {
    const response = await requestPromise(options);
});
await Promise.all(promises);

Могу ли я что-нибудь сделать для увеличения моих текущих исходящих запросов в секунду?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...