Se eu solicitar dados de localhost versus endereço da web, os dados passam pela rede

Se eu solicitar dados de localhost versus endereço da web, os dados passam pela rede

Peço desculpas se meu texto não estiver totalmente correto - sou muito novo em tudo isso.

Meta:Estou tentando melhorar a velocidade com que obtenho dados do meu banco de dados

Configurar: Estou hospedando o banco de dados no servidor A. O banco de dados também pode ser acessado por meio de um site como www. meudbweb . com (não é meu site real, ofc). Esse acesso no lado do servidor acontece via Nginx com rotas para algo como localhost:1234.

Pergunta:Se eu logar no servidor e fizer uma solicitação ao banco de dados através do site (ou seja www.mydbweb.com), os dados serão buscados pela rede (certo?), mas se eu fizer uma solicitação localhost:1234diretamente, isso significaria que nenhum dado será passado a rede?

Em geral, existe uma forma de ignorar os dados que estão sendo buscados na rede? Sinto que a rede introduz algum tipo de latência ou gargalo para grandes consultas de dados.

Responder1

Depende um pouco do sistema operacional e da configuração da rede, mas geralmente não há diferença significativa de velocidade na comunicação com um endereço IP externo de um servidor ou com o endereço IP localhost/loopback, já que normalmente o sistema operacional e a pilha de rede estão cientes de que o o endereço IP externo também é “esta máquina” e os pacotes não saem pela rede, mas permanecem na memória.

Mas a camada de abstração adicional do nginx no caminho entre seu aplicativo e o banco de dados adicionará latência em comparação com a comunicação direta entre os dois.

A maneira mais rápida de conectar seu aplicativo ao banco de dados (quando ambos estão rodando no mesmo host) é através de um soquete Unix (para um banco de dados rodando em Linux ou sistema operacional Unix semelhante) ou uma conexão direta semelhante. Tal conexão elimina a necessidade de encapsular as solicitações e respostas em pacotes de rede.

informação relacionada