Tanti amministratori di sistema riscontrano le lamentele degli utenti perché l’accesso a determinati servizi IT (Web, Citrix, Terminal Server ecc.) avviene in tempi non soddisfacenti. Anche servizi di cloud come per esempio office 365 possono essere colpiti. Uno dei motivi che può causare queste perfomance scadenti è dovuto al fatto che la risoluzione dell’indirizzo DNS adopera più tempo del previsto. Per scoprire eventuali cause di questi rallentamenti abbiamo implementato nella nostra soluzione Real User Experience (RUE) un nuovo DNS Plugin. Andiamo a vedere come funziona un DNS in generale: Per poter accedere al servizio, l’indirizzo DNS dev’essere risolto in un indirizzo IP. Questo richiede alcuni passi – come descritto nel grafico sottostante.
Il client che richiede un servizio effettua la sua richiesta al DNS server, il quale se possiede l’informazione la restituisce altrimenti la chiede a sua volta ad altri DNS
Una volta identificato, l’indirizzo IP può essere memorizzato per un tempo determinato (nella cache del server DNS). In questo caso una richiesta dello stesso dominio può essere soddisfatta in pochissimo tempo. Se il tempo di cache (time to live) è scaduto la richiesta per l’indirizzo IP dev’essere inoltrata nuovamente al DNS server come descritto nell’immagine. Per monitorare questi tempi di risposta il nuovo DNS Plugin all’interno della RUE recupera varie informazioni che in seguito possono essere analizzate. Vediamone alcune:
Application Latency: tempo trascorso fino al ottenimento della risposta
Response Code: indica il codice del risultato (NOERROR, SERVFAIL, REFUSED, …)
Query Type: tipologia di informazione richiesta (A, AAAA, MX, …)
Query Text: nome da risolvere / aggiornare
DNS query class: internet / non internet
Answer: contiene gli RRs che rispondono alla query
Rec TTL: Time to live per questo DNS record
Authority: Contiene RRs che descrivono altri authoritative servers. Possono eventualmente contenere le SOA RR per I’ authoritative data nella sezione answer
Additional: Contiene RRs che possono essere utili per usare gli RRs delle altri sezioni
DNS OpCode:tipo di attività (query, update, status, ..)
Informazioni recuperate
Informazioni dettagliate
La RUE che raccoglie ed organizza queste informazioni è inoltre in grado di darne una rappresentazione graficaper garantire una maggiore comprensibilità dei dati rilevati:
Rappresentazione grafica
Caso esemplificativo:
Caso esemplificativo
Esempio dove si può notare il servizio plus.google.com che ha una latenza applicativa molto bassa (~5 ms) ma la risposta del dns secondario per risolvere l’host plus.google.com è arrivata con una latenza piuttosto alta (~ 1.5 sec) In questo caso l’utente lamenta un rallentamento iniziale nell’usufruire il servizio, ma il problema non è ne da imputare al servizio ne alla rete ma ad una malconfigurazione o ad un eccessivo carico del dns.
Hi everyone, I’m Luca, graduated in electrical engineering from the University of Bologna. I am employed by Würth Phoenix since its foundation. I worked mainly as enterprise architect and quality assurance engineer. Previously I was involved in systems measurement and embedded systems programming. I have gained experience on Unix (Solaris, HPUX), Windows, and C, C + +, Java. I personally contribute to the Open Source community as beta tester and developer. During my spare time I love piloting airplanes fly over the beautiful Alps. I practice many sports: tennis, broomball, skiing, alpine skiing, volleyball, soccer, mountain biking, middle distance, none have a sample but the competition excites me! I love hiking, tracking and traveling.
Author
Luca Di Stefano
Hi everyone, I’m Luca, graduated in electrical engineering from the University of Bologna. I am employed by Würth Phoenix since its foundation. I worked mainly as enterprise architect and quality assurance engineer. Previously I was involved in systems measurement and embedded systems programming. I have gained experience on Unix (Solaris, HPUX), Windows, and C, C + +, Java. I personally contribute to the Open Source community as beta tester and developer. During my spare time I love piloting airplanes fly over the beautiful Alps. I practice many sports: tennis, broomball, skiing, alpine skiing, volleyball, soccer, mountain biking, middle distance, none have a sample but the competition excites me! I love hiking, tracking and traveling.