26.5. ソリッドステートディスクの調整に関する考慮事項
ソリッドステートディスク (SSD) は、回転磁気プラッターではなく、NAND フラッシュチップを使用して永続データを保存します。SSD は、論理ブロックアドレス範囲全体にわたって、データへのアクセス時間を一定に保ちます。回転式のものとは異なり、測定可能なシークコストは発生しない。
それらは 1 ギガバイトあたりのストレージ容量が高価で、ストレージ密度も低い。しかし、ハードディスクドライブ (HDD) よりもレイテンシーが低く、スループットも高い。
SSD の使用済みのブロックが、ディスク容量を占有してくると、通常パフォーマンスは低下します。パフォーマンスの低下レベルはベンダーによって異なりますが、このような状況では、すべてのデバイスでパフォーマンスが低下します。破棄動作を有効にすると、この低下を軽減できます。
デフォルトの I/O スケジューラーと仮想メモリーのオプションは SSD 使用に適しています。設定時には、SSD のパフォーマンスに影響を与える可能性がある以下の要素を考慮してください。
I/O SchedulerI/O スケジューラーはどれでも、ほとんどの SSD で適切に動作することが想定されます。ただし、他のストレージタイプと同様に、ベンチマークテストを実施して、特定のワークロードに最適な設定を決定する必要があります。SSD を使用する場合は、特定のワークロードのベンチマークを行う場合にのみ、I/O スケジューラーを変更してください。
I/O スケジューラー間の切り替え方法は、
/usr/share/doc/kernel-version/Documentation/block/switching-sched.txtファイルを参照してください。シングルキューのホストバスアダプター (HBA) の場合、デフォルトの I/O スケジューラーは
deadlineです。複数のキュー HBA の場合は、デフォルトの I/O スケジューラーはnoneです。Virtual Memory-
I/O スケジューラーと同様に、仮想メモリー (VM) サブシステムには特別なチューニングは必要ありません。SSD の I/O は高速であるため、
vm_dirty_background_ratioとvm_dirty_ratio の設定値を下げてみてください。書き込み活動の増加は、通常、ディスク上の他の操作の遅延に悪影響を与えることはありません。しかし、この調整を行うと全体的な I/O が増加する可能性があるため、ワークロード固有のテストを行わない限り、一般的には推奨されません。 Swap- SSD はスワップデバイスとしても使用でき、ページアウトおよびページインのパフォーマンスが向上する可能性が高くなります。