Benchmark-resultat

Slutförd

Nu undersöker vi prestandaresultat för att verifiera de prestandatips som vi diskuterade i föregående lektion. Mer specifikt fokuserar vi på att använda SPEC SFS benchmark suite för att skapa flera trådar som simulerar EDA-produktionsliknande arbetsbelastningar. Dessutom visar vi FIO-resultat för att undersöka vissa prestandametoder.

Översikt över de två benchmark-verktygen

SPEC SFS-sviten är ett standardbranschmått för EDA. En typisk EDA-arbetsbelastning består av funktionella och fysiska faser. Den funktionella fasen driver mestadels slumpmässiga I/O- och filsystemmetadataåtgärder. Den fysiska fasen driver sekventiella läsningar och skrivningar i stora block.

FIO- är ett I/O-verktyg som kan generera konsekventa slumpmässiga eller sekventiella läs-/skrivbelastningar för att jämföra IOPS och dataflödet för ett lagringsmål.

Volymtyper i Azure NetApp Files

Azure NetApp Files innehåller två typer av volymer som kan etableras för molndatalagring: vanliga volymer och stora volymer. I följande tabell visas några av de viktigaste skillnaderna mellan de två volymtyperna. Använd den här tabellen som vägledning när du väljer rätt volymtyp för din arbetsbelastning.

Gräns Vanlig volym Stor volym
Minsta kapacitet 100 GiB 50 TiB
Maxkapacitet 100 TiB 500 TiB
Lägsta servicenivå som stöds Standard Standard
Maximalt observerat dataflöde 4 500 MiB/s 10 240 MiB/s
Högsta uppmätta läs-IOPS ~200 000 ~700 000
Högsta observerade skriv-IOPS ~135 000 ~474 000

Benchmark-resultat från SPEC EDA-verktyget för vanliga volymer

Graferna i det här avsnittet visar I/O- och svarstidskurvorna. De undersöker några kombinationer av följande prestandametoder:

  • nocto,actimeo=600
  • sysctl tuned
  • nconnect=16

När alla tre ovanstående metoder tillämpas ökar I/O-åtgärderna per sekund och behåller fortfarande låg svarstid (mindre än 1 millisekunder).

diagram som visar SPEC E D A-resultatet, där I O-boosten fortfarande har låg svarstid när alla tre metoderna tillämpas.

Följande diagram visar att NFSv3 presterar bättre än NFSv4.1 för den här typen av arbetsbelastning.

diagram som visar SPEC E D A-resultaten för att visa att N F S version 3 presterar bättre än N F S version 4.1.

Följande diagram visar att rsize=wsize=262144(256 K) presterar bättre än andra inställningar.

diagram som visar SPEC E D A-resultatet för att jämföra r-storlek och w-storleksvärden.

Benchmark-resultat från SPEC EDA-verktyget för stora volymer

Prestandatröskeltestning utfördes på en enda stor volym med hjälp av SPEC SFS-riktmärket med följande konfiguration:

Konfigurationstyp Inställning
Operativsystem RHEL 9.3 / RHEL 8.7
Instanstyp D16s_v5
Antal instanser 10
Monteringsalternativ nocto,actimeo=600,hard,rsize=262144,wsize=262144,vers=3,tcp,noatime,nconnect=8

I testerna jämfördes prestandafunktionerna för en stor volym med hjälp av SPEC SFS-benchmark jämfört med en vanlig volym i Azure NetApp Files.

Scenario I/O-hastighet vid 2 ms MiB/s på 2ms
En vanlig volym 39 601 692
En stor volym 652,260 10,030

Diagram som jämför svarstid och dataflöde för en stor volym.

Benchmarkresultat för FIO-verktyget för vanliga volymer

Följande FIO-kommandon jämför IOPS respektive dataflöde.

// FIO commands to benchmark IOPS:
// 8K Random Reads
fio --name=8krandomreads --rw=randread --direct=1 --ioengine=libaio --bs=8k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting
// 8K Random Writes
fio --name=8krandomwrites --rw=randwrite --direct=1 --ioengine=libaio --bs=8k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

// FIO commands to benchmark throughput:
// 64K Sequential Reads
fio --name=64kseqreads --rw=read --direct=1 --ioengine=libaio --bs=64k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting
// 64K Sequential Writes
fio --name=64kseqwrites --rw=write --direct=1 --ioengine=libaio --bs=64k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

Följande två diagram visar att när nocto,actimeo=600, nconnect=16och sysctl finjusteras kan Azure NetApp Files uppnå högre IOPS och dataflöde.

Diagram som visar FIO-resultat av högre IOPS.

diagram som visar F I O-resultat med högre dataflöde.

Benchmarkresultat för FIO-verktyget för stora volymer

I det här avsnittet beskrivs prestandatrösklar för en enda stor volym med hjälp av FIO-riktmärket. Testerna kördes med följande konfiguration:

Komponent Konfiguration
Storlek på virtuella Azure-datorer E32s_v5
Gräns för utgående bandbredd för virtuella Azure-datorer 2000MiB/s (2GiB/s)
Operativsystem RHEL 8.4
Stor volymstorlek 101 TiB Ultra (10 240 MiB/s-dataflöde)
Monteringsalternativ hard,rsize=65536,wsize=65536,vers=3
OBS! Användning av både 262144 och 65536 hade liknande prestandaresultat.

256 KiB sekventiell belastning (MiB/s)

Diagrammet representerar en sekventiell arbetsbelastning på 256 KiB och en 1 TiB-arbetsuppsättning. Den visar att en enda stor Azure NetApp Files-volym kan hantera mellan cirka 8 518 MiB/s rena sekventiella skrivningar och 9 970 MiB/s rena sekventiella läsningar.

stapeldiagram över en sekventiell arbetsbelastning på 256 KiB på en stor volym.

8-KiB slumpmässig arbetsbelastning (IOPS)

Diagrammet representerar en slumpmässig arbetsbelastning med 8 KiB och en 1 TiB-arbetsuppsättning. Diagrammet visar att en stor Azure NetApp Files-volym kan hantera mellan cirka 474 000 rena slumpmässiga skrivningar och cirka 709 000 rena slumpmässiga läsningar.

stapeldiagram över en slumpmässig arbetsbelastning på en stor volym.