promises nodejs node make instalar from node.js request

node.js - make - request nodejs github



En el Nodo js. Cuántas solicitudes simultáneas puedo enviar con el paquete "solicitud" (1)

¿Cuántas solicitudes simultáneas puedo hacer con el paquete de solicitud ? Espero recibir datos de cada solicitud que confirme que la solicitud se recibió y se procesó correctamente. ¿Este hardware o sistema operativo es dependiente? ¿Dónde empiezo a buscar?


Una de las versiones más recientes de node.js no impone un límite a las solicitudes salientes (las versiones anteriores sí lo hicieron). Si estuvieras literalmente tratando de hacer millones de conexiones salientes al mismo tiempo, probablemente alcanzarías un límite en tu propio servidor node.js que sería específico del sistema operativo. Sin embargo, es más probable que el límite objetivo sea determinado por el host de destino.

Dado que todas sus solicitudes se envían al mismo host, el servidor al que está haciendo las solicitudes determinará el límite más probable. Tendrá algún tipo de límite para la cantidad de solicitudes simultáneas que puede tener "en vuelo" al mismo tiempo antes de que comience a rechazar nuevas conexiones. Lo que ese número depende completamente de cómo el servidor está configurado y construido. Para http://www.google.com , es probable que el número sea de cientos de miles o millones de solicitudes porque tienen una enorme granja de servidores y las solicitudes están equilibradas en todos ellos. Para un simple servidor de CPU único, el límite obviamente sería mucho menor que eso.

Además, de todos modos, será poco útil enviar miles de millones de solicitudes a un solo servidor de CPU porque de todos modos no podrá trabajar en todas ellas a la vez.

Por lo tanto, si desea saber qué es lo que mejor funciona para un determinado host de destino, deberá configurar un arnés de prueba ajustable para que pueda probar los escenarios a los que envía desde 1, 2, 5, 10, 50, 100, 200, 500, 1000 a la vez y vea cuál es el tiempo de respuesta promedio y dónde comienza a obtener errores (si corresponde).

Si no desea hacer ningún tipo de prueba de ese tipo, una opción razonablemente segura que no intente optimizar por completo es no enviar más de 5 solicitudes en vuelo al mismo tiempo.

Puede crear algo usted mismo para gestionar N solicitudes en vuelo a la vez o puede usar una de las bibliotecas existentes que lo harán por usted. La biblioteca de promesa de Bluebird tiene una opción de concurrency en algunas de sus funciones, como Promise.map() que automáticamente lo hará por usted, independientemente del valor de concurrencia que establezca. La biblioteca asíncrona también tiene algo similar.

Si desea ayuda más específica para diseñar el código para administrar cuántas solicitudes están en vuelo a la vez o para construir un arnés de prueba para él, muéstrenos parte de su código para el origen de todas las solicitudes, así tenemos una idea de cómo funciona (si se trata de una gran variedad de solicitudes o cuál es el origen de las URL).