2009-06-18 1 views
2

「古いスタイル」からの画面を編集して送信し、AJAXyスタイルに自動的に保存します。AJAXがより「チャタニー」につながる

結果はですが、それよりも小さくなります。サーバ/ dbラウンドトリップ。たとえば、ユーザーがテキストエリアを編集すると、AJAXを介して60秒ごとに変更が自動的に保存されます。現在、これらのフィールドを1つ以上更新し、ページ全体を送信すると、ページ全体がリロードされます。

私たちは、AJAXの明白な使い方として、ページをユーザにとってはるかに巧妙にするためにこれを行っています。しかし、このようなアプローチに移行することに関連するサーバー/データベースのパフォーマンスの問題が発生しましたか?サーバー/ dbの往復の観点から前向きなことに気づくのはうってつけの落とし穴ですか?

おかげ

+2

私はあなたが提出する/保存ボタンを維持することを願っています。 – TheTXI

答えて

2

私はDWR(JavaのAJAXフレームワーク)に関連this answerでこの問題に言及しました。

AJAXは提供するものに魅力的です。あなたは(ほとんどの場合)(個人の要求/応答の観点から)より多くのデータを巡回するでしょう。私のアドバイスは、これを監視/測定し、AJAXのコンテキストで重要なものと、ラウンドトリップ(ネットワークとCPUの用語で)がどれほど高価かを判断することです。特定したとおり、これはサーバープロセスとバッキングデータベースに影響します。

さまざまなデータタイプにキャッシュが必要な場合や、AJAXインフラストラクチャのPOVから取得するには高価すぎるデータがあります。 Webページ自体のサーバー側とコース(またはコース)にキャッシュすることができます。

クライアントサイトでは、かなりの量のAJAX対応Webページが実装されていますが、バックエンドに予期しない影響を及ぼすため、制限またはロールバックする必要があります。少しの意識と影響を監視する努力をして、これはしばしば回避されるか、少なくとも事前に理解され、適切に緩和されます。

+0

デベロッパー/ステージング環境でアプリケーションの負荷をテストして、アプリケーションが正常に拡張されることを確認してください。また、環境に応じて、Google Gears /ローカルDOMストレージのようなものを使用して、クライアントサイドで間隔を置いて進捗状況を保存することができます。パフォーマンスの観点から見るもの。 – ajm

0

私はパフォーマンス上の問題に遭遇したことがありません。ユーザがシステムではなく、システムに何かをデータベースに保存するのが適切かどうかを決めることです。

私はデータの整合性のいくつかの問題を想像するかもしれませんが、私はそれを取るあなたにとって重要ではありません。

関連する問題