2012-02-10 5 views
7

私のクラウド展開がオンプレミスコンピュータよりも「馬力」の方が遅い理由について、誰にも分かっていただけますか?Azureコンピューティングパワー:Extra Large VM slow

私は数百万の計算を(並行して)実行するためにワーカーロールを使用する計算集中型アプリケーションを持っています。

現在Azureでは、処理を行うためにExtra Large(8コア、16GB)VMを使用してテストしています。平均して反復ごとに45分かかっていましたが、4コアの8GBのオンプレミスマシンで実行されていた同じコードはわずか15分しかかかりませんでした。

Azureログは99%のプロセッサ使用率を示しますが、私は12GBのメモリを使用していませんので、各繰り返しでより多くのデータをメモリにロードしようとします。

8つのコアは個別に非常に低仕様ですか?ローカルストレージは本当にローカルですか?つまり、実際にはローカルストレージが別の物理デバイスにあるため、ファイルからデータを取得して結果をディスクに書き込むのが遅いのですか?ここで

答えて

1

カップルの質問、私はいくつかに答えることをしようとするでしょう...

ローカルストレージはローカルです - 制限区域に、同じディスク上の意味。ローカルストレージAPIを使用してアクセスしていますか?ローカルストレージも使い捨てです。アプリを再デプロイすると、ローカルストレージのすべてのデータが失われます。あなたがAzureドライブを使用している場合は、はい、私はいくつかの遅延がblobストレージに書き込みますが、あなたはそれを言及していないと予想します。

CPU仕様は、Azure Webサイトで定義されています。

実際の遅さの問題を解決することは困難ですが、アーキテクチャーのより良いアイデアを得ることなく、あなたのバックグラウンド作業を処理する必要はありません。しかし、一般的なルールとして、私はあなたが示している結果を見ることに驚くでしょう。 (あなたのオン・マシンはVMか専用のハードウェアですか?)

+0

はい、私はローカルストレージを使用していますAPIを介してボラティリティは私にとっては問題ではありません。ブロブストレージから入力データセットをコピーし、中間結果をローカルストレージに書き込み、最後にブロブに出力します。私は、計算情報かIOバインディングかを判断するためにトレース情報を追加しなければならないと思います。 – user1200984

0

アナリティクス重いコードを実行しているとき(すなわち、ディスクの使用量が少なく、RAMがあまり必要ない)同じことがわかります。私は問題は、電力よりもコアの価格と数に基づいてCPUを選択するということです。理論では、すべてのコアを活用するためにコードを並列化する必要がありますが、(コーディング時に)ハードまたは高価になることがあります。 more CPU powerに投票することを検討してください。しかし、時にはそれは難しいか高価です。

+0

私はあなたが正しいと思う(多くの低電力コア)。私のコードは非常に平行です。この点で私はPLINQエクステンションを大幅に向上させました。結局のところ、これはプロセッサを介してスケールアウトすることしかできませんが、複数のワーカー・ロールにまたがってスケールする必要があるように見えます。 :-( – user1200984

2

同じ問題が発生しています。データベース(SQL Azure上)を使用している私のWebアプリケーションも、私の敷地内のコンピュータに比べてとても遅いです。

ローカルサーバーの詳細: - dellのエントリレベルサーバー< $ 4コアと8GBのメモリ。 - サーバーは、仮想マシン として実行される - もDBサーバは同じサーバ(ウェブサーバと同じハードウェアを共有する)

アズールである: - 8つのコアを有する特大のサーバ上Webrole 。 - SQL Azure(別の物理サーバー上にあると思います)

私は紺碧に展開するとパフォーマンスが向上すると期待していました。 :( が、私はそれが本当に遅い8つのコアだと思う私は失望している(倍というすべての要求をプロファイラコードを使用して検証)それは4倍遅いものを、

を推測する。

を、私は私の古い上でテストを実行しましたコンピュータ(Intel Pentium)上に同じローカルVMをインストールしました(VMWareホスト)。それは紺碧よりもさらに速いです。

4

スコット・ガスリー(WindowsのAzureのチームのメイン)私に
こんにちはイワン、

我々としても、他のVM HW構成を持っている - マルチPROCと高いメモリオプションを含みます。今後さらに多くのオプションが表示されます。このことができます

希望、

スコット


私のテスト:(プロセッサ時間の100%)

ルーカス・レーマーの数学の計算。 11676ミリ秒(11.6秒)

:マルチスレッドバージョンがParallel.For実装

ホームコンピュータコアI7の3770K(4つのコアX 3.5GHzの)(ウィン8)

SINGLETHREADED(17プライマリ番号)を使用し

マルチスレッド(17のプライマリ番号):2816ミリ秒(2.8秒)

アズール大VM(4つのコア×1.6ギガヘルツ)(2008年ウィンS)

SINGLETHREADED(17のプライマリ番号):37275のMS

マルチスレッド17のプライマリ番号):10118のMS

×1.6 GHZアズール特大VM(8つのコア)(ウィンS 2008)

SINGLETHREADED(17プライマリ数):36232のMS

マルチスレッドを(17のプライマリ番号):6498メートル

ワークコンピュータ - AMD FX 6100(6つのコアX 3.3ギガヘルツ)(UPD W勝つ7)

SINGLETHREADED(17のプライマリー番号):48758ミリ秒

マルチスレッド(17のプライマリー番号):16486ミリ秒

最初のページにこのアイデアに投票http://www.mygreatwindowsazureidea.com/forums/34192-windows-azure-feature-voting/suggestions/3622286-upgrade-windows-azure-processor-from-1-6-ghz-to-mi

+0

あなたの家のコンピュータはすべて勝つ!家のコンピュータを借りることはできますか? –