録音用のssd P4800X鉄の適度なテストを実施しました。 実際のタスクと同様に、どのタスクに何個のiopsを書き込む必要があるかを示します。 猫の下でのテスト結果。
P4800Xハードウェアを搭載したサーバーを購入しました(これについてはこちらで確認できます )。 サーバーの主なタスクはまだロードされていません。375GBで2000ドルのssdディスクが何を処理できるかを見るのは非常に興味深いです。 測定はiopsレコードのみで行われました。
始めるために、データベースの更新のテストを行うことにしました。 2列の整数と2列の文字列でテーブルを作成しました。 DBを選択する40個のスレッド(20個の物理コア)を作成しました。 データベース自体には4,000万行あり、各ストリームには100万行あります。 グラフからわかるように、16170 iopsでした。
3つのスクリーンショット:iops、cpu-jumps、read-write。 一定期間。 最初のブロックは初期化です。データベース内の4,000万レコードが1つのストリームで作成されたためです。 2番目のブロックは、40スレッドで更新された方法です。
次に、テーブルを4つの整数列に再編集しました。すでに19130のIOPSを取得しています。 しかし、まだ記録されている500,000 iopsとはほど遠い。
これらのグラフでは、前のテストの負荷の一部と、初期化と使用のあるブロックを確認できます。 驚いたことに、string-> integerを置き換えると+ 15%のパフォーマンスが得られました。
最初と2番目のテストの両方で、書き込み速度が400 mb / sに達するのは興味深いことです。
そのような結果に悲しみ、ファイルを直接記録しようとしました。 それぞれ1MBのファイルを40個作成し、40個のスレッドでランダムな位置に何かを書き込もうとしました。 ここで、この鉄片は243110 IOPSを発行しました。
私は15分以上苦しまないことに決めました-そのような負荷はssdリソースを非常に使い果たします。
奇妙なことに、この場合、合計書き込み速度は1 GB /秒です。
100%の使用率-つまり、この鉄片からさらに絞り出すことは不可能です。おそらくプロセッサに依存しています。 宣言されたIOPSの半分はどこに記録されましたか? たぶん私はそれを間違ってテストしていますか? おそらくそうです。 しかし、このハードウェアがベンチマークを推進するのではなく、ビジネス上の問題を解決するのが残念です。 そしてここでは、グラフに見られるような特性を持つビジネスタスクに似たベンチマークを解決します。
次に、読み取りを試みましたが、125Gbの空きRAMが可能なすべてをキャッシュします。 スクリプトメモリを食べるか、キャッシュを無効にします。これは受け入れられないと考えられ、落ち着きました。
この鉄片を購入する前に、私は本当にそのようなテストを見たいです。
今、彼らは-私はこれが誰かを助けることを願っています。
ベンチマーク自体はこちらです。
この鉄片にロードスクリプトを適用する準備ができました。