Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 739

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>NFS HOWTO: NFS su linee lente</TITLE>
 <LINK HREF="NFS-HOWTO-6.html" REL=next>
 <LINK HREF="NFS-HOWTO-4.html" REL=previous>
 <LINK HREF="NFS-HOWTO.html#toc5" REL=contents>
</HEAD>
<BODY>
<A HREF="NFS-HOWTO-6.html">Avanti</A>
<A HREF="NFS-HOWTO-4.html">Indietro</A>
<A HREF="NFS-HOWTO.html#toc5">Indice</A>
<HR>
<H2><A NAME="slow-lines"></A> <A NAME="s5">5. NFS su linee lente</A></H2>

<P>Le linee lente includono Modem, ISDN e tutte le altre connessioni
su lunga distanza.
<P>
<P>Questa sezione si basa sulla conoscenza dei protocolli usati, ma non
su prove reali poich&eacute; non ho modo di verificarli. Fatemi sapere le vostre
esperienze se avete la possibilit&agrave; di provare ;-)
<P>
<P>La prima cosa da ricordare &egrave; che NFS &egrave; un protocollo lento.
Ha un grosso overhead di sistema. Usare NFS &egrave; come usare il kermit
per trasferire i file. &Egrave; veramente <EM>lento</EM>. Quasi tutto
&egrave; pi&ugrave; veloce di NFS. FTP, HTTP, rcp e ssh sono pi&ugrave; veloci.
<P>
<P>Siete ancora convinti di volerlo provare? OK.
<P>
<P>I parametri predefiniti di NFS sono per linee veloci e con bassa
latenza. Se usate questi parametri su linee ad alta latenza si potrebbero
verificare errori, operazioni non portate a termine, file che risultano
essere pi&ugrave; corti di quanto siano in realt&agrave; e altri fatti misteriosi.
<P>
<P>La prima cosa da fare &egrave; di <EM>non</EM> usare l'opzione per il
mount <CODE>soft</CODE>. Questo potrebbe fare in modo che i timeout restituiscano
errori alle applicazioni, che potrebbero non gestirli correttamente.
Quella appena descritta potrebbe essere la causa di misteriosi fallimenti.
Usate invece l'opzione <CODE>hard</CODE>. Quando l'opzione <CODE>hard</CODE> &egrave; attiva, i
timeout generano infiniti tentativi invece di terminare l'operazione
che il software voleva effettuare. Ed &egrave; ci&ograve; di cui avete bisogno.
<P>
<P>La prossima cosa da fare &egrave; ingannare le opzioni <CODE>timeo</CODE> e
<CODE>retrans</CODE>. Sono descritte nella pagina man nfs(5), che &egrave;
qui riportata [tradotta NdT]:
<P>
<HR>
<PRE>
       timeo=n        Il valore, in decimi  di  secondo  prima di
                      tentare  una  ritrasmissione  dopo  un  RPC
                      timeout.  Il  valore  di  default  &egrave;  di  7
                      decimi  di  secondo. Dopo il primo timeout,
                      il  timeout  viene   raddoppiato  dopo ogni
                      successivo  timeout fino a un massino di 60
                      secondi oppure nel caso avvenga un  timeout
                      maggiore.  Inoltre,  se  il  filesystem   &egrave;
                      montato  in  modo  hard, ogni nuovo timeout
                      avr&agrave;  come  valore  di  partenza, il doppio
                      del  valore  di  partenza della sequenza di
                      timeout  precedente,  che  si  raddoppia  a
                      ogni  ritrasmissione.  Il  massimo  timeout
                      rimane  di  60 secondi. Le migliori presta-
                      zioni si raggiungono incrementando il valo-
                      re  di  timeout quando si monta un disco su
                      una  rete  lenta, su un server lento oppure
                      attraverso router e gateway.

       retrans=n      Il numero  di  timeout minori e ritrasmis-
                      sioni  che  si devono verificare prima che
                      si verifichi un timeout maggiore. Il valo-
                      re  di  default  &egrave; di 3 timeout. Quando si
                      verifica  un timeout maggiore, viene bloc-
                      cata l'operazione sul file e sulla console
                      appare "server  not responding".
</PRE>
<HR>
<P>
<P>In altre parole: se non viene ricevuta una risposta entro il
timeout di 0,7 secondi (700ms) il client NFS ripeter&agrave; la richiesta
raddoppiando il timeout a 1,4 secondi. Se non si riceve risposta
entro 1,4 secondi la richiesta viene ripetuta ancora e il
timeout viene raddoppiato ancora a 2,8 secondi.
<P>
<P>La velocit&agrave; di una linea pu&ograve; essere misurata con un ping
con le dimensioni del pacchetto e di rsize/wsize uguali.
<P>
<HR>
<PRE>
$ ping -s 8192 lugulbanda
PING lugulbanda.uio.no (129.240.222.99): 8192 data bytes
8200 bytes from 129.240.222.99: icmp_seq=0 ttl=64 time=15.2 ms
8200 bytes from 129.240.222.99: icmp_seq=1 ttl=64 time=15.9 ms
8200 bytes from 129.240.222.99: icmp_seq=2 ttl=64 time=14.9 ms
8200 bytes from 129.240.222.99: icmp_seq=3 ttl=64 time=14.9 ms
8200 bytes from 129.240.222.99: icmp_seq=4 ttl=64 time=15.0 ms

--- lugulbanda.uio.no ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 14.9/15.1/15.9 ms
</PRE>
<HR>
<P>
<P>Il tempo qui &egrave; quanto impiega il pacchetto del ping ad andare
avanti e indietro da lugulbanda. 15 ms &egrave; abbastanza veloce. Su
una linea a 28.800 bps ci si pu&ograve; aspettare qualcosa come 4000-5000ms,
e se la linea &egrave; molto carica questo tempo sar&agrave; ancora pi&ugrave; alto,
anche doppio. Quando il tempo &egrave; elevato, si dice che la linea ha
elevata latenza. Generalmente per pacchetti pi&ugrave; grandi e per linee
cariche, il tempo tende ad aumentare. Aumentate il parametro <CODE>timeo</CODE>
per adattarlo alla velocit&agrave; della linea e al carico. E poich&eacute;
la latenza aumenta se si usa la linea per altre operazioni, se volete provare
FTP e NFS allo stesso momento, provate a misurare i tempi del ping
mentre usate NFS e FTP per trasferire i file e aumentare <CODE>timeo</CODE> perch&eacute;
corrisponda alla latenza della linea.
<P>
<P>
<HR>
<A HREF="NFS-HOWTO-6.html">Avanti</A>
<A HREF="NFS-HOWTO-4.html">Indietro</A>
<A HREF="NFS-HOWTO.html#toc5">Indice</A>
</BODY>
</HTML>