問題タブ [azure-caching]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
607 参照

azure - 断続的な Azure エミュレーター エラー: ファイルまたはアセンブリ 'XX' を読み込めませんでした ファイル名または拡張子が長すぎます。

Visual Studio 2012 Premium SP1 11.051106.01 およびエミュレーター バージョン 1.8 を使用すると、3 ~ 5 回のページ更新で次のエラーが発生します。その後、デバッグを停止し、エミュレーターに再デプロイする必要があります。

Azure で作業している開発者が少なくとも 5 人いますが、Web ロールを Azure Emulator にデプロイするときに全員が同じ問題を抱えています。キャッシングと関係があるのではないかと疑っていますが、どこから調べればよいかわかりません。

すべてのファイル パスの長さを確認しましたが、220 文字を超えるパスとファイル名はありません。Win 7 の最大文字数は 260 文字なので、他に何を確認すればよいかわかりません。

ファイルまたはアセンブリ 'Kernel32' またはその依存関係の 1 つを読み込めませんでした。ファイル名または拡張子が長すぎます。

ファイルまたはアセンブリ 'System.ServiceModel.Web.dll' またはその依存関係の 1 つを読み込めませんでした。ファイル名または拡張子が長すぎます。

0 投票する
2 に答える
140 参照

azure - WindowsAzureでの専用キャッシュの初期ロード

専用キャッシュ用にワーカーロールを設定しています。アプリケーションの起動時に、データベースからキャッシュをロードしたいと思います(理想的には、WorkerRole / RoleEntryPointのOnStart()メソッドで)。専用キャッシュプロジェクト内からキャッシュにオブジェクトを追加する方法を見つけることができませんでした(他のロールのキャッシュを問題なく使用できます)。

他のプロジェクトのように新しいDataCache()オブジェクトを作成するのが最善かどうか、またはより高速な内部メソッドがあるかどうかを誰かが知っていますか?最終的には、ロードするデータが大量になる可能性があるため、できるだけ高速にしたいと思います(また、役割間の帯域幅を最小限に抑えることを望んでいます)。Azureでのキャッシュの初期ロードに関するヒントやベストプラクティスはありますか?私はしばらく探していましたが、何も思いつきませんでした。

ありがとう!

0 投票する
2 に答える
1201 参照

azure - Azure DataCache Windows Azure Emulator で問題が発生しましたが、エラーは発生しませんでした。アプリケーションがハングアップする

クラウド サービスにデプロイし、azure データ キャッシュの使用を開始したい既存の mvc4 Web プロジェクトがあります。

Windows azure caching nuget パッケージを、ソリューション内の 2 つのプロジェクト (Web プロジェクトとクラス ライブラリ プロジェクト) に追加しました。どちらもこれらを必要とします。

web.config次に、Web プロジェクトの Web ロールを追加し、同じ場所に配置されたキャッシュが有効になっている Web ロールを指すように、 のデータキャッシュ識別子の参照を更新しました。

データキャッシュ コードがなくても、これをエミュレータでローカルに問題なく実行できます。しかし、データキャッシュにアクセスするコードを挿入した瞬間に問題が発生します。このコードだけで、Web プロジェクトがハングアップしました。

vs出力またはWebアプリケーションから生成されたエラーのいずれかに、私が認識しているエラーはありません。ハングするだけです。

この問題がどこにあるのかを診断するための最良の方法は何ですか?

アップデート

アプリケーション イベント ログに次のエラーが生成されていることに気付きました。

それは何が起こっているのかを追跡するのに役立ちますか?

役立つ可能性のあるもう 1 つの情報は、まったく新しいソリューションを作成し、Web ロールを追加して、共同配置されたキャッシュを有効にすると、正常に動作するようになるということです。このソリューションに固有のもののように見えます。

0 投票する
1 に答える
1782 参照

azure - テーブルストレージサービス(Azureのnosqlの実装)とWindows Azureキャッシング(メモリに構造化されていないキャッシュ)

2つの主な理由から、Azureにキャッシュを実装する必要があります。

  1. 反復的なデータアクセスを高速化
  2. データベースへのストレスを軽減します

キャッシュする予定のデータの特徴は次のとおりです。

  1. 比較的小さい(1〜100 kb)
  2. 各顧客に固有
  3. プライベートではありませんが、ランダムな人がキャッシュ全体をナビゲートすることは望んでいません
  4. XMLまたはJSON
  5. C#によって消費されます(つまり、htmlで直接リンクされていません)
  6. ほとんどの週はデータが変更されませんが、一部の日はデータが数回変更される可能性があります

この特定の目的では、テーブルストレージはBlobストレージよりも優れているように見え(画像、CSS、JavaScript用にBlobストレージを実装しただけです)、WindowsAzureキャッシングはWindowsAzure共有キャッシュよりも優れているように見えます(おそらくほとんどの場合、共有キャッシングはほとんどレガシーです)この時点で の機能)。

両方のプログラミングAPIは単純に見えます。私たちがクラウドサイトに支払うものと比較すると、それぞれのコストはごくわずかであるように思われます。

これまでのところ、Azure Cachingの長所と短所であると認識しているため、テーブルストレージに傾倒しています。古い.Netの人として、私たちはNoSqlスタイルのソリューションよりもインメモリキャッシュに精通しています。

Windows Azureキャッシングの問題:

  1. VMが別のサーバーに移動された場合(負荷分散またはその他の理由でMicrosoftによって)、メモリ内キャッシュはそのまま移動されますか?
  2. 変更をクラウドに公開するたびに、既存のメモリ内キャッシュが消去されると推測しています。
  3. ユーザーが変更を加えたときにキャッシュデータに変更を加えることはめったにありませんが、数秒以内に複数の更新を行う可能性があり、特にトラフィックが増加している場合に、Webロールを実行している複数のノードにまたがるキャッシュでこれがどのように機能するかはわかりません。(これはおそらくテーブルストレージにも関係します!)
  4. テーブルストレージは、デバッグが容易になるように見えます

