ZFS prestanda vid kopiering av filer

Permalänk

ZFS prestanda vid kopiering av filer

Hej!

Har precis fixat 10 gbit anslutning till min server och när jag kopierar filer från ett ZFS dataset till annat så varierar hastigheten en del, se bild (max hastighet i början är ca 380 MB/s och den lägsta hastigheten är ca 80 MB/s):

Jag kör SmartOS med en Ubuntu LX-zone som delar ut mina ZFS dataset via SMB. Någon som kan säga om detta är normalt beteende för ZFS eller om jag kan göra något för att få en jämnare hastighet?

Visa signatur

Moderkort: ASUS ROG MAXIMUS X CODE CPU: i7 8700K @ 4.8 GHz Kylare: Phanteks PH-TC14PE Svart Minnen: Corsair Vengence LPX 4x8 GB GPU: Asus GeForce GTX 980 TI med EVGA Hybrid cooler PSU: Corsair AX 850W 80+ Gold Lagring: Samsung 960 EVO 500GB M.2 + 2 x 2 TB WD Green RAID0 Chassi: NZXT H2 Svart OS: Windows 10

Permalänk
Medlem

Vad har du för nätverkskort och hur många hårddiskar pratar vi om?

Visa signatur

Rota3: Ryzen 5600 - 32GB - Radeon RX 7600 - Kingston NV200 2TB - Fractal Design R3 - EVGA Supernova 750W

Permalänk

@nick-li: Nätverkskort är Intel X550-T2 och min zpool ser ut så här (log är en SSD):

Visa signatur

Moderkort: ASUS ROG MAXIMUS X CODE CPU: i7 8700K @ 4.8 GHz Kylare: Phanteks PH-TC14PE Svart Minnen: Corsair Vengence LPX 4x8 GB GPU: Asus GeForce GTX 980 TI med EVGA Hybrid cooler PSU: Corsair AX 850W 80+ Gold Lagring: Samsung 960 EVO 500GB M.2 + 2 x 2 TB WD Green RAID0 Chassi: NZXT H2 Svart OS: Windows 10

Permalänk
Medlem

vad är det för diskar i disk-seten (i avseende om du har SMR-diskar eller inte) - vilken sida trottlar (sändande eller mottagande sida) - med tex 'atop -fF 1' för du kunna se om diskar ligger på 100% last stora delar av tiden vid läsning eller mer troligt - skrivning. kolla sidan som leverera data och sidan som tar emot data och se vilka diskar som verka mest upptagna/lastade.

Permalänk
Inaktiv

Vad är det för filer du kopierar, är det stora filer eller många små? Kör du med jumboframes?

Permalänk

@xxargs: bra tips, tack för det! skall testa hemma när jag kommer hem från jobbet.

Här är diskkonfigurationen så länge:

mirror-0
Seagate IronWolf 6TB (ST6000VN001-2BB1-SC60)
Seagate IronWolf 6TB (ST6000VN001-2BB1-SC60)
mirror-1
WD Red 4 TB (WD40EFRX-68N-0A82)
WD Red 4 TB (WD40EFRX-68W-0A82)
mirror-2
WD Red 4 TB (WD40EFRX-68N-0A80)
WD Red 4 TB (WD40EFRX-68N-0A82)

Visa signatur

Moderkort: ASUS ROG MAXIMUS X CODE CPU: i7 8700K @ 4.8 GHz Kylare: Phanteks PH-TC14PE Svart Minnen: Corsair Vengence LPX 4x8 GB GPU: Asus GeForce GTX 980 TI med EVGA Hybrid cooler PSU: Corsair AX 850W 80+ Gold Lagring: Samsung 960 EVO 500GB M.2 + 2 x 2 TB WD Green RAID0 Chassi: NZXT H2 Svart OS: Windows 10

Permalänk

@anon265474: en stor fil på 8 GB, kör med jumboframes ja (MTU 9000).

Visa signatur

Moderkort: ASUS ROG MAXIMUS X CODE CPU: i7 8700K @ 4.8 GHz Kylare: Phanteks PH-TC14PE Svart Minnen: Corsair Vengence LPX 4x8 GB GPU: Asus GeForce GTX 980 TI med EVGA Hybrid cooler PSU: Corsair AX 850W 80+ Gold Lagring: Samsung 960 EVO 500GB M.2 + 2 x 2 TB WD Green RAID0 Chassi: NZXT H2 Svart OS: Windows 10

