
Disculpas si mi redacción no es del todo correcta. Soy bastante nuevo en todo esto.
Meta:Estoy intentando mejorar la velocidad a la que obtengo datos de mi base de datos.
Configuración:
Estoy alojando la base de datos en el servidor A. También se puede acceder a la base de datos a través de un sitio web como www. mydbweb. com (no es mi sitio web real). Este acceso en el lado del servidor se realiza a través de Nginx con rutas a algo como localhost:1234
.
Pregunta:Si inicio sesión dentro del servidor y hago una solicitud a la base de datos a través del sitio web (es decir www.mydbweb.com
), los datos se recuperarán a través de la red (¿verdad?), pero si hago una solicitud directamente localhost:1234
, ¿significaría esto que no se pasan datos? la red?
En general, ¿existió una forma de omitir la obtención de datos a través de la red? Siento que la red introduce algún tipo de latencia o cuello de botella para consultas de datos de gran tamaño.
Respuesta1
Depende un poco del sistema operativo y de la configuración de la red, pero generalmente no hay una diferencia de velocidad significativa en la comunicación con una dirección IP externa de un servidor o la dirección IP del host local/bucle invertido, ya que normalmente el sistema operativo y la pila de red son conscientes de que el La dirección IP externa también es "esta máquina" y los paquetes no salen por el cable sino que permanecen en la memoria.
Pero la capa de abstracción adicional de nginx en la ruta entre su aplicación y la base de datos agregará latencia en comparación con la comunicación directa de ambas.
La forma más rápida de conectar su aplicación a su base de datos (cuando ambas se ejecutan en el mismo host) es a través de un socket Unix (para una base de datos que se ejecuta en Linux o un sistema operativo Unix similar) o una conexión directa similar. Una conexión de este tipo elimina la necesidad de encapsular las solicitudes y respuestas en paquetes de red.