Versions Compared

Key

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

...

Table of Contents
indent30px
stylecircle

...

English
The default Joget installation comes with minimal performance configuration as it aims to cater for installation on small machines, e.g., a local development PC.
Chinese

默认的Joget安装具有最小的性能配置,因为它旨在满足在小型机器(例如本地开发PC)上的安装。

Thai

การติดตั้ง Joget เริ่มต้นมีการกำหนดค่าประสิทธิภาพที่เล็กที่สุดเพราะได้รับการออกแบบมาเพื่อตอบสนองการติดตั้งบนเครื่องขนาดเล็ก


For production deployment on a server, the Java Virtual Machine (JVM), application server, database and operating systems should be tuned for performance. Actual real world performance depends on many factors. These include the deployment architecture, server and network specifications, complexity of the processes/apps, actual usage patterns by different users, etc.

Chinese

对于服务器上的生产部署,应调整的Java虚拟机(JVM),应用程序服务器,数据库和操作系统的性能。 实际的真实世界的表现取决于许多因素。 这些包括部署架构,服务器和网络规格,流程/应用程序的复杂性,不同用户的实际使用模式等。

Thai

สำหรับการปรับใช้ที่ใช้งานจริงบนเซิร์ฟเวอร์ควรปรับประสิทธิภาพของ Java Virtual Machine (JVM), แอ็พพลิเคชันเซิร์ฟเวอร์, ฐานข้อมูลและระบบปฏิบัติการ ประสิทธิภาพที่แท้จริงขึ้นอยู่กับปัจจัยหลายอย่าง เหล่านี้รวมถึงสถาปัตยกรรมการปรับใช้ข้อกำหนดของเซิร์ฟเวอร์และความซับซ้อนของกระบวนการเครือข่าย / แอปพลิเคชันรูปแบบการใช้งานจริงของผู้ใช้ที่แตกต่างกันเป็นต้น


This document presents some of the best practices in terms of performance tuning and optimization to get the best out of your deployment.

Chinese

本文档介绍了性能调优和优化方面的一些最佳实践,以充分利用您的部署。

Thai

เอกสารนี้อธิบายแนวทางปฏิบัติที่ดีที่สุดในการปรับแต่งประสิทธิภาพและการปรับแต่งเพื่อให้ได้ประโยชน์สูงสุดจากการปรับใช้ของคุณ


Important Note: These recommendations help to serve as general tips and guidelines, but in actual practice it would depend on each deployment’s unique environment. There are also many resources available online to help tune performance for Java, application servers and databases.

Chinese

重要提示 :这些建议有助于作为一般性提示和指导,但在实际实践中,这取决于每个部署的独特环境。 还有许多在线的资源可以帮助调整Java的应用程序服务器和数据库的性能。

Thai

หมายเหตุสำคัญ: คำแนะนำเหล่านี้ช่วยในการทำหน้าที่เป็นเคล็ดลับและแนวทางทั่วไป แต่ในทางปฏิบัติจริงมันจะขึ้นอยู่กับสภาพแวดล้อมเฉพาะของการปรับใช้แต่ละครั้ง นอกจากนี้ยังมีแหล่งข้อมูลมากมายทางออนไลน์เพื่อช่วยปรับแต่งประสิทธิภาพสำหรับ Java, แอพพลิเคชันเซิร์ฟเวอร์และฐานข้อมูล

Installation as a Service

Chinese

安装即服务

Thai

ติดตั้งเป็นบริการ

For production deployments, you may want to install the web application server, e.g., Apache Tomcat, as a service. Please refer to the documentation on the relevant operating system to do so. A guide to install Tomcat as a Windows service is available at Installing Joget as a Windows Service.

Chinese

对于生产部署,您可能需要将Web应用程序服务器(例如Apache Tomcat)作为服务来安装。请参阅相关操作系统上的文档。将 Joget 安装为Windows服务时,可以找到将Tomcat  安装为Windows服务的指南

Thai

