@info в лайфхаках есть пример подключения
Способы увеличения производительности в многопоточном режиме (200 потоков)
-
@Int64 said in Способы увеличения производительности в многопоточном режиме (200 потоков):
Особо не понятно, потоки браузера тормозят или httpclient'a ?
Не перезапускай потоки с клиентом, пусть в цикле работают.Тормозят все потоки. Но 180 http-потоков выполняют основные задачи и задержки видны именно на них. Спасибо за совет, можно попробовать. Но задержки есть и в моменты, когда нет никаких перезапусков (просто в моменты перезапусков они сильнее), как с этим быть не ясно.
-
Чуть подробнее о том, в чем выражается задержка. Есть момент (допустим 18-00-00-000), в который 100 потоков должны отправить определенный http-запрос. Они "ждут" этот момент с помощью цикла while, который проверяет текущее время каждые 100 мс. Реальное время отправки этих 100 http-запросов составляет не 18-00-00-000 - 18-00-00-100, как можно было бы предположить, а 18-00-00-000 - 18-00-03-000, то есть разброс в 3 секунды вместо 100 мс.
-
@Q_Q это точно не поможет. При таких настройках, будет 180 папок, в которых будет копиться кеш, который через некоторое время будет "палить" и ломать логику (например будут видны запросы от предыдущих профилей). Мало того, кеш используется в каждом профиле по отдельности, так что никуда они не лезут "в одну папку".
-
-
@Ajshma said in Способы увеличения производительности в многопоточном режиме (200 потоков):
@doupiu как вариант, если вы используете внутри потоков код на nodejs, то это может быть узким местом для многопоточности, так как выполнение nodejs однопоточное.
Спасибо, помогла замена кубиков Node.js на чистый JS (Выполнить код). Хз почему, ведь JS же тоже однопоточный вроде 🤷