Permalänk

@xxargs: Körde iostat när jag kopierade en fil till samma ZFS dataset över nätverket, samma beteende som innan och jag ser att %b går upp i 100% på både mirror-0 och mirror-2 så det är tydligt att diskarna throttlar på något sätt. När jag kopierar från min dator till servern så är det en jämn hastighet på ~270 MB/s så det jag ser kanske är att förvänta när jag kopierar från/till samma ZFS pool?

Visa signatur

Moderkort: ASUS ROG MAXIMUS X CODE CPU: i7 8700K @ 4.8 GHz Kylare: Phanteks PH-TC14PE Svart Minnen: Corsair Vengence LPX 4x8 GB GPU: Asus GeForce GTX 980 TI med EVGA Hybrid cooler PSU: Corsair AX 850W 80+ Gold Lagring: Samsung 960 EVO 500GB M.2 + 2 x 2 TB WD Green RAID0 Chassi: NZXT H2 Svart OS: Windows 10

Permalänk
Medlem

Jag brukar använda 'atop -fF 1' i en terminal för att se 'live' på sekundbasis. - maximera fönstret så kommer fler poster fram på olika saker i OS.

Om %b är belastningsgraden/väntkvoten på enheten så är det hyfsat lika på WD-diskarna som Seagate-diskarna - är det mycket knattrande och krossande ljudmässigt av läsarmsarbete på diskarna hela tiden?? ( blir så om det är småsektorer som skall jagas fram över diskytan för att bygga filer)

hur ser det ut i början när det går fort och senare när det flaskar - med slog och andra i ZFS använda cache-diskar - det kan vara dom som begränsar efter en viss skrivmängd om man använder billigare SSD med Cache-NAND.

jag vet när jag blandade SAS och SATA-diskar i samma mjukvaru-RAID så var det SATA-diskarna som drog ned prestandan till 1/4-del av vad det var när SAS-diskarna var ensamma - behövs så lite timing-avvikelser för att det skall dra ned hela RAID:en i prestanda...

med andra ord kan man och har råd (med SAS-HBA) - köp SAS-diskar, vilket var lektionen av övningen med att blanda SATA och SAS i samma mjukvaru-RAID för min del.

Permalänk
Medlem

Notera att när du lägger in flera mirrored sets i en och samma pool så stripar ZFS över set:en. Dvs du har effektivt gjort en (motsvarande) RAID10-lösning.

Om du kopierar från "ett set till ett annat" som du beskriver så kommer sannolikt alla diskar läsas/skrivas ifrån. Det borde se annorlunda ut om du kopierar över nätverket till/från en lokal disk på din dator istället (vilket verkar stämma om jag förstår dig rätt). Kan det förklara det hela?

Visa signatur

Citera mig för svar.
Arch Linux

Permalänk

@xxargs: Jag kör SmartOS som är Solaris-baserat så 'atop -fF 1' finns inte där, därför jag körde iostat. Var lite otydlig med det men visade ett utdrag från filöverföringen, körde uppdatering på iostat var 5e skeund och utdraget jag visade var från när hastigheten gick ner. Har också testat utan ZIL/SLOG och resultatet var likadant.

Det är nog helt enkelt mina diskar som drar ner prestandan så får leva med det :). Tack för hjälpen!

Visa signatur

Moderkort: ASUS ROG MAXIMUS X CODE CPU: i7 8700K @ 4.8 GHz Kylare: Phanteks PH-TC14PE Svart Minnen: Corsair Vengence LPX 4x8 GB GPU: Asus GeForce GTX 980 TI med EVGA Hybrid cooler PSU: Corsair AX 850W 80+ Gold Lagring: Samsung 960 EVO 500GB M.2 + 2 x 2 TB WD Green RAID0 Chassi: NZXT H2 Svart OS: Windows 10

Permalänk

@Dimman: Ja precis, du har helt rätt i att alla diskarna läses/skrivs ifrån men jag tycker det är intressant att det ger en så markant skillnad i överföringshastighet men antar att det är så det är. När jag hämtar till eller skriver från min lokala hårddisk är det mellan 290-350 MB/s i läshastighet och i skrivhastighet varierar det beroende på filstorlek då mindre storleker skrivs till min SLOG som är SSD så upp till 600 MB/s i skrivhastighet till SSDn.

