Я смотрю на проблему производительности веб-сайта asp.net.
Похоже, что когда мы достигаем 1000 одновременных подключений на сервер, все замедляется.
У нас есть несколько веб-серверов за аппаратным балансировщиком нагрузки.
Есть ли какой-либо параметр по умолчанию, который составляет 1000 подключений?
Какой аппаратный балансировщик нагрузки вы используете? Возможно, у него нет лицензионного лимита в 1000 одновременных подключений? Я вспоминаю, как в прошлом сетевые устройства, такие как межсетевые экраны Cisco PiX, имели ограничение на «максимальное количество одновременных подключений», налагаемое лицензионным ключом.
Проверьте свой ASP.NET <processModel \>
раздел для каркаса. c: \ windows \ microsoft.net \ framework (64) (версия) \ config \ web.config и machine.config:
Это имеет некоторые ограничения на очереди запросов и потоки.
Однако более серьезная проблема заключается в том, почему у вас 1000 одновременных подключений. Если вы сможете получить пользователей сервера быстрее, то он не будет так высок. Если вам удастся найти пару проблемных страниц и увеличить производительность, сервер сможет не отставать, и ограничение в 1000 не будет проблемой. Вообще говоря, 1000 одновременных подключений - это ОЧЕНЬ много трафика, и каждый веб-сервер обычно не рассчитывает обрабатывать столько.
Похоже, это была проблема с разгрузкой TCP Chimney в Windows 2008 R2.
В основном это разгружает работу сетевой карты, но если сетевая карта перегружена, все замедляется, но все нормальные значения производительности показывают небольшую нагрузку.