Ciao a tutti,
apro questo thread dopo essermi imbattuto in un problema fastidioso a cui ho trovato soluzione.
Premessa: Ho server/NAS in rete a casa da molti anni, con supporto a protocolli AFP, SMB e altri. Ero abituato ad accedervi dalla sidebar di Finder, dove trovavo il server/NAS, entrando poi nella share che mi serviva al momento.
Fino a Mavericks (forse anche Yosemite, ma non sicuro al 100%..) l'accesso avveniva automaticamente con protocollo AFP, successivamente hanno pensato bene di passare a SMB come protocollo default.
In pratica, dopo l'aggiornamento mi sono trovato le share molto più lente, la cpu molto più carica durante i trasferimenti ed in generale la navigazione era molto meno responsiva di prima.
Ho aggirato il problema con un semplice script che monta tutte le mie share (oppure con cmd+K e connessione diretta), ma volevo verificare meglio sta faccenda.
Ho quindi fatto un test di velocità di trasferimento, che vi riporto.
La prova consiste nel montare la stessa share in diverse modalità e trasferire lo stesso file su SSD del mac locale.
Partiamo con AFP
Questa la velocità di trasferimento:
Questo il carico CPU durante il trasferimento (su i7 4.0 GHz):
Come si nota, il trasferimento satura la connessione gigabit (121 MB/s su 125 MB/s teorici).
Passiamo ora a SMB
Velocità di trasferimento non dimezzata, ma quasi...
Carico CPU sensibilmente più elevato:
Inutile aggiungere che con macchine meno performanti (CPU), la differenza si fa sentire decisamente di più.
Ad esempio con il mio vecchio Mac Mini (mid 2011), il trasferimento via SMB andava decisamente più lento rispetto a questa prova.
A questo punto, ho svolto la stessa prova con le stesse modalità, ma...
Da windows 10 su bootcamp
Velocità di trasferimento leggermente più bassa e carico CPU leggermente più alto (il 7% è calcolato sul totale, non sul singolo thread come su OS X)
La stessa prova su macchina virtuale windows 10
(stessa identica installazione da cui ho clonato il disco per bootcamp oggi stesso)
La copia, tanto per complicare le cose
, avviene dal NAS verso una share su Mac condivisa tramite parallels.
Velocità di trasferimento uguale, carico CPU nella VM uguale (risulta doppio nel riepilogo perché sulla VM ho configurato 4 vCPU delle 8 disponibili), carico CPU su host più elevato.
Che succede?!
Insomma... possibile che dopo aver passato le connessioni verso SMB, dichiarando oltretutto migliori performance (!!! - se ritrovo il link apple lo posto), ci si trovi nella situazione in cui il trasferimento fa pena SOLO su OS X e che vada addirittura meglio dentro una macchina virtuale?
Eh si, possibilissimo. anzi è proprio così!
Fortunatamente dopo un po' di indagini, ho trovato il colpevole: il
Packet Signing SMB !
Una breve verifica conferma che viene attivato di default quando Mac si connette ad una share SMB (ultima riga):
Soluzione
La soluzione è quindi disattivare il packet signing nel file di configurazione del client SMB.
Procedura descritta qui:
https://support.apple.com/en-us/HT205926" onclick="window.open(this.href);return false;
Un altro test a valle della modifica conferma che ora è tutto ok.
Velocità lievemente inferiore rispetto ad AFP:
Carico CPU ora basso (leggermente più basso anche rispetto ad AFP):
Assurdo che di default sia attivata sta roba...(che su una LAN ha veramente poco senso...)
E invece che succede sul Server/NAS?!
In ultimo, per non lasciare punti aperti, vediamo la differenza lato NAS
Trasferimento via AFP:
Trasferimento via SMB:
Decisamente più alto il carico CPU con SMB
Ciao,
Edo