пустельга против асинхронного ожидания c # - PullRequest
0 голосов
/ 29 апреля 2018

На различных технических блогах / сайтах сообщалось, что новый веб-сервер kestrel, представленный с ядром asp.net, имеет преимущество в производительности по сравнению с IIS, поскольку он использует библиотеку libuv, основанную на однопоточной модели цикла событий.

Что я не смог понять, чем это отличается, если я использую async await для задач ввода-вывода в C # и использую IIS вместо Kestrel. Поскольку асинхронное ожидание также является неблокирующим вызовом, я не понимаю преимущества в производительности / производительности.

Пожалуйста, кто-нибудь может уточнить это простыми словами.

Я знаю, что kestrel является кроссплатформенным, но мой запрос касался преимуществ производительности / пропускной способности, которые я должен получить, используя kestrel, поэтому позвольте мне перефразировать мои вопросы, если я ориентируюсь только на Windows, получу ли я какое-либо преимущество в производительности, используя kestrel против IIS , В большинстве ссылок, по которым я прошел, говорится, что Kestrel использует libuv, и, следовательно, он дает некоторые преимущества в производительности, но не дает подробных сведений о том, что он делает по-другому, что делает его быстрее. если я не использую какие-либо модули IIS, производительность будет сопоставимой

1 Ответ

0 голосов
/ 29 апреля 2018

Использование асинхронных / ожидающих ключей не связано с использованием IIS или Kestrel.

IIS может работать только в операционной системе Microsoft Windows - обычно Windows Server, но Windows 10, например, также может запускать IIS.

Kestrel - это кроссплатформенный веб-сервер, который может размещаться за IIS / Apache / и т. Д. В зависимости от операционной системы сервера.

Более подробное объяснение IIS & Kestrel, а также кросс-платформенных возможностей см. В Базовые веб-серверы ASP.Net , а для более подробного объяснения асинхронного / ожидающего - . используя async / await .

...