web-dev-qa-db-ja.com

SSDドライブを搭載したLinuxサーバーでRAM(ZSWAP))のスワップ圧縮は有益ですか?

メモリーの使用率が高い(90%...)まれなイベントでWebサーバーのパフォーマンス(応答性)を向上させて、多くのスワップが開始され、手動による介入がより速く、エラーが発生しにくくなるようにします。これ以上RAM=をマシンに追加できません(32G RAM + 6G swapパーティション))。

このような状況でパフォーマンスを向上させる1つの方法は、RAMで圧縮スワップキャッシングを使用することです。これにより、システムはより効率的にRAMを使用し、低速の不揮発性メモリに対するI/O待機の影響を減らします。

1999年の古い調査[1]は、I/O操作と比較してCPUが高速であるほど、圧縮されたスワップキャッシュのメリットが大きく、CPUが高速になるほどこれがさらに向上することを示しています。回転ディスクを使用する場合は、スワップ圧縮を使用することをお勧めします。

パフォーマンスを向上させるためのこのアドバイスは、SSDドライブしかないサーバーにも当てはまるのだろうか。ここでは、I/O操作がはるかに高速であるため、回転ディスクよりもメリットが少なくなります。

この機能の実装は、2012年にzswapを介してLinux3.11に導入されました[2]。サーバーでの経験はありますか?純粋なSSDドライブを使用する場合にもメリットはありますか?

[1] https://www.usenix.org/legacy/event/usenix99/full_papers/wilson/wilson.pdf

[2] https://events.static.linuxfound.org/sites/events/files/slides/tmc_sjennings_linuxcon2013.pdf

2
Ján Lalinský

RAMはまだはるかに高速で、SSDよりもはるかに高速です。 NVMeドライブが3GB/sでアドバタイズされているのを見たことがあるかもしれませんが、RAM最近のPCでは20-25GB/sになる可能性があります。これらは単なるシーケンシャル速度であり、ランダムアクセス時間はRAM NVMe経由。ミリ秒とナノ秒の違いです。SA​​TASSDはさらに低速です。

Appleはメモリ圧縮を使用し、すべてのMac(ローエンドiMacを除く)は非常に高速なSSDを使用することも覚えておいてください。

3
Bert

ページインしているシステムの応答性を向上させるには、そもそもシステムがページアウトしないようにします。

  • アプリケーションのメモリ要求を減らす
  • より多くのインスタンスにスケールアウト
  • より多くにスケールアップRAMインスタンスで

zswapは、ワークロードに応じて、自分でテストする必要があるものです。スワップデバイスの前に圧縮キャッシュを挿入するためのオーバーヘッドが増加し、応答時間が損なわれる可能性があります。さらに、 zswapはまだ実験的なものとして文書化されています そして可能なワークロードと比較して軽くテストされています。

利点があるかもしれませんが、それがどのように動作しているかを調整、テスト、および監視するために数時間を費やすことを期待してください。代わりにRAM)をさらに32 GB程度購入し、最初にページが表示されないようにすることを検討してください。

1
John Mahowald