สำหรับการปรับใช้งานจริงคุณอาจต้องการติดตั้งเว็บแอปพลิเคชันเซิร์ฟเวอร์เช่น Apache Tomcat เป็นต้น โปรดอ่านเอกสารเกี่ยวกับระบบปฏิบัติการที่เกี่ยวข้องเพื่อดำเนินการดังกล่าว คำแนะนำในการติดตั้ง Tomcat เป็นบริการ Windows Installing Joget as a Windows Service.

Java VM Configuration

Chinese

Java VM配置

Thai

Java VM องค์ประกอบ 

Java VM Tuning

Chinese

Java VM调优

Thai

Java VM การปรับเสียง

An important configuration would be the JVM memory allocation. If this is too low, the system will run out of memory. However if the setting is too high, there might be quite a large overhead in garbage collection. To get an optimum setting might require a bit of trial and error sometimes, depending on the usage environment.

Chinese

一个重要的配置将是JVM内存分配。如果这太低,系统将耗尽内存。但是,如果设置太高,垃圾收集可能会有相当大的开销。要获得最佳设置,有时可能需要一些试用和错误,具体取决于使用环境。

Thai

การกำหนดค่าที่สำคัญจะเป็นการจัดสรรหน่วยความจำ JVM หากต่ำเกินไประบบหน่วยความจำจะไม่เพียงพอ อย่างไรก็ตามหากตั้งค่าสูงเกินไปอาจมีโอเวอร์เฮดขนาดใหญ่รวมขยะไว้ คุณอาจต้องทดลองใช้และเกิดข้อผิดพลาดบางอย่างเพื่อให้ได้การตั้งค่าที่ดีที่สุดทั้งนี้ขึ้นอยู่กับสภาพแวดล้อมของคุณ


Here are the steps to get started.  You may want to start with a 1GB max heap setting and increase if the need arises.  

Chinese

以下是开始的步骤。您可能希望从1GB的最大堆设置开始,并在需要时增加。  

Thai

นี่คือขั้นตอนในการเริ่มต้น คุณอาจต้องการเริ่มต้นด้วยการตั้งค่าฮีปสูงสุด 1GB และเพิ่มขึ้นหากจำเป็น

1. Stop Joget.

Chinese

停止Joget。

Thai

หยุด Joget

2. Open and edit Joget Installation Directory/joget-start.bat.

Chinese

打开并编辑Joget安装目录/ joget-start.bat。

Thai

เปิดและแก้ไข Joget Installation Directory/joget-start.bat.

3. Modify

Chinese

修改

Thai

ปรับเปลี่ยน

Code Block
set JAVA_OPTS=-XX:MaxPermSize=128m -Xmx512M -Dwflow.home=./wflow/ -javaagent:./wflow/aspectjweaver-1.8.5.jar

...

4. Save and start Joget.

Chinese

保存并启动Joget。

Thai

บันทึกและเริ่ม Joget

NOTE:

Chinese

注意:

Thai

บันทึก:

Please take note should you encounter any of the following OutOfMemory errors:

Chinese

如果遇到以下OutOfMemory错误,请注意:

Thai

หากคุณพบข้อผิดพลาด OutOfMemory ต่อไปนี้โปรดทราบ:

java.lang.OutOfMemoryError: Java heap space

Increase the maximum heap size -Xmx

Chinese

增加最大堆大小-Xmx

Thai

เพิ่มขนาดฮีพสูงสุด -Xmx

java.lang.OutOfMemoryError: PermGen space

Increase the maximum permgen size -XX:MaxPermSize

Chinese

增加最大permgen大小-XX:MaxPermSize

Thai

เพิ่มขนาดสูงสุดของ permgen -XX: MaxPermSize

java.lang.OutOfMemoryError: GC overhead limit exceeded

Enable the concurrent garbage collector -XX:+UseConcMarkSweepGC

Chinese

启用并发垃圾收集器-XX:+ UseConcMarkSweepGC

Thai

เปิดใช้งานตัวรวบรวมขยะพร้อมกัน -XX: + UseConcMarkSweepGC

There are many online resources for further tuning, e.g., http://www.oracle.com/technetwork/java/performance-138178.html.

Chinese

有许多在线资源可供进一步调整,例如   http://www.oracle.com/technetwork/java/performance-138178.html

Thai

มีแหล่งข้อมูลออนไลน์มากมายสำหรับการปรับแต่งเพิ่มเติมเช่น http://www.oracle.com/technetwork/java/performance-138178.html.

Web Application Server Configuration

Chinese

Web应用程序服务器配置

Thai

การกำหนดค่าเซิร์ฟเวอร์แอปพลิเคชันเว็บ

Apache Tomcat Configuration

Chinese

Apache Tomcat配置

Thai

องค์ประกอบ Apache Tomcat

For Apache Tomcat, try setting the maxThreads Connector thread pool settings based on the estimated request load. For example, to set the maximum number of threads to 1000, edit tomcat_directory/conf/server.xml. Locate the line

Chinese

对于Apache Tomcat,请尝试根据估计的请求负载设置maxThreads Connector线程池设置。例如,要将最大线程数设置为1000,请编辑tomcat_directory / conf / server.xml。找到线路

Thai

สำหรับ Apache Tomcat ให้ลองตั้งค่าการตั้งค่าเธรดพูล maxThreads Connector ตามการร้องขอโหลด ตัวอย่างเช่นหากต้องการตั้งค่าจำนวนเธรดสูงสุดเป็น 1,000 ให้แก้ไข tomcat_directory / conf / server.xml ค้นหาบรรทัด

Code Block
    <Connector URIEncoding="UTF-8" port="8080" protocol="HTTP/1.1" 
                   connectionTimeout="20000" 
                   redirectPort="8443" />
    

and add a maxThreads="" such as

Chinese

并添加一个maxThreads =“”等

Thai

และเพิ่ม maxThreads = "" เช่น

Code Block
    <Connector URIEncoding="UTF-8" port="8080" protocol="HTTP/1.1" maxThreads="1000"
                   connectionTimeout="20000" 
                   redirectPort="8443" />
    

...

There are many resources available online, e.g., http://www.itworld.com/networking/83035/tomcat-performance-tuning-tips.

Chinese

这将需要Tomcat重新启动才能生效。

网上有很多可用的资源,例如   http://www.itworld.com/networking/83035/tomcat-performance-tuning-tips

Thai

จะต้องทำการรีสตาร์ท Tomcat  มีแหล่งข้อมูลมากมายทางออนไลน์เช่น http://www.itworld.com/networking/83035/tomcat-performance-tuning-tips 


Linux Configuration

Chinese

Linux配置

Thai

องค์ประกอบ Linux

Linux / Unix systems have a limit on the number of files that can be concurrently opened by a process. When the limit is reached, there will be an exception "Too many open files". The default for most distributions is 1024, which will not be enough for high traffic deployments. In Linux, increasing the ulimit 

Chinese

Linux / Unix系统对进程可以同时打开的文件数量有限制。达到限制时,会出现“打开的文件太多”的例外情况。大多数发行版的默认值是1024,这对高流量部署来说是不够的。在Linux中,增加ulimit 

Thai

ระบบ Linux / Unix มีข้อจำกัดเกี่ยวกับจำนวนไฟล์ที่สามารถเปิดพร้อมกัน เมื่อถึงขีดจำกัดแล้วจะมีข้อยกเว้น "เปิดไฟล์มากเกินไป" ค่าเริ่มต้นสำหรับการแจกแจงส่วนใหญ่คือ 1024 ซึ่งไม่เพียงพอสำหรับการปรับใช้ที่มีปริมาณการใช้งานสูง ใน Linux เพิ่ม ulimit

Code Block
ulimit -n 4096

works as a workaround but this is only valid for the session. For permanent configuration, please refer to documentation for the specific distribution, e.g., http://posidev.com/blog/2009/06/04/set-ulimit-parameters-on-ubuntu/.

Chinese

作为解决方法工作,但这只对会话有效。有关永久配置,请参阅文档以获取具体的分发,例如   http://posidev.com/blog/2009/06/04/set-ulimit-parameters-on-ubuntu/

Thai

ทำงานเป็นวิธีแก้ปัญหา แต่ใช้ได้สำหรับเซสชันเท่านั้น สำหรับการกำหนดค่าถาวรโปรดดูเอกสารประกอบสำหรับการแจกจ่ายเฉพาะเช่น http://posidev.com/blog/2009/06/04/set-ulimit-parameters-on-ubuntu/

