LINUX.ORG.RU

А нужны ли все эти ваши гринтреды, корутины, I/O асинхронщина

 , , ,


1

5

и прочие 'костыли/недотреды' на современном то железе и операционных системах в 2018+ годы?

Достаточно воткнуть больше памяти, ядер и пользоваться ФП для эффективного утилизирования всего этого.

Зачем усложнять рантаймы и писать нечитаемою асинхронщину? Зачем пользоваться убогими Node.js, Golang и тому подобным?

Ответ на: комментарий от i-rinat

Я верю, что это место легко найти минут за десять неспешного поиска.

В браузере Firefox это:

так называемые «горячие клавиши» Ctrl+F пункт меню Edit --> Find

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

И k*N долгих запросов сделают серверу DoS.

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

С асинхронной обработкой проблема никуда не денется: в лучшем случае долгие запросы будут крутиться «параллельно» с нормальными и все будет равномерно тупить, в худшем (нет точек прерывания в нужном месте) - заблокируют event loop с таким же DoS.

И естественно что тяжелые по процу или I/O задачи имеют охренительный DoS'овый потенциал, каких и не реализуй, что решается средствами типа авторизации, rate limiting на nginx и т.д.

annulen ★★★★★
()
Ответ на: комментарий от i-rinat

Последний лимит в 125 тысяч на 16 гигов придётся откручивать в ядре Linux. Причём недостаточно будет просто число поменять в конфиге. Придётся патчить, так как лимит там достаточно захардкожен.

Для 11-15 тысяч тредов в одном процессе пришлось патчить ядро, штук под 100 патчей было. Не все конкретно для натягивания такого количества тредов, но чтобы более-менее нормально всё шевелилось, пришлось много ядра править. Это было в районе 3.1x.

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