Versions Compared

Key

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

Pagetitle
性能和可伸缩性提示
性能和可伸缩性提示


Table of Contents

 

...

 

Identify Performance Bottlenecks using Application Performance Management (APM)

...

Another method to access APM?

Steps
  1. Log in as an administrator
  2. Open up the Administrator Bar
  3. Click on Monitor
  4. Click on Governance Health Check
  5. Check Category: Performance


Identify Performance Bottlenecks using Performance Analyzer

...

Thai

ระบุคอขวดของประสิทธิภาพ


English
The saying from renowned computer scientist Donald Knuth goes:
Chinese

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

...

  1. Identify elements in your userview pages and menu that require significant amounts of SQL or BeanShell scripts. These are the common causes of performance issues.

    Chinese

    确定需要大量SQL或BeanShell脚本的用户视图页面和菜单中的元素。这是性能问题的常见原因。

    Thai

    ระบุองค์ประกอบในหน้ามุมมองและเมนูของผู้ใช้ที่ต้องการสคริปต์ SQL หรือ BeanShell จำนวนมาก นี่เป็นสาเหตุทั่วไปของปัญหาประสิทธิภาพการทำงาน

  2. Use the Performance Analyzer to help identify the slow elements in your app

    Chinese

    使用性能分析器  来帮助识别应用程序中的慢速元素

    Thai

    ใช้ Performance Analyzer เพื่อช่วยระบุองค์ประกอบที่ช้าในแอปพลิเคชันของคุณ

  3. Identify slow SQL queries in your app by leveraging on your database e.g. for MySQL you can use the Slow Query Log 

    Chinese

    利用您的数据库识别您的应用程序中的慢SQL查询,例如对于MySQL,您可以使用慢查询日志 

    Thai

    ใช้ฐานข้อมูลของคุณเพื่อระบุคิวรี SQL ที่ช้าในแอปพลิเคชันของคุณเช่น MySQL คุณสามารถใช้ Slow Query Log 

  4. Check your custom plugins to ensure that they do not introduce slow processing, database queries, etc.

    Chinese

    检查您的自定义插件,以确保它们不会引入缓慢的处理,数据库查询等

    Thai

    ตรวจสอบปลั๊กอินที่กำหนดเองของคุณเพื่อให้แน่ใจว่าพวกเขาจะไม่ประมวลผลช้าแนะนำแบบสอบถามฐานข้อมูล ฯลฯ

  5. Identify whether there are sufficient resources (physical memory, storage space, Java VM allocation, etc) to handle your app usage, and whether there are any resource leakages.

    Chinese

    确定是否有足够的资源(物理内存,存储空间,Java VM分配等)来处理您的应用程序使用情况,以及是否有任何资源泄漏。

    Thai

    ตรวจสอบว่าคุณมีทรัพยากรเพียงพอ (หน่วยความ, พื้นที่จัดเก็บ, Java VM ฯลฯ ) เพื่อจัดการการใช้งานแอปพลิเคชันของคุณและมีทรัพยากรรั่วไหลหรือไม่

 
Once you have identified where the potential problems are, you can then start to look into optimizing each of the areas, described in the following sections.
Chinese

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


 
 

Ensure Sufficient Java VM Memory Allocation

...

Thai

คุณสามารถใช้เครื่องมือเช่น VisualVM เพื่อตรวจสอบการใช้หน่วยความจำ Monitoring using VisualVM แนวทางปฏิบัติที่ดีที่สุดในการปรับใช้รายละเอียดเพิ่มเติมบางอย่างสามารถดูได้ที่ Deployment Best Practices#JavaVMConfiguration.

 

 

...

 

Eliminate Resource Leakage (Memory, Database Connections, Files, Network, etc)

...

Thai

สามารถตรวจสอบการใช้การเชื่อมต่อฐานข้อมูลในเซิร์ฟเวอร์ฐานข้อมูลของคุณหรือใช้คุณสมบัติ Database Connection Monitoring and Leak Detection v6 ที่กำลังจะมีขึ้น


 

 

...

 

Optimize your App and Database Queries

...

Thai

สิ่งนี้ไม่เพียงใช้กับหน้ามุมมองผู้ใช้หลัก แต่รวมถึงเมนูมุมมองผู้ใช้ ตัวอย่างเช่นการแสดงจำนวนรายการในเมนูสามารถชะลอการสืบค้นฐานข้อมูลดังนั้นคุณต้องตัดสินใจว่าจะแสดงรายการนั้นหรือไม่ คุณสามารถใช้ Embedded Mode Userview เพื่อทดสอบประสิทธิภาพของเพจที่มีและไม่มีเมนู ใน v6 ที่กำลังมาถึงจะมีคุณลักษณะการแคชมุมมองผู้ใช้ใหม่เพื่อเลือกเพจการดูแคชและเมนูของผู้ใช้เพื่อปรับปรุงประสิทธิภาพการทำงาน


 

 

...

 

Tune the Database and Application Server

...

Thai

ปรับแต่งฐานข้อมูลและแอปพลิเคชันเซิร์ฟเวอร์


 
You should optimize custom SQL queries that are used in your app, as slow queries are very common bottlenecks. In MySQL for example, you can use the  EXPLAIN command  to help you determine the execution plan of your queries, and find ways to optimize them.
Chinese

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

Thai

คุณควรเพิ่มประสิทธิภาพการสืบค้น SQL แบบกำหนดเองที่ใช้ในแอปของคุณเนื่องจากการสืบค้นที่ช้าเป็นปัญหาคอขวดที่พบบ่อยมาก ตัวอย่างเช่นใน MySQL คุณสามารถใช้คำสั่งอธิบายเพื่อช่วยคุณกำหนดแผนการดำเนินการของแบบสอบถามและค้นหาวิธีเพิ่มประสิทธิภาพคำสั่งเหล่านั้น


...

Thai

ถ้าคุณใช้กริดฟอร์มจำนวนมากกับตารางฐานข้อมูลหลักและลูก ให้เพิ่ม foreign key ลงในตารางลูกของคุณ สิ่งนี้จะเพิ่มความเร็วในการดึงข้อมูลบันทึกย่อย

 

...

 

Load Test your App and Server Sizing

...

Thai

เพื่อกำหนดความต้องการที่แท้จริงสำหรับแอปและการใช้งานของคุณวิธีที่ดีที่สุดคือทำการทดสอบโหลดในสภาพแวดล้อมของคุณ มีการทดสอบโหลดฟรีและเชิงพาณิชย์มากมายมีบทความที่ใช้เครื่องมือโอเพนซอร์ส Apache JMeter ที่ Joget DX 8 Clustering and Performance Testing on Amazon Web Services (AWS)

 

 

...

 

Introduce Clustering and Load Balancing

...

Thai

เมื่อปรับแต่งแอปพลิเคชันของคุณให้เหมาะสมคุณสามารถเพิ่มความจุของเซิร์ฟเวอร์ได้ตามต้องการเพื่อรองรับการโหลดที่เพิ่มขึ้น คุณยังสามารถเริ่มคิดเกี่ยวกับการปรับสเกลแนวนอนซึ่งก็คือการจัดกลุ่มหรือโหลดบาลานซ์ที่คุณติดตั้ง สิ่งนี้ไม่เพียงจัดการกับโหลดที่เพิ่มขึ้น แต่ยังให้ความพร้อมใช้งานสูง อ่านเพิ่มเติมเกี่ยวกับแนวทางปฏิบัติ Deployment Best Practices#ClusteringandLoadBalancing.