Database Configuration

Chinese

数据库配置

Thai

การกำหนดค่าฐานข้อมูล

Database Indexing

Chinese

数据库索引

Thai

การทำดัชนีฐานข้อมูล

Form data tables generated and managed by Joget are prefixed with app_fd. By default, primary keys and foreign keys are automatically generated for these tables where necessary.

However, in more complex apps, there would be more complex database queries that make use of these tables. As such, it is recommended for indexes to be added manually into table columns when required.

Chinese

通过Joget生成和管理的形式的数据表的前缀为   app_fd 。默认情况下,必要时会自动为这些表生成主键和外键。

但是,在更复杂的应用程序中,将会有更复杂的数据库查询使用这些表。因此,建议在需要时将索引手动添加到表列中。

Thai

รูปแบบของตารางข้อมูลที่สร้างและจัดการโดย Joget นำหน้าด้วย app_fd โดยค่าเริ่มต้นคีย์หลักและ foreign จะถูกสร้างขึ้นโดยอัตโนมัติสำหรับตารางเหล่านี้เมื่อจำเป็น อย่างไรก็ตามในแอปพลิเคชันที่ซับซ้อนมากขึ้นจะมีคิวรีฐานข้อมูลที่ซับซ้อนมากขึ้นซึ่งต้องใช้ประโยชน์จากตารางเหล่านี้ ดังนั้นจึงขอแนะนำให้เพิ่มดัชนีในคอลัมน์ตารางด้วยตนเอง

MySQL Configuration

Chinese

MySQL配置

Thai

การกำหนดค่า MySQL


When using InnoDB in MySQL, setting an appropriate InnoDB Buffer Pool is important for large-scale performance. Details can be found here: http://dev.mysql.com/doc/refman/5.0/en/innodb-buffer-pool.html.

Chinese

在MySQL中使用InnoDB时,设置适当的InnoDB缓冲池对于大规模性能非常重要。详细信息可以在这里找到: http  :  //dev.mysql.com/doc/refman/5.0/en/innodb-buffer-pool.html

Thai

เมื่อใช้ InnoDB ใน MySQL การตั้งค่า InnoDB Buffer Pool ที่เหมาะสมนั้นเป็นสิ่งสำคัญสำหรับประสิทธิภาพการทำงานสามารถดูรายละเอียดได้ที่นี่: http://dev.mysql.com/doc/refman/5.0/en/innodb-buffer-pool.html.


In environments with large data and queries, one way to improve performance is to use the query cache. This can help speed up query performance tremendously. Details can be found at http://dev.mysql.com/doc/refman/5.0/en/query-cache.html.

Chinese

在具有大量数据和查询的环境中,提高性能的一种方法是使用   查询缓存 。这可以极大地加快查询性能。详细信息可以在 http://dev.mysql.com/doc/refman/5.0/en/query-cache.html 找到  。

Thai

ในสภาพแวดล้อมที่มีข้อมูลและคิวรีขนาดใหญ่วิธีหนึ่งในการปรับปรุงประสิทธิภาพคือการใช้คิวรีแคชซึ่งจะช่วยเพิ่มประสิทธิภาพของคิวรีได้อย่างมากสามารถดูรายละเอียดได้ที่ http://dev.mysql.com/doc/refman/5.0/en/query-cache.html


You may need to increase the number of maximum connections allowed if there are a lot of concurrent requests. https://dev.mysql.com/doc/refman/5.0/en/too-many-connections.html

Chinese

 如果有很多并发请求,您可能需要增加允许的   最大连接 数。  https://dev.mysql.com/doc/refman/5.0/en/too-many-connections.html

Thai

หากมีคำขอที่เกิดขึ้นพร้อมกันจำนวนมากคุณอาจต้องเพิ่มจำนวนการเชื่อมต่อสูงสุด https://dev.mysql.com/doc/refman/5.0/en/too-many-connections.html


It is possible to identify slow queries in MySQL by enabling the slow query log. This helps to identify areas for possible indexing and optimization.
http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html

...

Chinese

