Newsgroup: it.comp.os.linux.sys
Titolo: Samba e prestazioni

Ho un problema relativo alle prestazioni di samba.
Precisazione:
Non sto dicendo che samba sia lento, ma solo che nelle attuali
condizioni di utilizzo non e` utilizzabile. Windows NT offre gli
stessi identici problemi rilevati con samba, ma una soluzione devo
trovarla e mi serve una mano per capire dove sta l'anello debole.
Problema:
$NOME_PROGRAMMA deve accedere al disco (esportato da samba) tramite
ip address (ovvero: //ip_address/share) senza montarlo infatti i file
sono letti direttamente da $NOME_PROGRAMMA sullo share remoto.
Purtoppo cosi` facendo le prestazioni sono troppo lente: per leggere
un file anche di pochi KB ci puo` mettere vari secondi. Essendo una
procedura molto interattiva, l'utente deve subire troppo spesso
numerose pause (anche di 15/20 secondi) effettivamente poco piacevoli.
Ulteriori informazioni:
- Il server in questione e` abbastanza scarico, cosi` come la
  connessione di rete. Da un punto di hw non ci dovrebbero essere
  problemi.
- I client che devono vedere i dischi sono windows, ma il problema lo
  si ha anche con client linux
- Se il disco lo monto, invece che accedere tramite il sistema
  descritto in precedenza, le prestazioni sono perfette per l'utilizzo
  che se ne deve fare.
- E' vitale che il disco NON sia montato. Deve accedere solo un
  programma e l'utente non deve avere accesso diretto al contenuto dei
  dati. Mi impegnero` io in seguito ad apportare un minimo di
  sicurezza sullo share, ma questo non c'entra nulla con il mio
  attuale problema.
- Consulenti che ci hanno fornito $NOME_PROGRAMMA affermano che da
  altri clienti questo problema non esiste. Non ho motivo per dubitare
  di questa affermazione, ma qui il problema esiste e non solo su linux
  ma anche su server unix e winnt.
- Girando per i log di samba non ho trovato alcuna informazione utile
  che mi possa dare qualche indicazione.
Mie personalissime conclusioni:
- Non e` un problema specifico di samba, ovvero usando direttamente
  windows il problema rimane.
- Sembra che la lentezza sia dovuta al fatto che ogni volta che samba
  cerca di collegarsi al server faccia una connessione mentre mappando
  il disco ne fa una sola e questa rimane attiva.
Se il problema fosse effettivamente questo (ovvero della connessione
che non rimane attiva ed ogni volta deve ricollegarsi) esiste il modo
di attivare una connessione permamente con il server pur accedendo al
server ogni volta senza mappare il disco?
Credo di aver spiegato abbastanza bene il mio problema per avere
opinioni anche su altre eventuali alernative: esistono altre strade
che non ho ancora esplorato e senza prendere in considerazione NFS (ci
ho litigato troppo)?
-- 
Massimo  ;-)  | EMail: 
q-con...@iol.it
 * ICQ: 37930285
--------------> 
http://digilander.iol.it/MaQ
  BABYLON5  --> 
http://digilander.iol.it/babylon5
  *TRIBOL*  --> 
http://digilander.iol.it/usstribolo

 stessi identici problemi rilevati con samba
[cut]
Il problema non puo' non essere dovuto al sistema operativo....
nell'ordine:
- prova a controllare i collegamenti, cambia il cavo di rete, sia sul
computer, sia sull'hub.
- se il prob persiste fai la prova con un altro hub.....
- alla fine prova a cambiare la sk di rete 
- vai a lourdes
Cristiano

 - vai a lourdes
Quando parte il prossimo pullman? ^^;;
-- 
| Massimo ;-) | EMail: 
q-con...@iol.it
 * ICQ: 37930285 |       (o_        |
|-------------> 
http://digilander.libero.it/MaQ
           |  (o-  //\   -o)  |
|  BABYLON 5 -> 
http://digilander.libero.it/babylon5
      |  (/)_ V_/_ _(\)  |
|  *TRIBOL*  -> 
http://digilander.libero.it/usstribolo
    | POWERED BY LINUX |

 numerose pause (anche di 15/20 secondi) effettivamente poco piacevoli.
 
Cosi', su due piedi, mi sembrerebbero problemi di risoluzione dei nomi 
nell'autenticazione. Il database degli utenti e' sul server samba che
ti da problemi o su un'altra macchina? Dovresti verificare cosa succede
in rete durante il periodo di tempo in cui i client rimangono in attesa.
Hai un packet filter con regole severe sul server smb o sul server di
autenticazione? Il periodo di attesa si manifesta anche quando esegui
la mappatura dell'unita invece di accedere direttamente?
Fabio

 la mappatura dell'unita invece di accedere direttamente?
Hmmm... si, c'e` un tempo di attesa, ma una volta che il disco e`
mappato la velocita` e` molto maggiore.
***
Nelle mie ultime prove pare che client con win98 si comportano meglio
di quelli con win2000... devo fare altre verifiche.


 disco e` mappato la velocita` e` molto maggiore.
