Best Practices: I/O-konfiguration Thomas Damgaard, Chefkonsulent, SAS Institute
Indhold Introduktion SAS -I/O generelt SAS-dataområder Filsystemstyper Spinning disks vs. Flash Test og tuning Konklusion
Introduktion Best practice guidelines for konfiguration af I/O på SAS på: Windows Linux UNIX Ikke omfattet: Z/OS Hadoop MPP-miljøer
SAS -I/O generelt 1 SAS-session per SAS user/sas Job/application SAS-sessioner er uafhængige = forskellige workloads SAS-datasæt: alm. filer Primært sekventiel I/O Store blokke: 64K, 128K, 256K og 512K IOPS-orienteret aktivitet ved bl.a.: Indekserede filer, som gennemløbes tilfældigt SAS OLAP-kuber SAS Solutions
SAS -I/O generelt Læser og skriver via Host System File Cache Ingen direkte I/O (som standard) Vær opmærksom på begrænsninger i OS Ingen præallokering af diskplads SAS Enterprise Excellence Center (EEC) sizing Generelle anbefalinger: > 100 MB/s per core for light analytics, datamanipulation > 150 MB/s per core for heavy analytics, STAT-procedurer m.m.
SAS -dataområder Minimum tre dataområder: SASDATA SASWORK UTILLOC Desuden: OS SWAP SAS Software + config
SASDATA Persistente data SAS -output I/O-profil: 60-90 % læsning 10-40 % skrivning Typisk RAID5 eller RAID1+0 Minimum 100-150 MB/s per core
SASWORK Temporært arbejdsområde Single-threaded SAS PROCs I/O-profil: 50-60 % læsning 40-50 % skrivning Kan evt. være RAID-0 Minimum 100-150 MB/s per core
UTILLOC Temporært arbejdsområde Multi-threaded SAS PROCs I/O-profil: 50-60 % læsning 40-50 % skrivning Kan evt. være RAID-5 Minimum 100-150 MB/s per core Default: placeret under SASWORK
Ledig plads Overvåg pladsforbrug Aldrig < 20 % ledig plads ved peak-forbrug Bestil ekstra plads i god tid Test I/O efter tildeling af ekstra plads
SAS og filsystemer (local) OS Solaris AIX HP-UX Linux Windows Filsystem ZFS JFS2 JFS XFS, Ext4 (XFS foretrukket) NTFS READ-ahead slås til WRITE-behind/WRITE-through slås til
SAS og filsystemer (shared) Shared file systems IBM General Parallel File System (GPFS) Red Hat GFS2 Quantum StorNext Veritas Clustered File System Amazon Lustre M.m. NFS? Vendor-specifik tuning Husk test!
Konventionelle diske Mange små diske er bedre end få store diske SAS -diske foretrækkes Undgå SATA Typisk god størrelse: 300 GB 15k RPM SAS Stripe over mange diske Gå efter stor aggregeret båndbredde F.eks.: RAID-5 eller RAID-1+0 8 LUNs på hvert filsystem (eller flere) 1 writer thread per LUN
Flash storage Mange Flash-typer SLC, MLC, emlc m.m. SSD, PCIe, appliances m.m. Stripe over LUNs via Volume Manager Brug Volume Manager Aggregeret båndbredde er vigtigt IOPS er sjældent vigtigt Aligning af blokke Ledig plads er meget vigtigt Mere end 20 % ledig Undgå garbage collection write cliff Hold øje med slitage Random placement Hash tables Indekserede tables
Test!
Test I/O-throughput Test performance! Grundlæggende: 100-150 MB/s per core Utilstrækkelig I/O = største kilde til performanceproblemer på SAS Hvordan tester jeg?
Værktøjer til test: Windows SAS IO Test Utility Inkluderet i SAS (fra SAS 9.2) \SASHome\SASFoundation\9.4\sasiotest.exe Skriver og læser filer på samme måde som SAS Skriver gennem Windows API: WriteFile() Læser gennem Windows API: ReadFile() Lukker filer via Windows API: CloseFile()
Værktøjer til test: Linux/UNIX dd-script for UNIX SAS Note: KB51660 Script lavet af SAS Technical Support Bruger UNIX dd-kommando til at lave I/O-tests Kan køres, uden at SAS er installeret Læs KB51660 før brug
Tuning Ekskludér SAS -filtyper fra antivirus Windows: SAS Paper 370-2011 SAS Note: KB39615 Generelt: SAS Note: KB42197 Match SAS BUFSIZE med stripe-størrelse eller multiplum deraf
Dårlig performance, hvad gør jeg? Kontakt SAS Bed om et SAS Performance Review Thomas Damgaard Thomas.Damgaard@sas.com
Konklusion 100-150 MB/s per core Sekventielle reads/writes Separation af SASWORK, UTILLOC og SASDATA Stripe over flere LUNs Ledig plads vigtigt især på Flash Test!
Kilder og læsestof Best Practices for Configuring Your I/O Subsystem for SAS 9 Applications Frequently Asked Questions Regarding Storage Configurations Configuration and Tuning Guidelines for SAS 9 in Microsoft Windows Server 2008 Testing Throughput for your SAS 9 File Systems: UNIX and Linux platforms A list of papers useful for troubleshooting system performance problems Input/output performance in SAS is degraded due to excessive memory usage on Windows https://support.sas.com/resources/papers/proc eedings15/sas1501-2015.pdf https://support.sas.com/resources/papers/proc eedings15/sas1500-2015.pdf https://support.sas.com/resources/papers/wind owsserver2008configurationandtuning.pdf https://support.sas.com/kb/51/660.html https://support.sas.com/kb/42/197.html https://support.sas.com/kb/39/615.html
Spørgsmål?
Tak for opmærksomheden! Thomas.Damgaard@sas.com