2

私はブラウザ(Firefox)で非常にうまく機能するアプリケーションXPagesを開発しました。すべてのページで、ブラウザは最大150Kbのコンテンツ(html、image、js、css ...など)をロードします。

XPiNCモードでサーバーに直接アクセスするリモートユーザーにアプリケーションを展開すると、速度が非常に遅くなります。

ツールを使用してトラフィックをスニッフィングしたところ、GETごとに10Mバイトのデータが転送されていることがわかりました(XMLソースやオンザフライでコンパイルされた他のコードを転送しているようです...)

Notes Client内のアプリケーションは使用できないため、私の顧客はこの機能に失望しています(ローカルおよびレプリケートでは使用できません)

PRELOADオプションが設定された8.5.3FP2(クライアントとサーバー)があります。これを変更する必要はありません。

誰かが私に何か提案がありますか?これはバグですか?

4

2 に答える 2

1

XPiNCは少し特別です。サーバーベースのNSFを開く場合、Notesクライアントのサーバーコンテナで実行するには、すべてのプログラムコードをクライアントにダウンロードする必要があります。サーバー内のデータでXPiNCを使用する合理的な方法は、アプリケーションを分割することです。すべてのプログラムロジック(すべてのXPagesおよびその他のコード)を含む1つのNSFと、フォーム、ビュー、およびドキュメントを含むもう1つのNSFを用意します。アプリケーションNSFをローカルに複製し、サーバー上のデータのみにアクセスします。これにより、パフォーマンスが大幅に向上します。データNSFを計算するための構成設定を行うことができるため、切断されたユーザーはデータのローカルレプリカを使用できます。

どうなるか教えてください。

PS:チューニングのアイデアは他にもあります...

于 2012-08-07T15:14:35.797 に答える
1

リモート アプリケーション (非ローカル サーバーに存在する NSF) は、Web ブラウザーで実行されるローカル クライアント レプリカまたはリモート アプリケーションよりも低速であることは事実です。これは、このモードで実行すると、より多くのネットワーク トランザクションが生成されるためです。ただし、問題を解決するために実行できるさまざまなことがあります。

ただし、最初に問題の原因を特定する必要があります。GET リクエストごとに 10MB の転送が発生しています。これは非常に大きく、明らかにパフォーマンスに悪影響を及ぼします。アプリケーション内の 1 つ以上の XPages が computeWithForm 機能を使用している可能性がありますか? XPages ドキュメント データ ソースが Notes フォームを「計算」する場合 (通常は、既存のアプリケーション ロジックを実行するため)、ローカル クライアントで計算されるように、フォームをネット経由でコピーする必要があります。ただし、フォームのすべての子 (サブフォーム、共有フィールドなど) も引き継がれるため、表示されているような大規模なネット トランザクションが発生する可能性があります。

多くの場合、computeWithForm 機能は開発の利便性のために使用され、フォームのサイズが小さい限り、パフォーマンスへの影響は無視できます。ただし、集約フォームが大きい場合は、computeWithForm の使用法を別の XPages SSJS アプリケーション ロジックに置き換える価値があるかもしれません。

先に進む前に、これが実際に問題であることを確認する必要があります。他の問題がある可能性があります。通常、これはドキュメントを開いたり編集したりするページでのみ現れます。そのため、テスト環境で computeWithForm をオフにしてみて、違いがあるかどうかを確認してください。

于 2012-08-09T17:32:54.007 に答える