Låg effekt ARM Baserat filserver med upp till 5 stationära hårddiskar. (4 / 4 steg)
Steg 4: Performance tuning
Inga problem, detta inte ta mycket lång tid alls. På denna punkt kommer att dina diskar leverera cirka 32 MB/s på cache-kallt objekt som är långt ifrån vad i mitt fall enheterna kan leverera. En hdparm kör i detta skede berättar disken kan Spy ut 60 mb/s och kör 3 av de samtidigt mot var och en av mina 3 enheter resultat i ca 18 mb/s varje så vi vet att den begränsande faktorn här är port multiplier styrelsen som för tillfället inte vill driva mer än 60 mb/s.
Det första jag ändrade var att läsa vidare. Jag minns inte vad det var satt till längre, men det var antingen ganska låg eller helt enkelt bort. Med denna lilla script fast att:
för disk i enhetnamn?; göra hdparm - en 1024 $disk; gjort
Nästa jag ökat buffertar används för nätverkskommunikation:
sysctl net.core.rmem_max=2801664
sysctl net.core.wmem_max=2097152
sysctl net.ipv4.tcp_rmem="4096 87380 2801664"
sysctl net.ipv4.tcp_wmem="4096 16384 2097152"
sysctl net.core.optmem_max=65535
sysctl net.core.netdev_max_backlog=5000
Vid denna punkt jag har kunnat läsa på 90 mb/s rakt ut av hårddisken och med Samba, push ca 50 mb/s över nätet, som var ute ganska anständig. Men skulle jag fann att under avtalstiden filer samba processen konsumera alla CPU på en kärna. Att vara CPU-bundna på vad bör en IO-bundna arbetsbelastning inte vettigt så jag fick jobba på tuning Samba. Jag har lagt dessa 2 alternativ till avsnittet [global]:
använda sendfile = sant
strikt fördela = Ja
Särskilt det första en resulterade i en dramatisk Läs förbättring. Den andra är för bättre skriv-prestanda. Att ha gjort alla denna Samba är nu en IO-bundna process som sig bör, trycka ut data på 65 + mb/s samtidigt påstå bara 70% av en processorkärna. Eftersom denna maskin har inget viktigare att göra, det är bara bra.
Slutligen måste vi ta effektuttaget ner ett snäpp genom att få inaktiva enheter att något aggressivt driva ner.
hdparm -S 12 - K 1 enhetnamn?
-S parametervärdet är mängden 5 andra enheter inaktiv enheten kommer hålla snurra innan stängs av, så 1 minut. Western Digital har sin egen, unika tolkning av detta viss inställning där de mest aggressiva kan du ställa den till är -S 3 vilket resulterar i enheten stängs av efter 10 minuter för att vara sysslolös, som är tillräckligt bra.
Det är det, du är klar!