両方のシステムのメモリパフォーマンス比較(低バッファ対高キャッシュ)

両方のシステムのメモリパフォーマンス比較(低バッファ対高キャッシュ)

私が所有している2台のコンピュータのパフォーマンスを比較しようとしています。両方のコンピュータに同じ設定でデータベースがインストールされています。どちらのシステムも同じ量のCPU(20コア)/メモリ(65GB)を持ちます。各マシンは、ローカルディスクを持つ専用esxの仮想マシンです。

両方のコンピュータで同じタスクを実行していますが、ハードウェアが同じであっても、machine1よりもmachine2ではるかに良い結果を見ることができます。根本原因を見つけようとし、記憶を調べることから始めました。両方のシステムでfree -mの出力を観察したところ、作業全体でバッファ/共有/キャッシュ値が非常に異なることがわかりました。

マシン1(平均)使用 - 42 GB、バッファ - 450 MB、共有 - 1.9 GB、キャッシュ - 39 GB

マシン2(平均)使用 - 58 GB、バッファ - 2.8 GB、共有 - 4 GB、キャッシュ - 29 GB、

私が理解しているように、キャッシュは最近ディスクから読み取られたデータがI / Oを節約するためにキャッシュに保持されることを意味します。これは、キャッシュされた列が大きいため(私の結果とは異なり)、machine1から読み込む方が速くなければならないことを意味します。

結果をどのように説明できますか?また何を調べることができますか?

答え1

機械をそんなに簡単に比較することはできません。以下を解決する必要があります。

  1. ホストマシンと仮想マシンの同じディスク(速度、I / O操作、キャッシュ、ディスクパーティション化の観点から)同じ構成でLVMなど
  2. 同じソフトウェア - 同じバージョンのホストオペレーティングシステム、同じパッチ、同じ設定を実行する必要があります。
  3. 同じVM - 各VMには独自の負荷があるため、これはあなたの場合に最も重要です。
  4. さらに、同じ仮想マシンは、時間、そのマシンで実行されているタスクなどに応じて、さまざまな種類の負荷を表示できます。

答え2

2.8GBのバッファはかなり大容量です。これは、何かがブロックデバイスでネイティブI / Oを実行しているか、ファイルシステムキャッシュをバイパスしていることをほぼ確実に意味します。これは、最終的にドライバまたはその上で実行するすべてがまったく同じではないことを意味します。

  • 実行しているソフトウェアのバージョンとその構成を比較します。
  • カーネルバージョンの比較
  • ESXセクションでの仮想マシンのハードウェアエミュレーションの比較
  • それらが実行されている実際のハードウェアを比較する価値があるかもしれません。
  • ホストのカーネルバージョンとESXバージョンを比較することをお勧めします。

関連情報