¿Que son búsquedas de DNS?: Como reducir las búsquedas de DNS | EasyDMARC

¿Que son búsquedas de DNS?: Como reducir las búsquedas de DNS

10 min de lectura
EasyDMARC all in one solution to protect your email domain

Un DNS es algo que muchos webmasters subestiman. Cuando un DNS está optimizado debidamente puede mejorar de forma significativa la velocidad y el desempeño de tu sitio web. El día de hoy vamos a hablar de la búsqueda de DNS y cómo afecta la operación de tu sitio web. También vamos a mostrarte cómo reducir las búsquedas de DNS, lo cual mejorará notablemente el desempeño de tus recursos. 

¿Qué es una búsqueda de DNS?

Los DNS son la piedra angular de la internet. Así como una dirección nos evita el tener que usar coordenadas geográficas, un nombre de dominio nos libera del trabajo de tener que recordar una dirección IP numérica.

Cada dominio de valor en la red está asociado a una dirección IP ̈. Por ejemplo, cuando entras a Google.com en tu navegador, tu ISP busca los nombres de los servidores asociados con ese dominio específico. Sin un DNS tendrías que escribir el código 216.58.212.110 para acceder al sitio.

El proceso de búsqueda para determinar qué IP pertenece a un sitio web específico (o cuál es su dominio) se le denomina “búsqueda de DNS.”

Antes de que puedas observar y cargar los recursos necesarios para tu página web usando un navegador, necesitas hacer una búsqueda de DNS para cada dominio que ofrece información de dicha página.

Sin embargo, no es necesario hacer una búsqueda para cada recurso de la página. Por ejemplo, cuando haces una búsqueda para las siguientes direcciones HTTP: 

http://hostinger-dev-2.xyz

http://hostinger-dev-2.xyz/wp-content/themes/veggie-lite/style.css

http://hostinger-dev-2.xyz/wp-content/plugins/mailchimp-for-wp/assets/js/forms-api.min.js

http://platform.linkedin.com/in.js

http://platform.twitter.com/widgets.js

Como puedes ver, se han hecho cinco solicitudes, y solo podemos ver tres dominios en el ejemplo. Esto significa que tu navegador solo realiza tres búsquedas de DNS

http://hostinger-dev-2.xyz

http://platform.linkedin.com

http://platform.twitter.com

Cuando visitas cualquier página, usualmente tu navegador solicita todos los recursos de esta con una búsqueda DNS. Después que lo hace debe esperar a que el proceso de búsqueda se complete antes de que el navegador pueda bajar lo que sea.

Esto usualmente suele tomar algo de tiempo, especialmente en una página en la que hay muchas búsquedas de DNS. Como resultado el tiempo de carga de la página se incrementa. 

Búsqueda de DNS: formas simples de reducir las vistas al DNS

Ahora ya sabes lo que hacen las búsquedas de DNS, así que es momento de reducir el número de búsquedas para mejorar el desempeño de tu sitio web. Estos son los pasos que debes seguir:

1. Usa un servicio de DNS que sea rápido

Similar a los servicios de hosting, existen proveedores de DNS extremadamente confiables y algunos que dejan mucho que desear. Un buen proveedor de DNS puede reducir de manera significativa el número de búsquedas DNS para tu sitio web. Algunos de los servicios más populares son Cloudflare, WordPress.com, Edgecast, DNSMadeEasy, y DYN.

La manera en la que trabajan los DNS es bastante similar al funcionamiento de los CDN (Redes Proveedoras de Contenido según sus siglas en inglés). Estos tienen múltiples puntos presenciales alrededor del mundo, los cuales proveen mejores tiempos de respuestas para hacer que tú sitio cargue más rápido. 

Puedes usar herramientas tales como DNSPerf y DNS SPeed Test para encontrar los mejores proveedores de DNS en tu área. 

2. Optimiza la cache de tu DNS

Gracias a la caché de los DNS, la información sobre las direcciones IPs están asociadas a un dominio específico en muchos servidores por tiempo limitado. Como resultado, el tiempo de búsqueda por un DNS toma mucho menos tiempo.

La caché de tu DNS funciona exactamente igual a la caché de WordPress. La información del DNS se mantiene en un servidor hasta que esta expira. El tiempo que ésta dure es totalmente configurable a través del protocolo TTL (tiempo de vida o Time To Live, en inglés).

 Puedes cambiar los valores del TTL para el registro de tu dominio, o con los proveedores de DNS de servicios ofrecidos por terceros. Al mayor tiempo de duración de la información en la caché, tendremos mayor reducción de búsquedas de DNS, así como menores tiempos de búsqueda. 

Si tu sitio web está hospedado en Hostinger, puedes cambiar este valor en la zona editora de DNS.

3. Optimización para captación previa de DNS

Otra forma de reducir las búsquedas de DNS es minimizando la actividad tras bastidores mientras los visitantes navegan nuestro sitio. Esta técnica es conocida como captación previa de DNS.

La captación previa le permite al navegador acceder a las direcciones potenciales de páginas con contenido específico (en base al tipo de imágenes o contenido escrito) que necesita mostrar cuando sea accedido. Este motor de captación trata de entender el tipo de dominios según su nombre antes que el usuario trate de buscar el enlace de acceso y esta información queda almacenada en la caché.