WindowsAzureキャッシングの利点

  1. やや速い
0 投票する
2 に答える
1925 参照

azure - 新しい Azure キャッシング (DataCache、DataCacheFactory、および接続プール) への接続

Windows Azure Caching Documentは言う

可能であれば、同じ DataCacheFactory オブジェクトを保存して再利用し、メモリを節約してパフォーマンスを最適化してください。」

これがどれほど高価であるかの指標や定量化を見た人はいますか?

ひとつの主張は、

「MaxConnectionsToServer 設定... は、キャッシュ クラスターに対して開かれる DataCacheFactory ごとのチャネル数を決定します。」

したがって、MaxConnectionsToServer = 1 であり、DataCacheFactory がアプリ内のシングルトンである場合、Web サーバーへのすべてのリクエストを効果的に同期したことになります。

ただし、DataCacheFactory をシングルトンにする (つまり、Application_OnStart に配置する) べきであるという指摘が多数あります。

これは非常に重要であり、Microsoft のドキュメントに記載されていないとは信じられません。DataCacheFactory は、AppFabric、Azure 共有キャッシュ、および Azure キャッシュで同じように扱われますか? Microsoft がシングルトン ファクトリ オブジェクトを必要とする方法でキャッシングを設計したとは信じがたいです。これは、SqlConnection を使用するすべての人に、アプリケーションにシングルトン SqlConnectionFactory オブジェクトを持たせるように要求するようなものです。

したがって、比較的平均的な Web アプリ (たとえば、1 時間あたり 1,000 件のリクエスト、キャッシュ内の約 100 個のオブジェクト、平均的なリクエストは 5 個のキャッシュ オブジェクトにアクセスする) を考えると、次のようになります。

  1. デフォルト (および推奨) では、一度にいくつの Factory オブジェクトが存在する必要がありますか?
  2. DataCacheFactory 参照を作成するのにどのくらい時間がかかりますか?
  3. DataCache 参照の作成にはどのくらいの時間がかかりますか?
  4. アプリごとに 1 つの DataCacheFactory オブジェクトのみ、要求ごとに 1 つの DataCache 参照のみにする必要がありますか?

編集(進行中の回答):

(1/2)。Azure 接続プールに Factory オブジェクトを処理させる

(3)。まだテスト中...

(4)。DataCache 参照を再利用する必要があるかどうかをまだ判断しようとしています

0 投票する
1 に答える
464 参照

asp.net - AzureCo-Located-セッション状態のキャッシュの最大アイテムサイズ

Co Locateed Azure Shared Cache(プレビュー)内のアイテムの最大シリアル化サイズが8MBであることを理解しました。現在、Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProviderを使用して、セッション状態をキャッシュに保存しています。

私の質問は、セッション(すべてのセッションキー/値)が1つのアイテムとしてシリアル化されているのか、それとも各キー自体が8MBを超えることができないのかということです。

それで、それぞれ1 mbのデータを持つ10個のキーがある場合、それは8 MBの制限を超えていますか?

私はあなたがその大きなオブジェクトをセッションに保存することを想定していることを知っています(そして私は99%の時間ではありません)それは私のアプリケーションでいくつかのエッジケースがどのように動作するかを知るためだけです。

0 投票する
1 に答える
398 参照

azure - AzureCachingを使用したWebアプリケーションのデバッグ

既存のASP.NETMVCアプリケーションをデバッグするためのベストプラクティスを見つけたいと思います。これは、既にAzureでホストされているWebロールです。アプリケーションはWindowsAzureCachingを使用しています。構成ファイルは、Azureアカウントの設定で定義されています->

コードをデバッグしたいと思います。この場合の最良のアプローチは何ですか?

ホストをローカルホストに変更してすでにテストを行っていますが、機能していません。

ありがとうございました、

PS:新しいSDK1.8をインストールしました

0 投票する
1 に答える
340 参照

c# - Azure キャッシュに 8 MB を超えるオブジェクトを格納するための手法

8 MB を超えるオブジェクトを Azure キャッシュに格納する方法について、何か提案はありますか? 私の場合、byte[] を使用してファイルをブロブに保存します。しかし、どうにかしてバイト[]を小さなチャンクに分割し、それを部分ファイルとして保存し、キャッシュからファイルを取得した後にマージを実行できれば.

擬似コード:

保管

取得中:

  • ここにパフォーマンスの問題はありますか?

  • Azure キャッシュよりも優れたパフォーマンスを発揮する他の方法はありますか?

0 投票する
1 に答える
171 参照

asp.net - Azure 共存キャッシュ セッションの状態 (インスタンスの障害/更新)

DistributedCacheSessionStateStoreProvider を介してセッション状態に使用される場合、Azure の同じ場所に配置されたキャッシュは、インスタンスが更新されるシナリオ (ローリング/インクリメンタル) を処理する方法、またはインスタンスの 1 つで障害が発生した場合にどのように処理しますか。

同じ場所にあるすべてのキャッシュ データがすべてのインスタンスにレプリケートされていますか? または、障害が発生した場合に一部のデータが失われますか?

たとえば、リクエスト #1 がインスタンス 0 によって処理され、インスタンス 0 がクラッシュ/更新された場合、インスタンス 1 によって処理されるリクエスト #2 は、前のリクエストと同じセッション状態データに引き続きアクセスできますか?

このようなケースを説明している良いリソースを誰かが教えてくれますか?