Newsgroup: it.comp.os.win.xp
Titolo: Problema Servizio Client DNS

Salve a tutti!
Sto sperimentando qualche piccolo problema con il servizio in oggetto.
Dai vecchi messaggi (e anche dalle mie prove) ho visto che
disabilitamdolo non si introducono malfunzionamenti, ma siccome il
comportamento che ho riscontrato è davvero troppo strano ho deciso di
postare lo stesso.
In sostanza con il servizio started non navigo.
La prima cosa strana è che durante il malfunzionamento il client DNS
succhia in media il 90% della CPU: ho scoperto che era lui il
responsabile proprio ossevando con Prcess Explorer di Sysintarnals (Dio
li abbia in gloria!) un svchost che manda in palla il pc, e le dll
associate avevano i nomi inequivoacabili che mi hanno portato ad
individuare il colpevole.
La seconda cosa strana è che tra du pc con XP SP2, il servizio up
impedisce la navigazione solo su uno di essi: la differenza più
sostanziale è che il PC sul quale funziona tutto è su un dominio, e
l'altro, sul quale ho il problema, no; si noti che il Server DNS di
quel dominio è anche impostato sulla connessione LAN del PC con il
problema: il problema ce l'ho però quando uso il PC in dial-up, con la
LAN disabilitata.
Ora, non è che mi importi di tenere il servizio attivo, visto che
tutto funziona bene lo stesso. Però mi chiedo perché un semplice
resolver/cacher di nomi di dominio debba fare tutto 'sto casino, con la
CPU a palla e tutto il resto. Semplice curiosità.
Grazie per l'attenzione, ciao!
GePs

 tutto il resto.
Il DNS client (dnscache) non serve soltanto per il caching dei
records DNS ma gestisce anche altri aspetti tra i quali il file
hosts, il dnsclient all'avvio legge le voci contenute nel file hosts
le carica in memoria e le "indicizza" in modo da accelerare le
successive operazioni di "lookup", questo nel caso in cui il file
hosts abbia dimensioni importanti causa un elevato utilizzo di
CPU in fase di avvio e può anche causare dei rallentamenti del
sistema durante il normale utilizzo, oltre a questo il dnsclient
crea un "hook" sul file hosts in modo da "accorgersi" se il file
viene modificato ed in tal caso ripete il caricamento/parsing
ed indicizzazione del file... con conseguente picco di utilizzo
della CPU nel caso in cui il file abbia grosse dimensioni
Le soluzioni a quanto sopra, a parte la disattivazione del servizio
dnsclient (che cmq non ha effetti negativi in genere) sono diverse
ossia...
* Evitare di utilizzare un file hosts di dimensioni superiori a 130Kb
* Eliminare tutti i commenti, i duplicati e le voci non valide dal file
* Riordinare il file per accelerarne il processo di indicizzazione
con "riordinare il file" intendo quanto segue (pseudocodice)
for each entry load and reverse the entry
sort the resulting list
for each entry reverse the entry
write the resulting list on file
con "reverse the entry" intendo il processo di "ribaltare" l'ordine
dom2.dom1.tld così ad esempio 
news.foobar.com
 diventerebbe
com.foobar.news ... e viceversa, in questo modo la lista contenuta
nel file hosts verrebbe ordinata per TLD (es. com) quindi per dominio
ecc... permettendo di semplificare/accelerare il parsing e l'indicizzazione
da parte del dnsclient, ovviamente quanto sopra non sempre porta a
risultati accettabili, specialmente se il file è molto grande, in tal caso
l'unica soluzione è quella di disabilitare il dnsclient o, se possibile di
utilizzare una soluzione alternativa al file hosts (es. un DNS locale)
Ciao
-- 
* ObiWan
Microsoft MVP: Windows Server - Networking
http://www.microsoft.com/communities/MVP/MVP.mspx
http://italy.mvps.org
DNS "fail-safe" for Windows 2000 and 9X clients.
http://www.treewalkdns.com
Support and discussions forums/groups
http://forums.treewalkdns.com
news://
news.treewalkdns.com
408 XP/2000 tweaks and tips
http://www.treewalkdns.com/tq/index.htm