Skip to main content
OutSystems

パフォーマンスのベストプラクティス - リファレンス

すべてはソフトウェアアーキテクチャ次第です。通常、手っ取り早いソリューションを選択すると、パフォーマンスに関する重大な問題が発生することがあります。後からリファクタリングを行うと、手間やコストが増えることがあります。

eSpace間の参照を作成する前に2よく考える

説明

eSpace間またはeSpaceグループ間の循環参照を避けます。

ソリューション

多くのアトリビュートを含むRecord/RecordListsを受信または出力するアクションを処理する場合は、それらのレコードのエンティティの代わりにストラクチャを使用することを検討します。ストラクチャを使用するとシステム全体を流れるデータの量が絞り込まれ、大きなメリットがもたらされます。

重要事項

単純なツリータイプの参照モデルを使用することで、デプロイプロセスが効率化され、循環参照を解決するためにのみソリューション全体をデプロイする必要性を避けることができます。デプロイプロセスにかかる時間を改善します。

注意事項

通常、これを実行するのは簡単なことではありません。アプリケーションの複雑さが一定のレベルに達した場合に、eSpaceを分割してソリューションのeSpaceの数を増やすのはコストがかかりすぎます。しかし、だからこそ、このベストプラクティスを常に実践する必要があります。2つのeSpace間で新しい依存関係を作成するときは、その依存関係がeSpaceアーキテクチャにおいて妥当なものであるかどうか、また、新しいeSpaceを作成するべきか、Webサービスを使用するべきかをよく考えます。このベストプラクティスは、常に「ローカルWebサービスとパブリックアクションの比較評価」とあわせて使用する必要があります。これら2つのバランスをとることは簡単ではなく、多くの場合、適切な判断を下せるようになるには経験と試行錯誤が必要です。

ローカルWebサービスとパブリックアクションの比較評価

説明

Webサービスの代わりにパブリックアクションを使用するとアプリケーションの実行時のパフォーマンスは向上しますが、アプリケーションの参照マップの複雑さが増し、デプロイプロセスのパフォーマンスの妨げになります。Webサービスとパブリックアクションの選択についてはよく検討する必要があります。

ソリューション

可能な限り、ローカルWebサービスを使用しないようにします。代わりにeSpace参照を使用しますが、ローカルWebサービスを使用することと、参照モデルをより複雑にすることのメリットとデメリットを比較・評価します。

重要事項

画面ロジックでローカルWebサービスを使用すると、画面リクエストを処理するスレッドの数が増えます。呼び出しの数が過剰になるとWebサーバーのスレッドが枯渇し、不要なアプリケーションキューが発生する場合があります。ローカル参照を使用すると非常に高速になり、TCP/IPリソースや追加のスレッドも不要ですが、参照モデルが複雑になることに対する影響を評価する必要があります。

注意事項

このベストプラクティスは、常に「eSpace間の参照を作成する前によく考える」とあわせて使用する必要があります。2つのプラクティスのバランスをとることは簡単ではなく、多くの場合、適切な判断を下せるようになるには経験と試行錯誤が必要です。

接続プーリングを使用する

説明

外部システム/データベースに接続するときは接続プーリングを使用します。

ソリューション

拡張機能統合を使用してSQL Server、Oracle、DB2、MySQLなどのサードパーティのデータベースシステムに頻繁に接続する場合は、常に接続プール管理メカニズムを使用します。

重要事項

拡張機能統合を使用してSQL Server、Oracle、DB2、MySQLなどのサードパーティのデータベースシステムに頻繁に接続する場合は、常に接続プール管理メカニズムを使用します。

注意事項

これは、拡張機能からOutSystemsデータベースに接続するときにも適用されます。