Асинхронность: не всегда панацея для производительности

Асинхронное программирование, особенно в микросервисных архитектурах, где сервисы часто ожидают ответов от других сервисов, кажется логичным решением для эффективного использования потоков. Однако, практика показывает, что переход к неблокирующему API не всегда ведет к заметному улучшению производительности, а иногда даже может ухудшить ее.
Асинхронность: не всегда панацея для производительности
Изображение носит иллюстративный характер

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

Более того, эксперимент с высоконагруженным сервисом, изначально написанным в неблокирующем стиле, показал, что переписывание его в блокирующий с пулом потоков, привело к увеличению производительности на 15%. Это говорит о том, что Spring и неблокирующий Tomcat могут создавать дополнительную нагрузку, особенно при обработке десятков тысяч запросов в секунду.

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


Новое на сайте

19791Гражданская война шимпанзе в Уганде 19790Кибершпионы UAT-10362 охотятся на тайваньские нко с помощью малвари LucidRook 19789Телескоп Джеймса Уэбба обнаружил галактику-«ската» в скоплении MACS J1149 19788Комета MAPS сгорела в солнечной короне и вылетела облаком обломков 19787Кто стоит за кибератаками на журналистов ближнего Востока и зачем Индии понадобилась... 19786Теневой ИИ в компаниях: угроза, которую не видят безопасники 19785Почему NASA спокойно относится к проблеме с теплозащитным экраном Artemis II? 19784Шифрование видео, которое не сломает даже квантовый компьютер 19783Западу США грозит аномально опасный сезон пожаров 19782Белок, который не должен убивать: как одна гипотеза перевернула биологию 19781Серебряная монета XVI века указала на затерянную испанскую колонию у магелланова пролива 19780Что за загадочные клетки появляются в организме женщины только во время беременности? 19779Кератин как тормоз воспаления: неожиданная роль знакомого белка 19778Ботнет Chaos перенацелился на облака и обзавёлся SOCKS-прокси 19777Когда комета PanSTARRS станет видна невооружённым глазом?
Ссылка