3

一部のデータを SQL Azure に変換しているときに、予期しない動作に気付きました。私は簡単なテストを行いましたが、これが結果です:

DB に 1M レコードの単一のテーブルがあり、DB サイズは 230MB です。これには、非クラスター化インデックスがありません。

同じスキーマで新しいテーブルを作成して簡単なテストを行い、次のようにあるテーブルから別のテーブルにデータをコピーしました。

INSERT INTO [dbo].[lete_new]
           ([str_en]
           ,[str_en_fp])
SELECT [str_en] ,[str_en_fp] FROM [dbo].[lete]

まず、私のローカル ワークステーション (SELECT [str_en] ,[str_en_fp] FROM [dbo].[lete]) では 8 秒かかるため、その上に挿入にかかる時間があります。ローカル WS で挿入を実行したところ、データを新しいテーブルにコピーするのに 10 秒かかりました。驚いたことに、Azure で同じクエリを実行したところ、30 秒かかりました。

これは正確にはプログラミングの問題ではないことはわかっていますが、それでもこれはプログラムのパフォーマンスに影響を与えるので、パフォーマンスが低下する理由を知りたいですか?

4

1 に答える 1

5

ここでは、かなりの数のことが関係しています。このタイプの操作で最も影響を受けるのは、ローカル ドライブ上のストレージ システムが、SQL Azure が実行されているものと同じではないということです。障害に迅速に対処できるように、すべての書き込みがレプリケートされることに注意してください。これだけ多くの書き込みがあるので、違いの大部分はここにあるのではないかと思います。

また、SQL Azure インスタンスは他のユーザーと共有され、コモディティ ハードウェア上にあることに注意してください。1 人のユーザー (デスクトップ) 専用の 4 コアを備えたシステムのパフォーマンスは、他のユーザー (SQL Azure) で実行されているサーバーとは異なります。

一般に、単一の専用リソースのパフォーマンスをクラウド プロバイダーのパフォーマンスと同一視することはできません。利点は、スケールアップではなく、低コストのランプアップとスケールアウトから得られます。

于 2012-07-01T23:56:52.113 に答える