クライアントサーバーアーキテクチャに基づいて構築された製品があります。使用されているテクノロジースタックに関する詳細。
- クライアント-JavaSwing
- サーバー-RMI
- Javaデータベース-Oracle
クライアントは世界のさまざまな場所にありますが、JavaサーバーとOracleデータベースはスウェーデンの同じマシンにあります。このため、多くのネットワーク遅延があります。離れた場所にいるクライアントのパフォーマンスはひどいです。このアプリケーションは、50MBを超えるサイズのファイルを処理するために使用されます。一般に、各操作には約1000を超えるネットワーク呼び出しが必要です。
あなたの経験に基づいて、この問題にどのように取り組み、パフォーマンスを向上させますか?
編集:いくつかの質問に答える
- ファイルには、処理およびデータベースへの更新が必要な実際のビジネスデータが含まれており、一部を送信することはできません。
- 一部のネットワーク呼び出しはバッチ処理できますが、コードの大幅なリファクタリングが必要になります。これは2001年に作成された非常に古いアプリケーションです。アプリケーションの設計は、サーバーがすべてのサービスを保持し、コード全体で再利用可能になり、ビジネスロジックがクライアント側で作成されるようになっています。したがって、このビジネスロジックはサーバーを何度も呼び出すため、天文学的な数字になります。
-Snehal