Buscar

Realice su búsqueda por palabras clave, tags, FAQs, etc.

Error: Insufficient winsock resources available to complete socket connection initiation

El error “Insufficient winsock resources available to complete socket connection initiation.” lo está devolviendo la capa de WCF que se utiliza en la comunicación entre los servicios de Engage, pero el origen del problema puede estar incluso en otra aplicación.

La causa más probable de este error es que se hayan agotado los puertos TCP disponibles, y esa es una característica de Windows que afecta a todas las aplicaciones, no solo a Engage. Hay un límite de puertos TCP abiertos y también un timeout para liberar el puerto una vez que la conexión se cierra. Es decir, por más que se cierre la conexión, el puerto queda un tiempo en estado TIME_WAIT, y mientras esté en ese estado, no puede ser reutilizado, incluso por otra aplicación.

Los posibles motivos para que se agoten los puertos TCP disponibles son los siguientes:

1-  Otra aplicación distinta a Engage está generando conexiones TCP y no las libera rápidamente.
2-  Problemas de lentitud o estabilidad de la red.
3-  El parámetro “MaxUserPort” de la registry está en default o con un valor demasiado bajo.
4-   El parámetro “TcpTimedWaitDelay” de la registry es muy alto y hay margen para bajarlo.
5-   Por algún motivo, los procesos de Engage están tardando más de lo normal, lo cual puede mantener conexiones abiertas por un tiempo más prolongado. Esto puede deberse a que:

  • La base de datos está tardando en responder o en establecer las conexiones que intenta abrir Engage.
  • Alguna integración con otro sistema está tardando y su utilización es muy frecuente.
  • Uno o varios stored procedures de implementación están tardando o no son eficientes.
  • Se están utilizando vistas previas de email y no se optimizó la configuración de EIS.

6-   Los queries de producto están tardando demasiado en ejecutarse (especialmente Inbox y búsqueda de cliente).
7-   La configuración de los bindings de WCF o el parámetro maxconnection de los archivos .config de Engage (servicios y web) no están optimizados.
8-   Todo o parte de lo anterior combinado con una mayor concurrencia.

Cuando se dan situaciones de este tipo, por lo general se producen retenciones de recursos que pueden generar problemas en cascada o que se retroalimentan, llegando incluso a tener elevado consumo de memoria o de procesador. Si bien se pueden optimizar algunos parámetros, siempre es mejor resolver el origen del problema.

Dado lo anterior, es necesario contar con información de contexto y la intervención de los implementadores que conocen el desarrollo que se hizo, para analizar el problema.

Por ejemplo:

1-  Este problema empezó a suceder ahora? O ya sucedió anteriormente?
2-  Hay más cantidad de usuarios ingresando al sistema?
3-  Se comparte el servidor con otras aplicaciones o procesos?
4-  Hay otros errores registrados en los logs de los servicios de Engage?
5-  Existen nuevas integraciones? O las existentes están tardando más que antes?
6-  Hay problemas de conectividad?
7-  Cuál es el patrón de uso de Engage? (qué acciones realizan con frecuencia los usuarios)
8-  Todos los componentes de Engage están instalados en el mismo servidor?
9-  Se utiliza la forma de acceso NT de Engage?

Como mínimo, necesitamos la información solicitada en los puntos anteriores y que nos pasen los archivos de log de los servicios de Engage del momento en que se produjo en problema. También necesitamos los archivos de configuración (.config y .xml) de todos los servicios de Engage y del Agente Web.

Si se vuelve a producir el problema, antes de reiniciar el servidor, por favor ejecuten el siguiente comando y pásennos el resultado: netstat -noap TCP. Es importante prestar atención a la cantidad de conexiones que figuran como ESTABLISHED y a las que aparecen como TIME_WAIT. También a las aplicaciones que forman parte de la conexión.

Deja una respuesta

Debe logged in para publicar un comentario.