7

複数の JAR、Java ソース、および最大 50 の XP/CC 要素を含む XPages アプリケーションのビルド時間は、WAN 経由でサーバー上にビルドするのに約 1 分かかります。アプリケーションをローカルにレプリケートしたところ、ビルド時間が ~10 秒に短縮されました。

数日前から、ローカル アプリケーションのビルドは非常に遅く、約 2 ~ 5 分です。いくつかの実験の後、回避策があります: ロケーション ドキュメントで TCP ポートを無効にすると、ビルド時間がわずか数秒に短縮されます。機能しても、あまり役に立ちません-テストにはユーザーの認証が必要なので、設計の変更をリモートまたはローカルサーバーに複製する必要があります-つまり、場所(オンライン/オフライン)を毎回変更する必要があります.

UPDATE 2013-04-04:現在のロケーション ドキュメントを複製し、ホーム サーバーとディレクトリ サーバーを削除しました。驚いたことに、この場所ではビルド時間が数秒に戻りました。TCP ポートが有効になっているため、レプリケーションが可能です。さらに驚いたのは、ホーム/ディレクトリ サーバーを新しい場所に戻しても問題が再現されなかったという事実です。実際、パフォーマンスには影響しません。私は現在の場所のドキュメントの名前を変更し、すべてが正常になったので、それを知っています. 私の理解では、クライアント構成の「何か」は場所名に接続されていました。サイモンのヒントのおかげで、さらに調査します。

質問はまだ未解決です:この動作を制御する (eclipse) 設定を探しています - ローカルアプリケーションのビルド中のサーバーとの意図しない通信。

4

4 に答える 4

4

解決策: Teamstudio CIAO はデザイナーにフックし、デザイン要素のすべての更新をチェックします。私にはコードの最適化が欠けているようです。現在ビルドされている設計要素 (1 つ 1 つ、1 つ 1 つ) を CIAO 構成データベースで制御する必要があるかどうかをチェックします。

これは、ロケーション ドキュメントの名前を変更することで問題が解決された理由を説明しています。昨日、パフォーマンスの問題が再発したときはがっかりしました。幸いなことに、その頃にその場所のドキュメントに CIAO をセットアップしたことを思い出しました。CIAO はteamstudio.iniDATA ディレクトリのファイルを使用して、すべてのロケーション ドキュメントにどの CIAO 構成データベースを使用するかを構成します。エントリを探します:

CIAOConfigDb[location name]=server name;CIAO\CIAOConfig.nsf

サーバー (複製またはローカル サーバー用) に接続するローカル レプリカでの開発の場合は、CIAO を無効にしてロケーション ドキュメントを使用します。

これは property でのみ機能しますForceConfigLocation=0

于 2013-04-09T16:11:20.543 に答える
3

解決策ではありませんが (まだ!)、調査に役立つ可能性があります。後で結果を投稿する場合は、さらに更新します。

デバッグ命令。

Designer クライアントを起動するショートカットに以下を追加します。

-RPARAMS -console -debug -separateSysLogFiles -consoleLog

デザイナー クライアントを起動します。これにより、OSGi コンソールも開きます。

問題を再現します。OSGi コンソールでまだ進行中に、次のように入力します。

dump threads

これを 3 回実行します。各ダンプの完了の間に少し時間を空けてください。完了したら、3 つのヒープ ダンプ (IBM_TECHNICAL_SUPPORT フォルダー内) をHeap Dump Analyzerで開きます。

3 つのダンプすべてでどのスレッドが一貫しているかを示します。それらを見て、機能領域のように見えるパッケージ名/呼び出しを探します。それができたら、関連するクラスのデバッグを追加してみてください。

例:「com.ibm.designer.domino.ui.commons」に気付いたとしましょう。スレッドで、rcpinstall.properties ファイルを編集します。それは次のとおりです。

<Notes Install>\Data\workspace\.config\rcpinstall.properties

追加します (FINE で開始し、何もない場合は FINEST とします):

com.ibm.designer.domino.ui.commons.level=FINE

デザイナー クライアントを再起動すると、そのパッケージのワークスペース\ログ フォルダーにデバッグ出力が生成されます。次に、遅延が発生した時間を探してトレース ログを調べ、関連する設計要素への参照が行われているかどうかを確認する必要があります。

于 2013-04-04T16:45:37.387 に答える
2

他の開いているアプリケーションが同時にビルドされる可能性があります (これはバグのようです)。他のすべてのアプリケーションとサーバー ベースのレプリカを必ず閉じてください。開いているアプリケーションのアイコンがアプリケーション リストに表示され、Designer を閉じて再度開いても開いたままになります。Designer 9 でアプリケーションを右クリックし、[アプリケーションを閉じる] を選択します。8.5 では、閉じるために Package Exprorer を使用する必要があります。

別の良い方法は、ワーキング セットを使用することです。開いているワーキング セット内のアプリケーションのみがビルドされます (AFAIK)。この 1 つのアプリのみ (およびこのワーキング セット内のアプリのみ) でワーキング セットを作成します。

更新 1

これらが役に立たない場合は、 bookmark.nsfCache.NDK、およびdesktop8.ndkを削除/名前変更します。次に、この 1 つのアプリだけを開いて、何が起こるかを確認します。

更新 2

参照されているプロジェクトがないことを確認してください。アプリケーションを右クリックし、[プロジェクトのプロパティ] を選択します。そこから「プロジェクト参照」を選択し、チェックボックスがチェックされていないことを確認します。

更新 3

あなたの更新に基づいて、場所のドキュメントで $ で始まるアイテム名を確認します。この問題を引き起こす可能性のある保存された IP アドレスなどがある場合があります。これらのアイテムはすべて削除できます。

于 2013-04-04T14:05:31.283 に答える
1

可能であれば (まだ使用していない場合)、Domino Designer のバージョン 9 を使用してみてください (Domino 9 を使用する必要はありません。Domino 8.5.3 で問題なく動作します)。

私たちのプロジェクトでは、ビルド時間が数分から数秒に短縮されました。IBM では、ビルド プロセスがサーバーへの接続を大量に中継していたことに最終的に気付き、それを使って何かを行ったのだと思います。新しいデザイナーでは、ローカルに複製する必要はありません。ローカルサーバーで直接作業できます。

于 2013-04-08T11:11:21.640 に答える