Soy el autor de pg-promise .
Existen varios niveles de optimización para las comunicaciones de bases de datos. El más importante de ellos es minimizar la cantidad de consultas por solicitud HTTP, porque IO es costoso, al igual que el conjunto de conexiones.
- Si tiene que ejecutar más de una consulta por solicitud HTTP, utilice siempre tareas mediante el método tarea .
- Si su tarea requiere una transacción, ejecútela como una transacción, a través del método tx .
- Si necesita realizar varias inserciones o actualizaciones, utilice siempre operaciones de varias filas. Consulte Inserción de varias filas con pg-promise y Actualizaciones de varias filas de PostgreSQL en Node.js .
node-postgres comenzó a usar pg-pool desde la versión 6.x, mientras que pg-promise permanece en la versión 5.x, que usa la implementación del grupo de conexiones internas. Esta es la razón .
Mi larga práctica en esta área sugiere:si no puede incluir su servicio en un grupo de 20 conexiones, no se salvará buscando más conexiones, sino que deberá corregir su implementación. Además, al pasar de 20, comienza a ejercer una presión adicional sobre la CPU, y eso se traduce en una mayor ralentización.
El tamaño de los datos no tiene nada que ver con el tamaño del grupo. Por lo general, usa solo una conexión para una sola descarga o carga, sin importar cuán grande sea. A menos que su implementación sea incorrecta y termine usando más de una conexión, debe corregirlo si desea que su aplicación sea escalable.
Esperará a la próxima conexión disponible.
Véase también: