このページは機械翻訳されています。英語の原文をお読みください。 English

IBSurgeon ライブラリ

バックアップによるディスク速度の簡易評価

Dmitry Kuzmenko、2019年5月30日、ib-aid.com

私たちのテクニカルサポートには定期的に「ディスクが遅いようなのですが、どうやって確認すればよいですか?」という質問(フォーラムでもよく聞かれるもの)が寄せられます。

この質問は、DBAがディスクサブシステムの設定にアクセスできない、あるいはその特性さえ知らない仮想マシンのユーザーから最もよく寄せられます。

もちろん、ディスク速度は、シンプルなCrystalDiskMarkからより複雑なIOMeterまで、さまざまなツールで測定できます。しかし、最も純粋な結果が得られるのは、アプリケーションがディスクを操作していないときです。そうでなければ結果は変動する可能性があり、高負荷時のテストではシステムパフォーマンスが低下する可能性があります。

さらに、システム管理者が、たとえ短期間であってもサードパーティ製ソフトウェアのインストールを禁止する場合もあります。

しかし、バックアップは通常、そのようなシステムすべてで行われます(FirebirdのバックアップにVMレベルのバックアップソフトウェアを使用しているシステムを除きます。これは誤りです。「データベースのバックアップにおける12のよくある間違い」の#11を参照してください)。

バックアップ(gbak -b -g)は、データベースからすべてのデータを読み取り、そのデータをバックアップファイルに(順次)書き込むことです。読み取り/書き込み操作の観点から見ると、これはランダム読み取りとシーケンシャル書き込みの組み合わせです。

バックアップファイルのサイズは通常、データベースサイズの60%〜70%です。また、データベースのバージョニングとページ構造により、書き込みよりも読み取りの方が多くなります。

バックアップファイルは通常、別の物理ドライブに配置されるため、全体的なバックアップ速度は、データベースのランダム読み取り速度とバックアップドライブのシーケンシャル書き込み速度に依存します。もちろん、データベースをHDDに配置し、SSDにバックアップすることもできますが、これは非常に非効率的です。そのため、バックアップドライブの速度はデータベースドライブの速度とほぼ同等であり、それほど速くも遅くもないと想定しています。

速度評価を簡素化するために、バックアップファイルのサイズのみを取得し、それをバックアップ時間で割りました。結果は「メガバイト毎秒」になります。しかし、取得した値を他のシステムと比較して評価するには、何らかの基準となる測定が必要です。

私たちは、平均的なデスクトップコンピューターを基準としました。2台のSATA3 HDDによるRAID1上のデータベースと、別のSATA3 HDDへのバックアップ(このRAID1のシーケンシャル読み取り速度は約180MB/秒、バックアップ用HDDは約150MB/秒)を想定しています。

ここでは、31GBのデータベースのバックアップサイズは21GBで、シングルユーザーモード(そのコンピューターで誰も作業していない)でのバックアップには18分かかり、バックアップ速度は19メガバイト毎秒です。

これは強力なサーバーではなく、単なるデスクトップ(2〜3年前に組み立てられたもの)であるため、このバックアップ速度を基準として使用し、通常の速度、そしておそらく本番システムに許容される最低速度と見なすことができます。

次に、私たちのサポート管理下にある30の異なるサーバーでバックアップ速度を分析しました。バックアップファイルのサイズは5ギガバイト以上です。

パフォーマンス 速度、MB/秒 コメントと例

| 高速 | 50-70 | 38〜150ギガバイトのバックアップを持つシステムがいくつかありました。124GBのデータベースを42分でバックアップ - これは高速です。 | | 平均 | 20-50 | ここでの平均速度は、30〜40分で約80ギガバイトです。これは正常であり、私たちのデスクトップもここに当てはまる結果を示しています。 | | 低速 | 10-20 | 463ギガバイトを11時間、80ギガバイトを2時間、293ギガバイトを5時間 - これは低速で、私たちのテスト用デスクトップの方が高速です。 | | 極めて低速 | 10未満 | これは1時間あたり8.5ギガバイトのようなものです。非常に低速です。 |

調査した一部のシステムでは、サーバーへの負荷がゼロの状態でバックアップが行われていないことは明らかです。しかし、いずれの場合も、サーバーへの負荷が最小限の状態で行われています。

低負荷がバックアップ速度にどの程度影響するかを知るために、同じデスクトップで2つのバックアップを同時に実行しました。両方とも19分かかり、速度は18メガバイト毎秒でした。これはシングルユーザーバックアップの93%であり、単一HDDとしてはそれほど大きな低下(7%減)ではありません。SSDを使用している場合は、同時に3〜4つのバックアップを実行しても違いに気付かないかもしれません。

一般に、バックアップ速度が毎秒20メガバイト以下である場合は、懸念の原因となる可能性があります。

この場合、バックアップディスクが遅すぎるか(バックアップはできるだけ高速に行う必要があります)、またはデータベースディスクが遅すぎて、システム全体のパフォーマンスが必要以上に低下しているかのいずれかです。

バックアップ速度を向上させる方法

多くの人はgbakをフルスピードで使用しておらず、単一のスイッチ -se service_mgr を使用して、Firebirdエンジン内のサービスマネージャーを利用することで、バックアップ速度を向上させることができる場合があります。

高速バックアップの推奨コマンドラインは、Firebird 2.5とFirebird 3.0の両方で次のとおりです。

gbak -se localhost:service_mgr -b -g -user USERNAME -pass password Disk:\Path\Database.fdb Disk:\Path\backup.fbk

一般的なパフォーマンスに関するその他のヒントとコツ: