Råd för att få bättre fart på NFS (ESXi 5, Openindiana)
Har kastat ihop en All-in-one ESXi server relativt nyligen på gammal hårdvara jag redan hade bestående av:
Moderkort: Asus P6T Deluxe v2
CPU: i7 920
24gb minne
Köpte till:
IBM ServeRAID M1015 SAS kort och flashade IT firmware (passthrough till OI).
Intel 520 180gb SSD för ESXi och VMs.
6st Seagate Barracuda ST3000DM001 3TB diskar. (inte optimalt diskantal med 4k sektorer tyvärr).
ESXi har alla patchar (5.0.0, 702118).
Som lagrings OS kör jag Openindiana 151a3
Sen kör jag Ubuntu 11.10, Windows 7 och OSX på maskinen.
VMWare tools installerat på alla VMs och VMCI unrestricted på alla VMs.
Kör VMXNET3 på alla VMs.
Jag gjorde en raidz pool med 4k alignment i zfsguru och importerade i OI. Fungerade bra efter lite meck.
Internt presterar raiden mycket bra. Bonnie++ ger seq read/write på ~900/800MB/s.
Sen valde jag att dela ut till VMs och på trådat gigabit nätverk med NFS.
Trodde att jag skulle få flygande prestanda mellan VMs tack vare VMCI och VMXNET3 men har inte lyckats helt.
Först körde jag med E1000 istället för VMXNET3 för läste att Openindiana kunde få dåliga prestanda med E1000.
Jag fick usla prestanda med E1000.
40-50MB/s till Ubuntu via nfs4.
Testade CrystalDiskMark via samba och fick även där runt 50MB/s read och 170MB/s write.
Sen bytte jag till VMXNET3 på alla VM och fick upp farten till 140-200MB/s och write på mellan 200-290MB/s. Dock rätt ojämna prestanda, ibland dippar det rejält under de siffrorna.
NFS till Ubuntu låg riktigt dåligt på runt 70MB/s.
I ZFS har jag: version=28, compression=off, dedup=off, sync=standard.
NFS har jag bara satt atime=off
Kanske tjänar på att ändra NFS properties? Så här ser det ut idag:
NFS properties: sharectl get nfs
servers=16
lockd_listen_backlog=32
lockd_servers=20
lockd_retransmit_timeout=5
grace_period=90
server_versmin=2
server_versmax=4
client_versmin=2
client_versmax=4
server_delegation=on
nfsmapid_domain=
max_connections=-1
protocol=ALL
listen_backlog=32
device=
Efter lite mer testande med tcp värden i OI fick jag till slut upp farten via nfs till ubuntu till mellan ~120-180MB/s.
Har gjort följande ändringar:
set tcp:tcp_conn_hash_size=32768
set ncsize=1024000
set ufs_ninode=1024000
set nfs:nfs4_bsize=1024000
set ndd:tcp_recv_hiwat=1024000
set ndd:tcp_xmit_hiwat=1024000
set ndd:tcp_max_buf=16777216
set ndd:tcp_cwnd_max=16777216
set ndd:tcp_conn_req_max_q=1024
set ndd:tcp_conn_req_max_q0=4096
Någon som har tips på att optimera mer? Särskilt NFS.