LinuxでのディスクI / Oパフォーマンスの最適化:高スループットと短い待ち時間のための高度な技術

LinuxでのディスクI / Oパフォーマンスの最適化:高スループットと短い待ち時間のための高度な技術

私は現在、ディスクI / O要件が高いLinuxベースのサーバーを開発しており、最適なパフォーマンスを得るためにシステムを微調整するための高度な戦略を探しています。基本的な最適化を実施しながら、より深く技術的な洞察を探しています。

具体的には、次のことを知りたいです。

  • LinuxでディスクI / Oのパフォーマンスを大幅に向上させるための高度なカーネルレベルの設定と調整パラメータは何ですか? I/Oスケジューラ、ファイルシステム調整、ブロックデバイス設定などの機能をどのように活用しますか?

  • 高I ​​/ O環境で正常に動作する特別なファイルシステムまたはストレージソリューションはありますか?選択または構成するときにどの要素を考慮する必要がありますか?

  • ディスクI / Oパフォーマンスを効果的に監視および分析して、ボトルネックまたは改善領域を特定する方法は何ですか? I/O 操作に関する洞察を提供する特定のツールやユーティリティはありますか?

  • 特に頻繁にアクセスされるデータの場合、ディスクI / Oレイテンシを減らし、スループットを向上させるためにどのような高度なキャッシュおよびバッファリング戦略を実装できますか?

  • 利用可能なディスクリソースを最大限に活用するために、I / O集中型アプリケーションやワークロード(データベースや高スループットWebサーバーなど)を最適化するためのベストプラクティスはありますか?

ベストアンサー1

Red HatにはtunedRHEL 7.9a以降、tuned-adm list.showが表示されます。

Available profiles:
- atomic-guest                - Optimize virtual guests based on the Atomic variant
- atomic-host                 - Optimize bare metal systems running the Atomic variant
- balanced                    - General non-specialized tuned profile
- cpu-partitioning            - Optimize for CPU partitioning
- default                     - Legacy default tuned profile
- desktop                     - Optimize for the desktop use-case
- desktop-powersave           - Optmize for the desktop use-case with power saving
- enterprise-storage          - Legacy profile for RHEL6, for RHEL7, please use throughput-performance profile
- hpc-compute                 - Optimize for HPC compute workloads
- laptop-ac-powersave         - Optimize for laptop with power savings
- laptop-battery-powersave    - Optimize laptop profile with more aggressive power saving
- latency-performance         - Optimize for deterministic performance at the cost of increased power consumption
- mssql                       - Optimize for MS SQL Server
- network-latency             - Optimize for deterministic performance at the cost of increased power consumption, focused on low latency network performance
- network-throughput          - Optimize for streaming network throughput, generally only necessary on older CPUs or 40G+ networks
- oracle                      - Optimize for Oracle RDBMS
- powersave                   - Optimize for low power consumption
- server-powersave            - Optimize for server power savings
- spindown-disk               - Optimize for power saving by spinning-down rotational disks
- throughput-performance      - Broadly applicable tuning that provides excellent performance across a variety of common server workloads
- virtual-guest               - Optimize for running inside a virtual guest
- virtual-host                - Optimize for running KVM guests

私は、関連性があると思われる他のプロフィールのtunedように、プロフィールについて彼らが何をしたかを調べます。設定ファイルでそのようなことが起こりたくないenterprise storageでしょう...私の考えでは...または任意の種類の省エネ関連の作業も同じです。spindown-disk

I / OがシステムのRAM容量を超えない限り、4ソケットアドバンストサーバーの場合は768GBが標準で、安価なワークステーションの場合は約128GBです。最善の方法は、インストールをフォルダtmpfsにして直接インストールすることです。/data[DDR4またはDDR5] RAMは読み取り/書き込みを実行し、それに応じて対応する揮発性データの場所を管理します。/etc/fstab同様のことをすることですtmpfs /data tmpfs defaults,size=512G 0 0。そんなことは呼びません。高度なバッファリング戦略しかし、6Gbit/sまたは12Gbit/sのディスクの代わりにRAM専用SATA/SASを使用すると、はるかに高速になるので、そうする必要はないと思います。単に、適切な電源プロファイルを実行するよりもLinuxを使用することができます。レイテンシパフォーマンス変える省エネ

また、実行に最適なハードウェアを選択すると、あなたが尋ねる多くの質問にもっと答えを得ることができると思います。同調Linux。 Linuxオペレーティングシステムはデフォルトでディスクキャッシュtmpfsそして、実際のディスクへの書き込み/フラッシュを行う前に、できるだけ多くのRAMで実行されるため、上記のものとまったく一致します。つまり、より良いパフォーマンスが必要な場合は、RAMを増やしてください。 PCが8GBまたは16GBのみを実行している場合は、サーバーの場合は64GB以上に更新し、128GB未満の場合は最大設定は768GB以上です。最速のRAM DIMMタイミングをサポートします。

おすすめ記事