Optimización de las DNS

Cuando hacemos una petición a los servidores DNS lo que buscamos en la mayoría de las ocasiones es la dirección IP a la que corresponde dicho dominio o subdominio. Esto hace que podamos relacionar ese dominio o subdominio en concreto con su IP y almacenarla en la caché de DNS. Pero en muchas ocasiones se configuran datos en las DNS como si se tratase de entradas CNAME, que no dejan de ser “alias” de otros resultados de estas. Esto significa que, si yo hago una petición de un subdominio y me devuelve un CNAME, tendré que realizar otra petición al servidor DNS para resolver la dirección IP de ese alias. Esto implica que el proceso vaya más lento, por lo que se recomienda reducir el uso de CNAME a aquellas entradas de direcciones IP que no podamos controlar, como podrían ser servicios que nos dan terceros.

Aunque por norma general las DNS vienen configuradas por defecto, en un proyecto nuevo e importante nunca está de más configurar de forma personalizada los servidores DNS.

  • TTL: El TTL es el tiempo de vida (caché) de las DNS. Teniendo en cuenta que las DNS no es algo que se actualice con frecuencia, hay que pensar en poner unos valores medianamente razonables y altos. Como mínimo hay que poner 60 minutos y no está de más plantearse incluso indicar 1 día.
  • Dominios “exóticos”: Hay que tener cuidado con algunos dominios (por ejemplo los .LY) ya que se encuentran “lejos” de los usuarios finales. Estos dominios a nivel global suelen tener un TTL muy elevado (incluso 2 días) y puede haber problemas cuando el servicio falla. Además, la dependencia de los países es demasiado elevada. Los .LY tienen 2 servidores en Libia, 2 servidores en USA y 1 en Holanda, lo que hace tener mucha dependencia.
  • Distribución geográfica: Una forma de mejorar las peticiones DNS es hacer una especie de CDN de DNS, y distribuirlas geográficamente.
  • DNS Públicas y Privadas: En las entradas DNS se pueden incluir IPs internas y externas. Esto puede hacer que haya muchas resoluciones incorrectas. Lo mejor es separar las IPs públicas de las corporativas o privadas en distintos dominios.
  • Desactivar la Recursividad: Por norma general los servidores DNS de un dominio concreto no son servidores DNS públicos, por lo que no es necesario tener activada la recursividad.