Optymalizacja wydajności dysków SSD
Dyski SSD są obecnie synonimem wysokiej wydajności i niskiego zużycia energii. Artykuł ten pokazuje w jaki sposób możliwe jest uzyskanie optymalnej wydajności dysków SSD.
Optymalizacja wydajności dysku SSD
Włączenie AHCI
Podczas pracy z dyskami SSD (Solid State Drives) zalecanym jest korzystanie z tryby AHCI (Advanced Host Controller Interface) (nie IDE).[1] Jedynie z AHCI możliwe jest skorzystanie z następujących technologii:
- NCQ (Native Command Queuing)
- LPM (Link Power Management)
Secure Erase przed partycjonowaniem
Przed partycjonowaniem i formatowaniem dysku SSD należy przeprowadzić Secure Erase. Przez co wszystkie bloki dysku zostają przez kontroler skasowane. Zwiększa to wydajność dysku SSD.
Powiększenie Spare Area
Przez większą spare area (Over-Provisioning) zwiększa się wydajność i żywotność dysku SSD.
Spare area może zostać zwiększona jedynie przed sformatowaniem SSD. Możliwe jest to za pośrednictwem specjalnej komendy ATA, lub pozostawienie części niepartycjonowanej. Dalsze informacje na ten znajdują się w akapicie Spare Area artykułu Solid State Drive.
Włączenie ATA TRIM
Jeżeli wykorzystywana jest kompletna powierzchnia dysku SSD to ATA Trim zwiększa również jego wydajność i żywotność.
Optymalizacja poboru energii
Device Initiated Power Management (DIPM) nie zwiększa w prawdzie wydajności, ale wydłuża czas pracy na baterii laptopów wyposażonych w SSD i zmniejsza pobór prądu serwerów wyposażonych w SSD:
- Włączenie DIPM[3]
- Windows 7:[4]
- Sterownik RST firmy Intel aktywuje DIPM w mobilnych systemach
- Sterownik MSAHCI firmy Microsoft wspiera DIPM, który jest domyślnie aktywny jedynie w Power Saving Mode. Za pośrednictwem powercfg może zostać również włączone w innych trybach
- Linux:
- wspiera DIPM od jądra 2.6.24[5][6]
- Windows 7:[4]
Wyłączenie defragmentacji
Dyski SSD nie wymagają defragmentacji.[7]
Alignment systemu plików
Poprawa konfiguracja partycji / systemu plików podczas partycjonowania przynosi korzyści w postaci wzrostu wydajności.[8] W czystym środowisku Linuksa, bez dual bootu, zastosowanie GPT przynosi prosty alignment partycji i systemu plików.[9] W Windowsie obowiązują w odniesieniu do GPT ograniczenia.[10]
Pierwsza partycja jest specjalnym przypadkiem, na jej początku musi pozostać wolne miejsce dla Master Boot Record (MBR). Szczegółowe informacje odnośnie poprawnego alignmentu znajdują się w artykułach CHS i adresowanie LBA dysków#Alignment i Partition Alignment.
System plików w Linuksie
W niektórych postach zalecanym jest zastosowanie ext2 jako system plików w Linuksie. To zalecenie jest trafne w przypadku dysków SSD pierwszej generacji, gdzie księgowanie systemu plików miało negatywny wpływ na wydajność. Korzyści księgowania (krótsza kontrola systemu plików po błędzie) są przez to tracone.
W aktualnych dyskach SSD z garbage collection i TRIM zalecanym jest natomiast ext4, gdzie nowe funkcje minimalizują Write Amplification.[11] W dyskach SSD z garbage colelction i TRIM system plików ext4 umożliwia korzystanie z jego nowych funkcjonalności, delayed allocation, RAID stripe-alignment jak i korzyści wynikających z ksiegowania.[12]
Co wpływa na wydajność serwerów z dyskami SSD
W Optimizing Solid-State Drive (SSD) Performance for Data Center Applications (SSDS001) z Intel Developer Forum 2011 pokazuje Steven Wells i Tahmid Rahman, które rzeczy maja wpływ na wydajność serwera z dyskami SSD:
- Request Size
- Queue Depth
- Performance vs. Density
- Read/Write Mix
- % Random access
- Over-provisioning
- Data Entropy
- Prior State of the Drive
Odnośniki
- ↑ http://intelstudios.edgesuite.net/idf/2010/sf/aep/SSDS003/SSDS003.html Slide 6
- ↑ Over-provisioning an Intel SSD (Intel)
- ↑ http://intelstudios.edgesuite.net/idf/2010/sf/aep/SSDS003/SSDS003.html Slide 9
- ↑ http://www.microsoft.com/whdc/system/pnppwr/mobile_bat_Win7.mspx
- ↑ http://www.thinkwiki.org/wiki/How_to_reduce_power_consumption#SATA_Link_Power_Management
- ↑ http://kernelnewbies.org/Linux_2_6_24#head-f29764e7ef293be84e2f8aa1b08b8816b15ebfca
- ↑ http://intelstudios.edgesuite.net/idf/2010/sf/aep/SSDS003/SSDS003.html Slide 23
- ↑ http://thunk.org/tytso/blog/2009/02/20/aligning-filesystems-to-an-ssds-erase-block-size/
- ↑ http://thunk.org/tytso/blog/2009/02/20/aligning-filesystems-to-an-ssds-erase-block-size/#comment-1788
- ↑ http://thunk.org/tytso/blog/2009/02/20/aligning-filesystems-to-an-ssds-erase-block-size/#comment-1802
- ↑ http://en.wikipedia.org/wiki/Write_amplification#Factors_affecting_the_value
- ↑ http://thunk.org/tytso/blog/2009/02/20/aligning-filesystems-to-an-ssds-erase-block-size/#comment-1786