我正在用 Java 开发一个系统,该系统应该在 Linux 机器上全天候运行。这是一个消耗 SOAP 的应用程序,每秒应该进行大约 15 次调用。我知道过早优化的问题,但由于这个应用程序要处理相当多的资金,我想知道 Ubuntu 中是否有可以设置的东西来实现最大的稳健性,或者可以选择其他发行版或阅读一些内容,因为我没有这种应用程序的经验。
答案1
发行版不太可能在这方面带来太大的变化。一般来说,在现代硬件上,每秒 15 个套接字连接是微不足道的。很可能是你的代码有问题,而不是底层操作系统。特别是,你可能会后悔与 SOAP 调用相关的开销。我观察到 SOAP 操作将 80% 或更多的 CPU 使用率用于与 XML 相关的开销。
一些与开发相关的答案:
- 可能(不幸的是)重要的是您使用的 JVM。特别是,在内存分配方面,各种 1.6 SUN JVM 版本之间存在很大的行为差异。
- 高性能 Java 的主要问题之一是您想要调整的参数通常被抽象所隐藏。准备好创建第三方软件的本地分支。坚持使用开源软件或商业供应商,因为您可以直接从开发人员那里获得良好的支持。
- 所有这些意味着您需要构建基准单元/集成测试。编写一个执行 15 次并行调用的服务器客户端,并查看获取响应需要多长时间。编写单元测试,如果通过关键代码路径的 1000 次调用的总执行时间超过既定的毫秒数,则失败。
如果“相当多的钱”意味着昂贵的停机时间,我认为您可能更希望关注正常运行时间而不是性能。您的应用程序是否可以冗余和/或集群?您从备份恢复的速度有多快?