CPU performance tijdens de tests kun je bekijken met 'top' commando. Geen idee of die onder Solaris ook interrupt usage laat zien; onder FreeBSD in elk geval wel dan kun je mooi zien of je (netwerk/disk-) drivers inefficient zijn of niet.
Kan het uitmaken dat ik de schijven niet op een 4k sector instelling heb geconfigureerd?
Ja en nee. Voor optimale configuraties (RAID-Z: 2,3,5,9 disks; RAID-Z2: 6 en 10 disks) hoef je dat niet te doen, al kan het nog wel iets verbetering geven. Meer benchmarks hierover vind je op Hardforum.
Ondanks dat zou het toch voor mijn netwerk performance niet uit moeten maken of ik nu wel of niet op de 250 MB/s kom. Dat trekt een gigabit lijn toch niet vol. Ondanks dat ik snap dat deze situatie niet ideaal is heeft het naar mijn idee weinig te maken met mijn netwerk probleem.
Dat is dus een verkeerde aanname. Als je ZFS pool max 110MB/s doet bij een dd-write, krijg je dat nooit via een netwerk write. Althans dat is mijn ervaring. Om 100MB/s netwerk write bij te houden wil je minstens het dubbele hebben wat ZFS lokaal kan doen. Tevens moet je rekening houden met degradatie van de I/O performance doordat je schijven gevuld raken en dus op tragere gebieden gaan schrijven en door fragmentatie. Factor 0.5 * 0.5 = 0.25. Voor 100MB/s netwerk write heb je dus minimaal 400MB/s local write nodig om dat enigszins te kunnen afdekken, als ruwe maatstaf. Als je met een brandschone pool al geen goede performance krijgt gaat dat alleen maar dalen zodra je pool daadwerkelijk gevuld is.
Zoals eerder aangegeven haalt een Windows --> Windows setup wél hoge snelheden...
Wat volkomen logisch is, immers er worden andere drivers gebruikt, met name de drivers van de netwerkkaart. Daarnaast heb je geen zwaar filesystem maar een licht journaling filesystem wat natuurlijk veel minder overhead geeft, en je hebt twee dezelfde protocol stacks die op elkaar zijn ingespeeld. Cross-platform is het moeilijker om het laatste restje performance uit je netwerk te halen, is mijn ervaring.
Je hoort bij zowel file I/O performance als netwerk performance dus afzonderlijk goede performance te krijgen, pas als beide goed zijn kun je echte tests doen die zowel ZFS als netwerk gebruiken. In jouw geval lijken beide dus niet in orde te zijn, en kun je dus ook nooit goede 'netto' performance verwachten. In veel gevallen is het testen en nog eens testen, totdat je diverse zaken hebt uitgesloten en zo min mogelijk factoren je performance kan bederven. In mijn ervaring zijn het bijna altijd meerdere oorzaken die allemaal een beetje effect hebben, maar gezamenlijk dus voor flink lagere performance kunnen zorgen.
Zelfde verhaal als hierboven: test file I/O en netwerk apart. Ik zelf gebruik geen Jumbo frames en haal 110MB/s write en 80MB/s read naar ZFS, in elk geval naar mijn SSD pool.
Pentium 4 en andere 32-bit CPUs zijn in principe ongeschikt voor ZFS, evenals PCI. Zeker als je I/O én gigabit netwerk over PCI lopen mag je verwachten dat de performance knudde is. Voor een Xeon met 4GB RAM + Solaris zou ik betere performance verwachten. Maar 2 disks in RAID-Z, heb je dat echt zo geconfigt? Niet dat het niet kan, maar dat is in principe wel inferieur aan een mirror. Een mirror biedt je betere performance tegen dezelfde overhead bij slechts 2 disks.