Elimine la limitación de Windows 7 sobre la cantidad de conexiones TCP simultáneas (solicitudes web http)

3

Tengo una aplicación que intenta abrir tantas solicitudes http como sea posible (para hacer una prueba de esfuerzo de una implementación de proxy)

Me parece que Win7 (SP1) puede tener una limitación en el número de conexiones abiertas concurrentes (puede ser el llamado estado medio abierto si no me equivoco). ¿Hay algo que pueda hacer por el cliente? y también pruebo usando una PC con vista que actúa como un servidor proxy.

Sería genial si pudiera configurarlo para mantener al menos 50 nuevas conexiones iniciadas / segundo en el lado del cliente y muchas más en el servidor.


Hice la modificación de acuerdo con este artículo de technet estableciendo TcpNumConnections = 150 pero no hace la diferencia. Todavía veo solo unos 20 sockets tcp asociados con mi cliente http mediante tcpview.

Ghita
fuente
1
Votación para cerrar como fuera de tema. El límite de 20 conexiones se especifica en el EULA de Windows 7 (aunque aumentó de 10 en versiones anteriores): e. Device Connections. You may allow up to 20 other devices to access software installed on the licensed computer to use only File Services, Print Services, Internet Information Services and Internet Connection Sharing and Telephony Services. es posible que no lo haya sabido, pero violaría el EULA al permitir más de 20 conexiones TCP / IP.
bwDraco
77
@DragonLord Esa disposición de EULA no se aplica: no está utilizando Servicios de archivo, Servicios de impresión, Servicios de información de Internet, ICS o Telefonía. Está haciendo conexiones desde un programa de prueba a un proxy.
David Schwartz
2
Además, el texto dice explícitamente 20 dispositivos . Se está conectando a un servidor proxy.
MSalters
2
El aumento de las conexiones medio abiertas no viola el EULA a un dispositivo.
Jeff F.

Respuestas:

1

Para evitar que la pila TCP / IP tome todos los recursos en la computadora, existen diferentes parámetros que controlan cuántas conexiones puede manejar. Si ejecuta aplicaciones que constantemente abren y cierran conexiones (P2P), o proporcionan un servicio al que muchos intentan conectarse al mismo tiempo (servidor web como IIS), se puede mejorar el rendimiento de estas aplicaciones cambiando la restricción límites

Hay parámetros que limitan el número máximo de conexiones que TCP puede tener abiertas simultáneamente.

Para ver instrucciones completas sobre cómo aumentar el número de conexiones simultáneas que puede tener abiertas al mismo tiempo, vaya a este sitio web.

wizlog
fuente
-1

La respuesta sobre stackoverflow aquí puede ser útil aquí, estaba viendo el mismo problema.

Para aumentar el límite de conexión por host, puede hacerlo en cualquier momento antes de comenzar a realizar las solicitudes HTTP.

System.Net.ServicePointManager.DefaultConnectionLimit = 1000;
Tristan Warner-Smith
fuente