2009-07-30 16 views
6

Tengo un servidor web que aloja una aplicación de chat HTTP que funciona con largas encuestas.¿Cuál es la cantidad máxima de conexiones HTTP que puedo tener abiertas en un cuadro de Windows Server 2008?

Esto significa que el navegador del cliente "encuestas" de nueva información y el servidor no responde hasta que haya información para enviar de vuelta, por lo que la conexión HTTP se deja abierta durante mucho tiempo, hasta un minuto.

Mi pregunta es cuántas de estas conexiones el servidor puede manejar abiertas al mismo tiempo antes de que muera.
Por supuesto, no existe un número exacto, pero quiero tener una idea, un orden de magnitud (1.000, 10.000, 100.000?)

Cualquier ideas relacionadas con esta basado en alguna experiencia que haya tenido es más de bienvenida

Respuesta

1

Para ser sincero, en todas las situaciones, salvo en las más extremas, se le acabarán los recursos para su aplicación antes de superar la cantidad de conexiones admitidas. IIS puede manejar una gran cantidad de conexiones de red puras pero, en última instancia, se reduce a si su aplicación puede procesar datos de ellos lo suficientemente rápido.

Si realmente espera escalar esto a miles de usuarios a la vez, seguiría adelante e incorporaría su diseño para poder escalar hacia múltiples servidores de aplicaciones para el usuario. Lo más probable es que parezca un equilibrador de carga o un proxy inverso que equilibre estas conexiones HTTP entre los servidores de aplicaciones para el usuario, con esos servidores de aplicaciones para el usuario procesando y comunicándose con una base de datos central SQL o cualquiera que sea su mecanismo de almacenamiento.

Editar: Otra nota, en relación con el escenario de servidor único: independientemente de la cantidad de conexiones que pueda manejar IIS, su firewall también tiene sus límites. Por lo general, también es una cantidad disparatada, pero también tendrá que mirar su firewall si realmente desea encontrar el techo.

+0

Dos comentarios: la mayoría de las veces, nuestro código no está haciendo NADA, simplemente está sosteniendo el mango de la conexión en caso de que ocurra algo que deba notificarse. No estoy diciendo que nunca será un cuello de botella, por supuesto, pero podemos seguir recibiendo servidores cada vez más grandes si ese es el caso, y realmente es un código muy ligero. –

+0

En cuanto a la división de los servidores: Sí, tenemos esa idea para el futuro, pero implica un gran esfuerzo que preferiríamos usar en la creación de funciones por el momento. Estamos tratando de descubrir, por ahora, cuánto tiempo se mantendrá el escenario de servidor único. Eventualmente tendremos que movernos a servidores múltiples, pero nos gustaría mantenerlo el mayor tiempo posible. –

+0

Dicho esto, no espero que nuestro código funcione con 65k conexiones. Pensé que el límite sería mucho más bajo (5-10k), en cuyo caso podríamos estar golpeándolo. ¡Gracias por tu respuesta! –

Cuestiones relacionadas