私たちのアプリケーションでは、スキャンしたイメージをMSMQサイジング10-12kとおよそ1万5000イメージ(一日中150MB)に置くことを考えています。イメージをMSMQに配置する必要があります
パフォーマンスに問題が発生する可能性がありますか? このアプローチではどうしたらいいですか?
私たちはMSMQバインディングでWCFに行きます。
おかげ
私たちのアプリケーションでは、スキャンしたイメージをMSMQサイジング10-12kとおよそ1万5000イメージ(一日中150MB)に置くことを考えています。イメージをMSMQに配置する必要があります
パフォーマンスに問題が発生する可能性がありますか? このアプローチではどうしたらいいですか?
私たちはMSMQバインディングでWCFに行きます。
おかげ
MSMQネットワークの大きさはどれくらいですか? 150台のサーバーに1500台のキューがあれば、これは簡単です。しかし、最悪の場合を考えてみましょう:単一のサーバ、単一の回転ディスク(つまりSSDではない)とメッセージの永続的な記憶。 1メッセージにつき1件のIOPが必要で、1時間に約2000件のメッセージが届きます。これは1秒あたり1秒未満なので、ディスクから1〜10 IOPS必要です。大きな問題ではない。ただし、バーストトラフィックの場合は、レイテンシに問題が生じる可能性があります。
メッセージサイズは実際の問題ではありません。 MSMQの限界をはるかに下回り、今日の通常のRAMサイズをかなり下回り、古い10Mビットイーサネットでさえ十分に速いようです。そして、この低いメッセージサイズではIOPSの数は実際には変化しません。
適切なデザインでさえ、それほど重要ではありません。 SSDに投げることは迅速な修正として利用可能で、小さな30GBでも200日間のメッセージを保持することができます。彼らは典型的には1000回以上の完全な書換えのために指定されているので、あなたのケースでは200.000日を足します。
かあります場合、私は知らない - なぜあなたはそれを試して見ませんか?最近は150MBほどではありませんので、問題はありませんが、一般的にこれらのことをテストして確実に知ることが最善です。
MSMQは最大4メガのメッセージしか受け付けないので、大丈夫です。
-
を編集私は質問を読み違えが、私の応答はまだ正確です。限り、メッセージは< 4メガ、すべてがうまくなります:)リワード。
MSMQは最大4メガバイトのメッセージを受け入れることができます。メッセージ/画像ごとに10〜12kで問題はありません。
Optimizing Performance in a Microsoft Message Queue Server Environment
私はむしろ、サーバに画像を投稿することのGUIDを作成し、有効期限とそれをマークします。
次に、イメージのURL/GUIDを含むメッセージをMSMQに投稿します。
イメージサーバー上のバッチジョブは、期限切れのイメージを時折クリーンアップします。
それ以外の場合は、わずか12k ...実際のテストがなければ誰も知らないでしょう。上記のアプローチは実装が困難ではありません。
各メッセージは、それぞれ150mbではなく、10-12kです。 –
メッセージごとに?または合計で? –
メッセージごとに、ごめんなさい、あなたのコメントのために、私は間違っています、1800:P –