通过启用慢速查询日志,可以在MySQL中识别缓慢的查询。 这有助于确定可能的索引和优化的区域。

http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html

Thai

ด้วยการเปิดใช้งานบันทึกคิวรีช้าแบบช้าสามารถระบุได้ใน MySQL สิ่งนี้จะช่วยระบุดัชนีและการเพิ่มประสิทธิภาพที่เป็นไปได้

Microsoft SQL Server Configuration

In MSSQL, adaptive buffering is designed to retrieve any kind of large-value data without the overhead of server cursors. You can configure the JDBC URL to use SelectMethod=direct in the database property file ".\wflow\app_datasource-mssql.properties" [Rename the "mssql" according to your environment].

For example, the current string is:

workflowUrl=jdbc\:sqlserver\://localhost\:1433;SelectMethod\=cursor;DatabaseName\=jwdb

Change it to:

workflowUrl=jdbc\:sqlserver\://docker\:1433;SelectMethod\=direct;DatabaseName\=jwdb

Please remember to perform full testing on the SelectMethod option in your development or staging servers before implementing it in production server.

Reading: https://docs.microsoft.com/en-us/sql/connect/jdbc/using-adaptive-buffering?view=sql-server-ver15


Clustering and Load Balancing

Chinese

集群和负载平衡

Thai

การทำคลัสเตอร์และโหลดบาลานซ์


For large scale and high-availability deployments, clustering and load balancing may need to be implemented using the Large Enterprise Edition. A high-level description is as follows:

Chinese

对于大规模和高可用性部署,可能需要使用 大型企业版 来实现集群和负载平衡  。高级描述如下:

Thai

สำหรับการปรับใช้ขนาดใหญ่และความพร้อมใช้งานสูงการจัดกลุ่มและการปรับสมดุลโหลดอาจต้องดำเนินการโดยใช้ Enterprise Edition ขนาดใหญ่ คำอธิบายระดับสูงเป็นดังนี้:


The main configuration is actually done at the web application server, in this case Tomcat. There's a quite comprehensive documentation for this at http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html.

Chinese

主要配置实际上是在Web应用程序服务器上完成的,在这种情况下是Tomcat。在 http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html 上有相当全面的文档  。

Thai

การกำหนดค่าหลักจะทำจริงบนเว็บแอปพลิเคชันเซิร์ฟเวอร์ในกรณีนี้ Tomcat มีเอกสารที่ค่อนข้างครอบคลุมสำหรับเรื่องนี้ที่ http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html


You'll need a load balancer as well. This could be hardware or software, and it's possible to use Apache web server for this purpose. Using the mod_proxy_balancer module (http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html), traffic is directed to various Tomcat nodes. Depending on configuration, the approach could be load balanced or failover, and sticky sessions are recommended.

Chinese

你也需要一个负载平衡器。这可能是硬件或软件,为此可以使用Apache Web服务器。使用mod_proxy_balancer模块( http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html ),流量被引导到各种Tomcat节点。根据配置,该方法可以是负载平衡或故障转移,建议使用粘性会话。

Thai

คุณต้องมี load balancer ด้วย นี่อาจเป็นฮาร์ดแวร์หรือซอฟต์แวร์ซึ่งสามารถใช้เว็บเซิร์ฟเวอร์ Apache ได้ ใช้โมดูล mod_proxy_balancer (http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html) ทราฟฟิกจะถูกส่งไปยังโหนด Tomcat ต่างๆ ขึ้นอยู่กับการกำหนดค่า วิธีนี้สามารถสมดุลหรือล้มเหลวแนะนำให้ใช้เซสชัน sticky


The database and wflow files (configuration/uploaded files) would also have to be shared from a centralized server.

Chinese

数据库和wflow文件(配置/上传文件)也必须从中央服务器共享。

Thai

ไฟล์ฐานข้อมูลและ wflow (configuration/uploaded files) ต้องถูกแบ่งใช้จากเซิร์ฟเวอร์กลาง

Logging and Troubleshooting

Chinese

日志记录和故障排除

Thai

การบันทึกและการแก้ไขปัญหา


When running Apache Tomcat, logs are stored in the tomcat_directory/logs directory. In particular, the files joget.logcatalina.out, and localhost.yyyy-MM-dd.log capture information and errors that are generated.

