а на счет походов в БД тут еще большой вопрос. 1. во-первых накладные расходы на сам event loop в сравнении с временем обычного похода в базу. 2. во-вторых количество соединений с базой не бесконечное.
Все грамотно распределено, задействовано одно ядро. Запустили кластер - вот ваше приложение уже шустрое. Не знаю как можно сделать обработку запросов быстрее
конкретно с базой это ваше "эффективное распределение ресурсов" в итоге не такое уже и эффективное. и если кроме БД или in-memory кеша другого IO нет, еще большой вопрос будет ли асикио давать хоть какие-либо ощутимые преимущества кроме чувства хайпа.
асинхронная модель хорошо себя показывает в случае наличия IO с высоким латенси, как то другие запросы, например к внешним сервисам. в том случае, если большая часть времени одной задачи тратится на ожидание от IO. а это узкий круг задач.
Определенно есть узкие места использования и асинхронной модели работы. Просто я еще не сталкивался с критическими ситуациями связанными с этим, возможно поэтому я так категоричен в своем мнении на счет подхода.
Я даже комментировать это не хочу. Хз что тестируем, хз как запускаем, хз какие результаты получили. Было бы вообще забавно, если бы C# (или на чем там ASP.NET реализация писана) оптимизатор вообще выкинул бы бесполезный цикл.