Назад | Перейти на главную страницу

Не удается найти ограничения TCP в Windows 2012

У меня есть VPS-сервер под управлением Windows 2012 R2, который используется с программным обеспечением, которое выполняет примерно 15 000 подключений в минуту. Я заметил некоторые задержки и другие проблемы с VPS и решил перейти на выделенный сервер.

Технические характеристики VPS: «4 виртуальных ядра, 3,1 ГГц, 8 ГБ ОЗУ, SSD, соединение 100 Мбит». Специализированные характеристики: «Xeon E5-1620 v2 3,7 ГГц, ОЗУ 64 ГБ, соединение 1 ГБ»

Я установил на него Windows 2012 R2 и заметил резкое снижение скорости работы программного обеспечения. Было всего около 5000 подключений в минуту. Я подумал, что это могло быть потому, что это было на жестком диске, а не на SSD, поэтому я установил RAMDisk. Улучшения в производительности не было. Я начал изучать ограничения TCP, думая, что контейнер VPS, который был автоматически настроен для меня, может отличаться от моих настроек. Я не мог найти много. Я добавил кучу опций в параметры TCP в реестре и по-прежнему не вижу разницы.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] "TcpTimedWaitDelay"=dword:0000001e "MaxUserPort"=dword:0000fffe "TcpNumConnections"=dword:00fffffe "TcpMaxDataRetransmissions"=dword:00000005

Программное обеспечение подключается к одному IP-адресу через несколько портов (~ 100 портов).

Я не знаю, где сейчас искать. Все тесты скорости показывают, что выделенный сервер значительно быстрее, чем VPS, но VPS с более медленным подключением и менее мощным оборудованием может достигать более быстрых подключений в минуту.

Любое направление, куда я могу смотреть дальше, будет оценено.

Попробуйте следующие изменения (подробнее).

  1. Откройте командную строку администратора в% windir% \ System32 \ inetsrv \
  2. Выполните команду ниже, чтобы обновить атрибут appConcurrentRequestLimit до подходящего числа (5000 по умолчанию в IIS7 +)

appcmd.exe установить конфигурацию /section:system.webserver/serverRuntime / appConcurrentRequestLimit: 100000

  1. Откройте% windir% \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet.config (Framework64 для 64-битных процессов)
  2. Настроить это пример

    <?xml version="1.0" encoding="UTF-8" ?> <configuration> <runtime> <legacyUnhandledExceptionPolicy enabled="false" /> <legacyImpersonationPolicy enabled="true"/> <alwaysFlowImpersonationPolicy enabled="false"/> <SymbolReadingPolicy enabled="1" /> <shadowCopyVerifyByTimestamp enabled="true"/> </runtime> <startup useLegacyV2RuntimeActivationPolicy="true" /> <system.web> <applicationPool maxConcurrentRequestsPerCPU="20000" /> </system.web> </configuration>