0

依存性注入を使用しているWebアプリがあり、キャッシュの実装を簡単に切り替えることができます。現在、asp.netランタイムキャッシュを使用していますが、Webアプリを3つのWebサーバーに分散する必要があります。Memcacheの実装を構築してテストしましたが、動作しますが、速度に満足していません。その理由は、シリアル化と逆シリアル化によるものだと思います。私はこれをどのようにスピードアップするかについて途方に暮れています。

私はできた -

  • それを残して、ユーザーエクスペリエンスがひどいものにならないことを願っています
  • 一部のデータでランタイムキャッシュを使用し、一部のデータでmemcacheを使用する
  • memcacheのパフォーマンスを改善する方法を理解する

psドメイン全体を属性で装飾したくないので、シリアル化/逆シリアル化にproto-bufを使用しないようにしています(またはそうする必要がありますか?)

提案?

4

1 に答える 1

0

それで、どうやってそれが遅いことを知っていますか?または、それがシリアル化であることをどのように知っていますか?

私は最近、パフォーマンスの最適化に多くの時間を費やしました。解決策を提案する前に、最初に難しい事実に基づいて問題を調査する必要があると言わなければなりません。

  1. memcachedなしでベースラインベンチマークを確立する
  2. memcachedを使用して同じベンチマークテストを実行し、比較します
  3. 明らかに遅い場合は、プロファイリングツールを使用して、ボトルネックが正確にどこにあるかを確認します
  4. ボトルネックを確立したら、コードのその領域を分離し、プロジェクトの外部に分離されたテストケースを作成してみてください。次に、なぜ時間がかかるのかを調べて、さまざまなアプローチを試してください。(私と他の人はその時にあなたを助けることができました)

私の経験から、シリアル化はそれほど遅くないはずです。

ベンチマークを行うには、ab.exeまたはjmeterを両方とも無料で使用できます。

于 2012-12-15T15:52:50.613 に答える