Cuando un visitante del sitio haga clic en un enlace mientras trata de navegar un dominio con permiso previo, este tiene acceso inmediato al contenido. 

Puedes añadir captación previa de DNS a una URL específica usando la etiqueta “rel=” al enlace atribuido. Si estás usando WordPress, puedes incluir esta línea a tu encabezado:

Una de las mejores características de la captación previa de DNS es que es usada por todos los navegadores modernos. 

4. Habilitación del modo Keep-Alive

Una de las formas de reducción de búsquedas DNS es la habilitación del modo Keep-Alive. Si esta opción se encuentra activa, los canales de comunicación entre el servidor y el navegador están abiertos constantemente ayudando a que la carga de recursos sea mucho más rápida para tu sitio web.

Por ejemplo, si tienes un recurso en at n1.assetdomain.com y cinco recursos en n2.assetdomain.com, ambos pueden acumular seis búsquedas individuales de DNS. Con Keep-Alive, estos recursos son cargados usando dos búsquedas únicamente.

Vale la pena hacer notar que este tipo de transferencias activas usan una fracción muy pequeña del ancho de banda y que todas las solicitudes están incluidas en un mensaje minúsculo. Puedes activar esta opción en Apache y servidores Nginx.

Apache

Para activar Keep-Alive en un servidor Apache, añade el siguiente código a tu archivo .htaccess:

Header set Connection keep-alive

Nginx

Para servidores Nginx, debemos encontrar los módulos HTTP (ngx_http_core_module) y ubicar una línea que dice algo similar a “keep alive_disable” debes cambiar este comando como se ve en la captura que se muestra a continuación: 

keepalive_disable none;

5. Reemplaza los registros CNAME con registros ANAME

Los registros CNAME crean una búsqueda adicional que puede causar un leve retraso en la resolución de búsqueda de una IP. Un número pequeño de CNAMEs no es mucho problema. Pero si existen muchos registros de este tipo en tu sitio web, es necesario removerlos del DNS para reducir el número de búsquedas

Como alternativa, puedes usar registro ANAME, estos tienen una funcionalidad similar al CNAME a nivel de raíz, lo cual se traduce en resoluciones de búsqueda de direcciones IP mucho más rápidas.

Los registros CNAME son usados como alias para enlaces de dominio para el dominio principal. Por ejemplo, si tomamos el dominio www.domain.com con un registro CNAME a la medida. Para resolver la dirección IP, primero es necesario resolver el nombre del hospedaje, lo cual requiere dos juegos de búsquedas diferentes. 

SECCIÓN DE RESPUESTAS:

www.domain.com. 3599 EN CNAME domain.com.

domain.com. 3599 EN A 40.71.11.131

El registro ANAME en cambio, permite pasar por alto estas solicitudes y ofrece la siguiente respuesta:

SECCIÓN DE RESPUESTAS:

www.domain.com. 3599 EN A 40.71.11.131

Si estás usando Cloudflare, puedes manejar esta función con un comando llamado “CNAME Flattening” que es análogo a un registro ANAME.

6. Carga lenta de JavaScript

Este método permite que todo el contenido del sitio se cargue completamente antes de que JavaScript se cargue. Esto significa que la búsqueda de DNS no sucederá de forma inmediata. Esta práctica puede acelerar el tiempo de carga de un sitio web y mejorar notablemente la experiencia del visitante.

En WordPress puedes usar el plug-in Async JavaScript para que haga este trabajo por ti, pero recuerda que también necesitas la lista de los scripts de JavaScript que quieres excluir del aplazamiento.

Conclusión 

La búsqueda de DNS es un concepto que describe un proceso específico: una búsqueda similar a la que haríamos en un directorio telefónico, pero en la internet. Esta búsqueda incluye el nombre de un dominio y el sistema que lo maneja. Toda esta información está contenida en la dirección IP a la que pertenece el sitio web en particular.

La búsqueda de un DNS consiste en la búsqueda de múltiples direcciones enviadas de un servidor a otro hasta que la información que se está solicitando sea encontrada. Mientras más larga sea la búsqueda, más tiempo tomará que la página cargue debidamente, lo cual puede afectar negativamente la experiencia de los usuarios que navegan en dicha dirección. 

Permítenos reiterarle cómo puedes reducir el número de búsquedas de DNS y mejorar el desempeño y la velocidad de carga de tu sitio web:

Usar un servicio de DNS rápido es una forma segura de mejorar las búsquedas DNS mientras las ISPs se hacen cargo de los procesos de optimización.

Optimizar la caché del DNS es otra manera genial de mejorar las búsquedas de DNS. Funciona de una forma muy similar al caché de WordPress.

Captación previa de DNS, aumenta la velocidad de respuesta haciendo una resolución anticipada de los nombres de dominio en una página. Todos los navegadores populares usan este método.

Usar el modo Keep-Alive, te permite mantener la comunicación entre el navegador y el servidor activa en todo momento sin consumir mucho ancho de banda.

Reemplaza los registros CNAME con ANAME. Este tipo de registro es mucho más eficiente para la transmisión de solicitudes.

Carga lenta de JavaScript, con este método puedes aplazar la carga de JavaScript para que el contenido del sitio cargue más rápido mientras esta carga posteriormente.