.net - valor - wcf service binding configuration
Servicio WCF Limitación (2)
Encontré una solución: hay un límite de conexión en ServicePointManager que estaba causando este problema. Para eliminar este límite solo necesitas configurar
System.Net.ServicePointManager.DefaultConnectionLimit = X;
donde el límite predeterminado es 2.
Tengo un servicio WCF implementado en una aplicación de consola con BasicHTTPBinding y SSL habilitado. El siguiente atributo se establece también:
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
También he establecido el comportamiento de regulación de
<serviceThrottling maxConcurrentCalls="2147483647" maxConcurrentSessions="2147483647"
maxConcurrentInstances="2147483647" />
Por otro lado, he creado un cliente de prueba (para la prueba de carga) que inicia varios clientes simultáneamente (varios subprocesos) y realiza transacciones en el servidor. Todo parece estar bien, pero en el servidor la utilización de la CPU no aumenta, así que agregué algo de registro para ver la cantidad de llamadas simultáneas al servidor y descubrí que nunca superó las 6.
He revisado el código de registro del contador de rendimiento más de dos veces y me parece bien.
Así que quiero preguntar dónde está el problema en esta situación? No he especificado ningún tipo de ContextMode o ConcurrencyMode todavía.
Después de esta publicación, me di cuenta de que cada vez que comienzo otra Intance of Test Client, mi contador de llamadas de servidor concurrente aumenta a 2, como si estoy ejecutando solo 1 instancia, el máximo de llamadas concurrentes de Rcvd será 2 y si hay dos instancias, el mismo valor se va a 4 y así. ¿Hay algún límite de Número de llamadas WCF de un proceso único?
******** Añadido el 17 de marzo ********
Hoy realicé otra prueba con un cliente de prueba (con 50 usuarios concurrentes) en la misma máquina en la que se ejecuta el servidor. Esta vez estoy obteniendo el resultado exacto que quería que muestre (es decir, Máximo de llamadas concurrentes Rcvd por servidor = 50).
Pero también tengo que hacer lo mismo en otras máquinas. ¿Puede alguien ayudarme con esto?
O utilice esta configuración en el cliente.
<system.net>
<connectionManagement>
<add maxconnection = "200" address ="*" />
</connectionManagement>
</system.net>
Aquí 200 es el límite del cliente.