我们有一个基于客户端-服务器架构的产品。有关使用的技术堆栈的一些详细信息。
- 客户端 - Java Swing
- 服务器 - RMI
- Java 数据库 - 甲骨文
客户端位于世界各地,但 java 服务器和 oracle 数据库位于瑞典的同一台机器上。因此,存在很多网络延迟。位于遥远位置的客户端性能很差。该应用程序用于处理大小超过 50MB 的文件。通常,每个操作需要大约 1000 多个网络调用。
根据您的经验,您如何解决这个问题并提高性能?
编辑:回答几个问题
- 文件包含需要处理和更新到数据库的实际业务数据,不能部分发送。
- 一些网络调用可以批处理,但需要对代码进行重大重构。这是 2001 年编写的一个非常古老的应用程序。应用程序的设计是这样的,服务器保存所有服务,它们可以跨代码重用,业务逻辑写在客户端。因此,此业务逻辑多次调用服务器,因此是天文数字。
-斯内哈尔