Почему медленно соединяет тсп, где именно ограничение? spoilerconst net = require('net');
const TCP_CONNECTION_TIMEOUT = 5555;
const checkTcp = (port, ip) => new Promise((resolve) => {
const client = new net.Socket();
client.setTimeout(TCP_CONNECTION_TIMEOUT);
client.connect(port, ip, () => {
resolve(true);
client.destroy();
});
client.on('error', () => {
resolve(false);
client.destroy();
});
});
console.time(1);
await Promise.all(proxies.map(({port, ip})=>checkTcp(port, ip) ))
console.timeEnd(1);
Чекаю прокси на просто установку соединения, 3к проверяются 2 минуты, почему так медленно, как отдебажить чтобы понять где узкое место.
Сейчас могут быть нода, докер, виртуалка, хост система с виндой, роутер, провайдер.
По идее если я одновременно открываю всё, то максимальное время это их максимальный таймаут значит 5 сек.

19 Фев 2021 в 19:48
193 +1
0
Ответы
1

Медленное соединение может быть вызвано несколькими причинами:

Неэффективное использование ресурсов: возможно, что ваш код не оптимален и занимает больше времени, чем нужно. Попробуйте профилировать код, чтобы выявить, где он тратит больше всего времени.

Проблемы с сетью: могут быть проблемы с вашим интернет-соединением, маршрутизатором или провайдером. Попробуйте проверить соединение с другими устройствами или провайдерами, чтобы исключить эти проблемы.

Большое количество одновременных запросов: если вы проверяете много прокси одновременно, ваш хост может не справляться с такой нагрузкой. Попробуйте уменьшить количество одновременных запросов или увеличить ресурсы хоста.

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

17 Апр 2024 в 20:54
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир