我有一个遗留的内部业务应用程序,它在一个 JVM 中运行,并且存在许多性能问题,更具体地说是关于堆使用
和运行并发线程
,位于它的核心是一个调度应用程序,其中用户可以从前端调度一些任务,当时间到达时,任务就会被启动,所有代码都是自制的,我们不使用任何第三方调度程序来进行调度,现在是我的目标是为了增强应用程序的性能,我可以尝试一些选项,例如使用 Quartz 等调度机制或将应用程序分发到不同的 jvm,我面临的挑战是我从未遇到过这种重新架构的情况申请,所以我不确定从哪里开始,我知道SO不是提出此类问题的正确地方,但我不确定如何处理,任何帮助/建议将不胜感激。
最佳答案
通过阅读您的帖子,我并没有真正理解您的性能问题的根本原因是什么。解决任何此类问题的第一步应该是在提出解决方案之前找出原因。我首先会问一些非常高级的问题。
- 您当前执行多少个并发任务/线程?
- 作业是否受 CPU 或 IO 限制?
- 应用程序运行在什么软件堆栈上?
- 应用在什么硬件上运行?
通过将应用程序分布在多个 JVM 上,您不可避免地会增加复杂性,这很好,只要它是有效且必需的解决方案。
关于java - 重新架构应用程序以在多个服务器(JVM)上运行以提高性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8098158/