En sak som är intressant är att på min workstation så har jag 2 st 4 TB WD Red i RAID0 som "arbetslagring" och där får jag läshastighet på ~265 MB/s när jag skriver till min NVME-disk. Kul att se att jag får mer från min server över 10 gbit iaf!

Visa signatur

Moderkort: ASUS ROG MAXIMUS X CODE CPU: i7 8700K @ 4.8 GHz Kylare: Phanteks PH-TC14PE Svart Minnen: Corsair Vengence LPX 4x8 GB GPU: Asus GeForce GTX 980 TI med EVGA Hybrid cooler PSU: Corsair AX 850W 80+ Gold Lagring: Samsung 960 EVO 500GB M.2 + 2 x 2 TB WD Green RAID0 Chassi: NZXT H2 Svart OS: Windows 10

Permalänk
Medlem
Skrivet av knorrrhane:

@Dimman: Ja precis, du har helt rätt i att alla diskarna läses/skrivs ifrån men jag tycker det är intressant att det ger en så markant skillnad i överföringshastighet men antar att det är så det är. När jag hämtar till eller skriver från min lokala hårddisk är det mellan 290-350 MB/s i läshastighet och i skrivhastighet varierar det beroende på filstorlek då mindre storleker skrivs till min SLOG som är SSD så upp till 600 MB/s i skrivhastighet till SSDn.

En sak som är intressant är att på min workstation så har jag 2 st 4 TB WD Red i RAID0 som "arbetslagring" och där får jag läshastighet på ~265 MB/s när jag skriver till min NVME-disk. Kul att se att jag får mer från min server över 10 gbit iaf!

Bara för att dubbelkolla: du överför alltså från filservern -> workstation -> filserver? Isf är det inget märkligt att det ser ut som det gör i ditt scenario eftersom alla diskar ligger i samma pool. I början går det sannolikt snabbt för att cachen nyttjas, men sen behöver diskarna först läsa ut data och sedan ska data skrivas. Lite beroende på var datan ligger i set:en så kan ju hela skrivprocessen behöva pausas medans data läses och vice versa.

Det hade sannolikt sett rätt annorlunda ut om du splittat till två pooler istället och kopierat mellan dessa två. Dvs så att en pool enbart läser och en den andra poolen enbart skriver.

(EDIT: Jag hade undvikit att ha olika diskar i en stripad mirror-pool, eller ja egentligen hade jag nog skippat att ha olika diskar i en och samma pool oavsett konfiguration.)

Visa signatur

Citera mig för svar.
Arch Linux

Permalänk

@Dimman: ja det var det jag testade, ville se hur hastigheten blev med det nya 10 Gbit-nätverket jag installerat. Ville kolla med sweclockers om det jag såg var konstigt på något sätt men som du säger så är det vad man kan förvänta.

hade WD Reds innan men bytte de pga SMR/CMR-skandalen så därför det är olika diskar.

tack för input!

Visa signatur

Moderkort: ASUS ROG MAXIMUS X CODE CPU: i7 8700K @ 4.8 GHz Kylare: Phanteks PH-TC14PE Svart Minnen: Corsair Vengence LPX 4x8 GB GPU: Asus GeForce GTX 980 TI med EVGA Hybrid cooler PSU: Corsair AX 850W 80+ Gold Lagring: Samsung 960 EVO 500GB M.2 + 2 x 2 TB WD Green RAID0 Chassi: NZXT H2 Svart OS: Windows 10

Permalänk
Medlem
Skrivet av knorrrhane:

@Dimman: ja det var det jag testade, ville se hur hastigheten blev med det nya 10 Gbit-nätverket jag installerat. Ville kolla med sweclockers om det jag såg var konstigt på något sätt men som du säger så är det vad man kan förvänta.

hade WD Reds innan men bytte de pga SMR/CMR-skandalen så därför det är olika diskar.

tack för input!

Allright! Skönt att det fick sin förklaring och att allt verkar fungera som det borde ändå

Visa signatur

Citera mig för svar.
Arch Linux