Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
stylecircle


...


识别性能瓶颈

着名的计算机科学家唐纳德·克努特(Donald Knuth)说:

...

一旦确定了潜在问题的位置,就可以开始考虑优化每个区域,如下所述。

 

确保足够的Java VM内存分配

该平台运行在Java VM(JVM)上,根据应用程序的大小和复杂性以及使用情况,您可能需要调整JVM堆内存大小以适合您的环境。如果设置太低,则系统将耗尽内存,导致OutOfMemory错误。但是,如果该设置与可用物理RAM的数量相比太高,则除了垃圾收集的开销之外,还可能会有相当多的交换。

...

 部署最佳实践#JavaVMConfiguration提供了一些额外的细节 


 

...


消除资源泄漏(内存,数据库连接,文件,网络等)

在平台层面,Joget Workflow已经过优化和测试,以确保没有资源泄漏。

...

可以在数据库服务器中监视数据库连接的使用情况,也可以使用即将到来的v6 数据库连接监视和泄漏检测功能。


 

...


优化您的应用程序和数据库查询

Joget Workflow已经过彻底的分析和优化,以确保平台级别的开销很小。但是,在依赖动态数据的企业应用程序中,每个页面请求都需要许多数据库查询。数据库调用不仅在查询执行中很慢,而且在网络I / O中尤其如此。在大多数情况下,数据库调用是造成冗长的页面响应时间和限制可伸缩性的主要性能瓶颈。

...

在即将到来的v6中,将会有一个新的用户视图缓存功能来选择性地缓存用户视图页面和菜单,以显着提升性能。


 

...


调整数据库和应用程序服务器


您应该优化在您的应用程序中使用的自定义SQL查询,因为慢速查询是非常常见的瓶颈。例如,在MySQL中,您可以使用EXPLAIN  命令来帮助您确定查询的执行计划,并找到优化它们的方法。     

...

如果对您的应用程序有大量的并发请求,那么按照部署最佳实践#WebApplicationServerConfiguration调整应用程序服务器也是  明智之举


 

...


加载测试您的应用程序和服务器大小

确定有效运行Joget Workflow所需的服务器规格涉及许多因素。这些是一些非决定性的因素:

...

要确定您的应用和使用的实际要求,最好在您的环境中执行负载测试。有许多免费和商业的负载测试可用,有一篇文章使用开源的JMeter工具在  Joget工作流集群和亚马逊网络服务(AWS)上进行性能测试。


 

...


介绍集群和负载平衡

在优化应用程序时,可以根据需要增加服务器容量以处理增加的负载(垂直缩放)。您也可以开始考虑执行水平缩放,即对您的安装进行集群或负载平衡。这不仅可以处理增加的负载,而且还提供高可用性。部署最佳实践#ClusteringandLoadBalancing上阅读更多 

...