2016-08-26 18 views
4

ブロブを数千回以上追加するとAzure Append Blobからの読み込みが非常に遅いことがわかりました。書き込み/追加は高速ですが、典​​型的なログブロブを数千回読み取るとサイズが数KB追加されますが、数MBの合計サイズは1分以上かかります!同様のサイズの標準ブロッグまたはページブロブを読むのにはミリ秒かかる。追加するBLOBからの読み込みを高速化する、つまり内部構造を平坦化する方法はありますか?アズールブロブをゆっくりと読み込むパフォーマンスを遅くする

これまでのところ、定期的にブロブをブロックしてブロブをブロックして処理するのが最も良いかもしれないと思われます。なにか提案を?

そうでない場合は、ログの代替記憶域として推奨されるものは何ですか? Azureテーブルを使用できますが、バルク操作を使用していても、さらに多くの読み込みが必要になります。

答えて

-1

ブロブがブロックで構成されていることに注意してください。 1つの追加ブロブには、それぞれ最大4MBのブロックを最大50,000ブロックまで含めることができます。新しいコンテンツを既存のファイルに追加すると、ファイルのパフォーマンスが低下します。 enter image description here

Append BLOBに存在するファイルに新しいコンテンツを追加することはお勧めできません。次のスクリーンショットのようなコミット番号が見つかりました。 Blobに内容を追加する必要があるときにBlobを追加する必要があり、順序について気にしません。 appendを使用してアプリケーション情報を記録する場合は、新しいログ情報を新しいファイルに書き込んで、Azureにblobを追加して保存することができます。 Azureテーブルは、アプリケーション情報を記録するのにも良いサービスです。ログ情報を調べたい場合は、Microsoft Azure Explorerを使用できます。

+0

Jamborの説明をいただきありがとうございます。それでも、ログ用に実用的でない場合、Append Blobの主な使用事例は何かが明確ではありません。私はAzureテーブルに切り替えて、妥当であるというパフォーマンスを読んで、1.5Kのアイテムに対して約1秒、一括モードで読み込みました。それでも、ブロブまたはページ – dragansr

+0

これはAppend blobによるロギングまたはテレメトリデータの保存に理想的です。良いパフォーマンスが必要な場合は、時間または日ごとにブロブファイルを追加することをお勧めします。そのため、Append blobファイルごとに大きすぎるコミットブロックを避けることができます。 –

+0

この回答とコメントは混乱しています。一方で、AppendBlobは付加するのには向いていませんが、もう一つは、テレメトリとログデータを追加するのに適していると言います。回答者は、それが追加のために良いことを示唆していますが、特定のサイズまでです。 – bearrito

1

私はAzureテーブルに切り替えて、妥当性があり、1.5Kアイテムで約1秒、一括モードで読み込みました。それでも、同じ内容のブロックまたはページのブロブを読むことは、はるかに高速なミリ秒です。ページブロブに追加する方法があれば、非常に効果的です。それは手動で行うことができるので、Append(または他のタイプの)Blobは将来のバージョンでそれを自動化できます。 Append BlobはDeep dive in Append Blobの中ではかなり複雑です。これは読み込みが遅い可能性があります。

関連する問題