Chinese

运行Apache Tomcat时,日志存储在   tomcat_directory / logs   目录中。特别是文件   joget.log ,   catalina.out 和   localhost.yyyy-MM-dd.log   捕获生成的信息和错误。

Thai

เมื่อเรียกใช้ Apache Tomcat บันทึกจะถูกเก็บไว้ในไดเรกทอรี tomcat_directory / logs โดยเฉพาะอย่างยิ่งไฟล์ joget.log, catalina.out และ localhost.yyyy-MM-dd.log บันทึกข้อมูลและข้อผิดพลาดที่ถูกสร้างขึ้น


Should you encounter any issues or errors, it is best that the following information is provided when reporting the issue to Enterprise Support or the community forums:

Chinese

如果您遇到任何问题或错误,最好在向企业支持或社区论坛报告问题时提供以下信息:

Thai

หากคุณพบปัญหาหรือข้อผิดพลาดเป็นความคิดที่ดีที่จะให้ข้อมูลต่อไปนี้เมื่อรายงานปัญหาไปยังฝ่ายสนับสนุนองค์กร:

  • Steps to reproduce the issue

    Chinese

    重现问题的步骤

    Thai

    ขั้นตอนที่การทำให้เกิดปัญหาอีกครั้ง

  • Error messages (including any possible JavaScript errors) in the browser

    Chinese

    错误消息(包括任何可能的JavaScript错误)在浏览器中

    Thai

    ข้อความแสดงข้อผิดพลาด (รวมถึงข้อผิดพลาด JavaScript ที่เป็นไปได้) ในเบราว์เซอร์

  • Copy of the log files mentioned above

    Chinese

    上面提到的日志文件的副本

    Thai

    คัดลอกไฟล์บันทึกที่กล่าวถึงข้างต้น

  • Screenshot(s) showing the problem

    Chinese

    显示问题的屏幕截图

    Thai

    ภาพหน้าจอแสดงปัญหา

  • Sample app that produces the issue

    Chinese

    产生问题的示例应用程序

    Thai

    แอปตัวอย่างที่สร้างปัญหา

The more information provided, the faster an issue can be identified and resolved.

Chinese

提供的信息越多,问题就越能被识别和解决。

Thai

ยิ่งมีข้อมูลมากเท่าใดก็ยิ่งสามารถระบุและแก้ไขปัญหาได้เร็วมากขึ้นเท่านั้น

Backup and Restore

Chinese

备份还原

Thai

สำรองและเรียกคืน

Backup Data

Chinese

备份数据

Thai

สำรองข้อมูล

To backup an installation:

Chinese

备份安装:

Thai

การติดตั้งการสำรองข้อมูล:

  • Backup all configuration files and uploaded data files stored in joget_directory/wflow.

    Chinese

    备份存储在 joget_directory / wflow中的 所有配置文件和上传的数据文件  。

    Thai

    สำรองไฟล์การกำหนดค่าทั้งหมดและไฟล์ข้อมูลที่อัปโหลดที่เก็บไว้ใน joget_directory / wflow

  • Backup the database. e.g., in MySQL you can use the mysqldump utility.

    Chinese

    备份数据库。例如在MySQL的中,你可以使用   mysqldump的   工具。

    Thai

    สำรองฐานข้อมูล ตัวอย่างเช่นใน MySQL คุณสามารถใช้เครื่องมือ mysqldump

Restoring Data

Chinese

恢复数据

Thai

กู้คืนข้อมูล

To restore data to an installation:

Chinese

要将数据恢复到安装:

Thai

ในการกู้คืนข้อมูลไปยังการติดตั้ง:

  • Restore all configuration files and uploaded data files stored in joget_directory/wflow.

    Chinese

    恢复存储在 joget_directory / wflow中的 所有配置文件和上传的数据文件  。

    Thai

    กู้คืนไฟล์ทั้งหมดและไฟล์ข้อมูลที่อัพโหลดซึ่งเก็บอยู่ใน joget_directory / wflow

  • Restore the database.

    Chinese

    还原数据库。

    Thai

    กู้คืนฐานข้อมูล