Om du skall få mycket mera än 100 MB/s från en NAS så måste du ha snabbare nätverk än 1 Gb/s. Det finns 10 Gb/s nätverk, men den utrustningen är ganska dyr och vanliga simpla nas för hemmabruk brukar bara stödja nätverksinterface på 1 Gb/s.
Oftast handlar det om att anpassa stripesize till cache-storleken på diskarna, men det kan också bero på raidcontrollern. Säkrast är att prova olika stripesize och jämföra deras prestanda med något lämpligt benchmark. I mitt exempel med LSI-controllern så var benchmarket som jag använde det simpla kommandot
dd if=/dev/sda of=/dev/null
d v s rå läsning av hela disken. Då läsningen är klar visar dd hur stor bandbredd man fick.
När det gäller en NAS eller filserver i stället för en lokal disk får man i stället skapa sig en stor fil och testa mot. Det gäller att se till att filen är många gånger större än RAM-minnet på såväl klienten som servern, annars blir det lätt så att man mäter prestanda på operativsystemets förmåga att cacha diskar.
Sen måste man som sagt vara medveten om att rådiskprestanda eller prestanda mot stora sammanhängande filer tyvärr inte motsvarar prestanda i verkliga livet med en massa småfiler som skall hittas, öppnas, accessas och stängas. Det bästa benchmarket är det som disken skall användas till, men det kan ofta vara svårt att identifiera.
När det gäller en vanlig simpel NAS för hemmabruk brukar det dock inte finnas möjlighet att modifiera stripesize. Tillverkaren har valt en fast inställning som fungerar bra för de flesta.
Exempel på NFS-prestanda på min egen hemma-NAS:
Kod:
dd if=extra.img of=/dev/null
20971520+0 records in
20971520+0 records out
10737418240 bytes (11 GB) copied, 93.8113 s, 114 MB/s
Flaskhalsen är nätverket på 1 Gb/s, teoretiskt skulle man maximalt kunna uppnå 1000/8 = 125 MB/s då en byte är 8 bitar, men med lite protokoll-overhead och latencies så kommer man inte mycket högre än vad jag gör i mitt benchmark. Detta är som sagt läsning av en enda stor fil, då har vi bästa förutsättningar för maximal prestanda. Om man använde NASen på annat vis, t ex kompilering av stora källkodsträd så skulle prestanda sannolikt bli sämre.
m v h Henrik