Quindi non e' un problema di rete e si manifesta solo alla 
connessione, che sia estemporanea con \\<ip> o una mapaptura.
Prova a controllare il traffico dei client e di samba con 
ethereal e verifica che cosa accade durante l'attesa. Devi
verificare le porte 137/udp 53/udp e 139/tcp, come minimo,
ma filtrerei la cattura sugli indirizzi ip e prenderei tutto.
Guarda cosa c'e' nei log.
Prova l'autenticazione USER.
Posta il tuo smb.conf.
Fai una statuetta di cera a forma di gnu, con all'interno
alcune viti del case del server e poi prova a trafiggerla
con lunghi aghi da calza.
Fabio

 del case del server e poi prova a trafiggerla con lunghi aghi da calza.
Ma ROTFL :-D
-- 
Emanuele Balla  aka Skull -  Public Key #661E5CBF on 
www.keyserver.com
+----------------------------------------------------------------------+
"And 1.1.81 is officially BugFree(tm), so if you receive any bug-reports
on it, you know they are just evil lies." (By Linus Torvalds)

il risultato e` lo stesso.
mmmmmh non so....
una volta mi e' capitata una cosa simile ed era colpa di uno switch 10-100 da
quattro soldi; gli stessi cavi collegati con un hub a 10 mandavano il
collegamento molto + veloce....
comunque oltre a Lourdes c'e' sempre Padre Pio
Cristiano

 address (ovvero: //ip_address/share) 
nel corso degli anni ho constatato che la connessione a drive mappati in
windows e' molto piu' veloce della connessione che usa i cosiddetti UNC.
In altre parole, fagli mappare x: su \\ip_address\share tramite login
script e dopo fallo connettere direttamente a X.
--
Massimiliano.

 trovarla e mi serve una mano per capire dove sta l'anello debole.
Mi rispondo da solo dopo aver trovato la causa del problema.
Samba ovviamente non c'entra nulla (mai dubitato di questo). :))
Il problema e` in realta` il networking di windows 2000 (ma va?)
e quando fa una connessione ad un server e` molto stupido perche`
prova tutti i protocolli esistenti sul client per fare la connessione
invece di usare solo quello che serve. Se il server ad uno di questi
protocolli non risponde allora il client attende finche` non scade il
timeout, e qui entra in gioco il tempo di attesa che rallenta le
operazioni.
Nel mio caso il client aveva come protocolli tcp/ip ed ipx ma il
server solo ip. A questo punto quando il client provava ad usare ipx
si fermava fino alla scadenza del timeout.
La soluzione che ho trovato e` stata di limitare al massimo il
timeout su ipx.
Le operazioni che ho effettuato sul client (windows 2000) sono state
le seguenti (ho agito sul client netware):
- aprire la dialog "Novell client Properties..."
- selezionare la voce "Advanced Settings"
- nella listbox selezionare le seguenti voci e modificare il valore
  del campo "Settings" come riportato:
    + Give Up on Requests to SAs   -> 1
    + Name Resolution Timeout      -> 1
- Confermare e riavviare il pc
Eseguendo tali impostazioni il tempo di attesa e` calato ad un massimo
di 3 secondi. Mediamente e` intorno ai due secondi. Non e` ancora a
posto (nel caso peggiore dovrebbe essere inferiore ad un secondo:
nell'uso normale l'utente non dovrebbe percepire ritardi) ma e` gia`
meglio di prima. Se potessi migliorare ulteriormente la situazione
sarebbe meglio.
Direi che il thread si possa anche chiudere qui, in quanto dagli
ultimi sviluppi e` diventato OT su questo ng. Ad ogni modo se qualcuno
avesse informazioni da darmi per migliorare la situazione e` pregato
di darmi cmq una risposta anche in mail.
Ringrazio tutti per le numerose risposte e l'interessamento al mio
problema e mi scuso per aver sbagliato nell'individuazione delle
cause facendovi perdere tempo su cose che non c'entravano nulla. Ma
forse potra` essere utile a qualcuno ed evitargli di sbattere la testa
al muro come ho fatto io negli ultimi due giorni. :)))


 timeout su ipx.
La soluzione e' di modificare la priorita' dei protocolli nella
configurazione dei binding o di togliere il binding a ipx per i
client microsoft.
Fabio

 client microsoft.
Toglierlo e` facile, ma non ho idea di come si possa farlo solo per il
client microsoft.


 client microsoft.
Dipende dal sistema operativo. Su win2k devi aggiustare le spunte nelle
opzioni di binding nelle impostazioni avanzate. In win9x mi pare che si
debba togliere il modulo relativo dai componenti di rete.
Se il problema e' che l'unc viene interpretato di default come se fosse
una risorsa netware, la soluzione potrebbe essere quella sopra (spero).
Infine, giusto per tenere IT il thread, puoi pensare di usare ipx/spx e
un server netware sul tuo linux insieme a (o al posto di) samba :-P
Fabio