У меня есть ситуация, когда я получаю событие и должен ответить, откачивая огромное количество исходящих 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);
Могу ли я что-нибудь сделать для увеличения моих текущих исходящих запросов в секунду?