LINUX.ORG.RU

размер ThreadPoolExecutor

 ,


0

1

Вот у меня есть асихнхронное приложение на python. Я запускаю N его копий допустим через gunicorn (или uvicorn). N определяется по формуле 1 + количество_логических_ядер * 2. ThreadPoolExecutor нужен для выполнения ресурсоемких операций, которые «вешают основной поток». Как подобрать его оптимальный размер?

★★

Зависит от того что ты делаешь. Возьми да сравни. С питоном проблема ещё и в том, что тебе по голове гилом прилетит в определённый момент.

anonymous
()
Ответ на: комментарий от anonymous

если ты внутри потока не модифицируешь объекты, которые используются другими потоками, то никогда не прилетит.

tz4678 ★★
() автор топика
Ответ на: комментарий от tz4678

Не, питон вообще однопоточный. Как впрочем и та же нода. Это не огромная проблема только когда вычисления у тебя в компилируемых батарейках без гила.

anonymous
()

Чем больше IO тем больше потоков имеет смысл задействовать. А вообще-то только эксперимент покажет. Тем более, что с твоим приложением кроме тебя никто не знаком.

urxvt ★★★★★
()
Ответ на: комментарий от tz4678

Если ты какой-нибудь requests (или что угодно подобное) использовал, то точно были. В профайлере видно.

anonymous
()
Ответ на: комментарий от anonymous

не знаю, что ты делал, но думаю делал то, что нормальным людям в голову не приходит

tz4678 ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.