web-dev-qa-db-ja.com

SQL FCIデータベースのレイテンシを3〜4倍に増やす可能性があるのは何ですか?

ローカルのIntelSSDドライブ上で実行されるSQLデータベースを実行するように構成されたSQLServer Basic Availability Groups(BAG)があります。 SQLServerのパフォーマンスを向上させるためにデータベースをSQLServerフェールオーバークラスターインスタンス(FCI)に移動するように求められました。ソフトウェア定義のストレージを搭載したHA仮想ドライブ上でデータベースを実行します。私の経験から、ハイパーコンバージドVSANは読み取り操作を2倍にする必要があるため、SQL IOレイテンシー(データベースからの読み取りの場合)は2倍に減少するはずです。

そのため、SQLBAGとSQLFCIの2つのシナリオがベンチマークされました。これらの2つのケースでは、512GBの最大サーバーメモリRAMがSQLServerに設定され、キャッシュを除外し、データベーステーブルから公正な読み取り操作を実行しました。

Management Studio SQLとSQLQueryStressは、テスト目的で使用されました。 SQLステートメントはSELECT TOP (500000) ... FROM [SQL].[dbo].[table]で、最初の500K行を読み取ります。

SQLBAGクエリの結果は次のとおりです。

Management Studio SQL:クエリ時間= 15秒

SQLQueryStress:

スレッド数= 1:クエリ時間= 2秒
スレッド数= 2:クエリ時間= 2秒
スレッド数= 4:クエリ時間= 2秒
スレッド数= 8:クエリ時間= 2秒
スレッド数= 10:クエリ時間= 3秒
スレッド数= 12:クエリ時間= 4秒

SQL FCIシナリオは、Windows Server 2016を実行している2つの同一のハードウェアノードのWindowsフェールオーバークラスター上に構築されました。ストレージは、Intel SSDドライブ上のソフトウェア定義ストレージ(ハイパーコンバージドVSAN)を使用して構成されました。そのため、仮想ディスクはフェールオーバークラスターにクラスターディスクとして提示されました。クラスターディスクのテストには、diskspdを使用しました

Diskpdの結果は次のとおりです。

4kランダム読み取り– 76K IOPS(SSD)、153K IOPS(ハイパーコンバージドVSAN-クラスターディスク)
8kランダム読み取り– 45K IOPS(SSD)、89K IOPS(ハイパーコンバージドVSAN-クラスターディスク)

予想どおり、ハイパーコンバージドVSANはストレージパフォーマンスを2倍にしました。次に、SQL FCIは、そのクラスターディスクにデータベースファイルを格納するように構成されました。データベースの別のコピーがサーバーにアップロードされ、同じテストが実行されました。

SQLFCIクエリの結果は次のとおりです。

Management Studio SQL:クエリ時間= 15秒

SQLQueryStress:

スレッド数= 1:クエリ時間= 9秒
スレッド数= 2:クエリ時間= 8秒
スレッド数= 4:クエリ時間= 9秒
スレッド数= 8:クエリ時間= 8秒
スレッド数= 10:クエリ時間= 10秒
スレッド数= 12:クエリ時間= 12秒

質問は次のとおりです。

  1. ManagementStudioを介してベンチマークされたSQLBAGとSQLFCIのレイテンシが同じであるのはなぜですか?

  2. SQL FCIデータベースのレイテンシを3〜4倍に増やす可能性があるのは何ですか?

4
A.Newgate

FCIは歴史であり、新しい展開ではAlwasysOn可用性グループ(AG)を使用します。これははるかに高速で(SQL Serverは何を複製するかを知っているため)、少なくともBasicAGがSQLServerのStandardエディションに含まれています。

https://blogs.technet.Microsoft.com/msftpietervanhove/2017/03/14/top-5-questions-about-basic-availability-groups/

3
BaronSamedi1958