query nodejs myproject fields mongodb connections

nodejs - mongodb y max conexiones



mongodb select fields (1)

Voy a tener un sitio web con 20k + usuarios concurrentes.

Voy a usar mongodb usando un nodo de administración y 3 o más nodos para fragmentación de datos.

ahora mi problema es conexiones máximas. si tengo tantos usuarios accediendo a la base de datos, ¿cómo puedo asegurarme de que no alcancen el límite máximo? también tengo que cambiar algo tal vez en el kernel para aumentar las conexiones?

Básicamente, la base de datos se utilizará para mantener a los usuarios conectados al sitio, por lo que habrá grandes operaciones de lectura / escritura.

gracias de antemano.


No desea abrir una nueva conexión de base de datos cada vez que se conecta un nuevo usuario. No sé si podrá escalar fácilmente a más de 20,000 usuarios simultáneos, ya que MongoDB usa un nuevo hilo para cada conexión nueva. Desea que el backend de su aplicación web tenga abiertas solo una o algunas conexiones de base de datos y solo las utilice en un grupo, especialmente dado que el uso de la web es muy asincrónico y depende de los eventos.

ver: http://www.mongodb.org/display/DOCS/Connections

El servidor utilizará un hilo por conexión TCP, por lo tanto, es muy recomendable que su aplicación utilice algún tipo de agrupación de conexiones. Afortunadamente, la mayoría de los conductores manejan esto detrás de las escenas. Una excepción notable son las configuraciones donde su aplicación genera un nuevo proceso para cada solicitud, como CGI y algunas configuraciones de PHP.

Cualquiera que sea el controlador que esté utilizando, deberá averiguar cómo manejan las conexiones y si se agrupan o no. Por ejemplo, Node''s Mongoose no tiene bloqueo y por lo tanto usas una conexión por aplicación generalmente. Este es el tipo de cosas que probablemente quieras.