Qualcuno capisce qual è il limite teorico di dimensione di / etc / hosts su un sistema Linux prima che tu possa iniziare a vedere il degrado delle prestazioni?
Inoltre, qualcuno può indicarmi una fonte ufficiale che indica qual è il limite previsto?
Qualcuno capisce qual è il limite teorico di dimensione di / etc / hosts su un sistema Linux prima che tu possa iniziare a vedere il degrado delle prestazioni?
Inoltre, qualcuno può indicarmi una fonte ufficiale che indica qual è il limite previsto?
Risposte:
Usa la fonte , Mike.
Il resolver utilizza una ricerca lineare attraverso il file di testo per individuare le voci. È un database senza indici. Pertanto, in assenza di funzionalità di memorizzazione nella cache aggiuntiva, il costo per le ricerche sarà O (n). Quanto a quando ciò comporterà un peggioramento delle prestazioni, questa è una domanda impossibile a cui rispondere - diventa più lento con ogni disco.
Se parli con un programmatore di database o un amministratore, otterrai cifre diverse per il punto in cui una ricerca dell'indice (O (log2 (n)) è più economica di una scansione completa della tabella, ma generalmente la risposta sarà nella regione di 20 a 100 record.
Qualsiasi sistema Linux che necessita di risolvere molti nomi (non solo nomi host). Dovrebbe essere in esecuzione nscd o simile. La maggior parte di tali cache indicizzerà i dati stessi che annullerebbero la domanda di prestazioni, tuttavia ...
Non fornisce alcun mezzo per la gestione di set di dati complessi / di grandi dimensioni: se si dispone di un host con più di un indirizzo IP, le ricerche tramite il file hosts restituiranno sempre la prima voce.
Un po 'di storia di Internet - prima che il DNS fosse distribuito nel 1984, il file hosts era l'unico per risolvere i nomi e non c'erano molti host sulla rete - 325 nel febbraio 1983 (RFC 847) . Ci sono copie di HOSTS.TXT (non leggibile dalla macchina, però) dal 1982 nell'archivio del maillista della storia di Internet . C'era anche un HOSTS.TXT alternativo (di Geoff Goodfellow) .
Tecnicamente, non c'è limite superiore. Tuttavia, ogni ricerca DNS colpirà questo file, quindi perché lasciarti aperto a questo?
Per quello che vale, il /etc/hostsfile più grande che ho distribuito nei miei ambienti era di 1.200 linee. E ha funzionato bene per l'applicazione che stavo gestendo. Il DNS non era un'opzione in quel particolare ambiente.