Overview

ภาพรวม

Joget has been thoroughly profiled and optimized to ensure that there is minimal overhead at the platform level.

However, in enterprise apps that rely on dynamic data, each page request would require many database queries. Database calls are slow not just in query execution, but especially in network I/O. In most cases, database calls are the main performance bottlenecks that cause lengthy page response times and limit scalability.

Caching is the storing of data in memory to reduce the need for database calls. When applied correctly, caching can greatly improve app performance and scalability.

Joget ได้รับการโพรไฟล์อย่างละเอียดและปรับให้เหมาะสมเพื่อให้แน่ใจว่ามีค่าใช้จ่ายน้อยที่สุดในระดับแพลตฟอร์ม

อย่างไรก็ตามในแอปขององค์กรที่ใช้ข้อมูลแบบไดนามิกคำขอของแต่ละหน้าจะต้องมีการสืบค้นฐานข้อมูลจำนวนมาก การเรียกฐานข้อมูลช้าไม่เพียง แต่ในการประมวลผลแบบสอบถาม แต่โดยเฉพาะในเครือข่าย I / O ในกรณีส่วนใหญ่การเรียกฐานข้อมูลเป็นปัญหาคอขวดของประสิทธิภาพหลักที่ทำให้เกิดเวลาตอบสนองของหน้าเว็บที่ยาวนานและ จำกัด ขีดความสามารถในการขยาย

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

How Userview Caching Works

วิธีการใช้ Userview Caching

Caching is now available for all userview pages.

Requiring just a couple of settings, any userview menu and page can be easily cached to eliminate bottlenecks and reduce server-side processing.

ขณะนี้การแคชพร้อมใช้งานสำหรับหน้า userview ทั้งหมด

ต้องใช้การตั้งค่าเพียงไม่กี่เมนู userview และหน้าใด ๆ สามารถแคชได้อย่างง่ายดายเพื่อกำจัดปัญหาคอขวดและลดการประมวลผลฝั่งเซิร์ฟเวอร์



In every Userview Menu property page, there is a Performance tab which contains the cache settings.

ในหน้าคุณสมบัติของเมนู Userview ทุกหน้าจะมีแท็บประสิทธิภาพซึ่งมีการตั้งค่าแคช

Scope

None: No caching is enabled. This is the default setting.

Application: The userview page content is cached at the application level. This means that the same content is visible to all users. This scope is suitable for readonly content that is meant to be shared by everyone e.g. public HTML content, general forms, etc.

User: The userview page content is cached per user. This means that there is a copy of personalized content stored for each user login. This scope is suitable for a user's private content where there is heavy processing required to display, and is acceptable for the content be slightly delayed e.g. custom datalist inbox, personalized forms, etc.

Note that content is cached only for GET requests. Whenever a POST request is received, the corresponding cache entry is cleared to reflect the latest update.

ไม่มี: ไม่มีการเปิดใช้งานแคช นี่คือการตั้งค่าเริ่มต้น.

แอปพลิเคชัน: เนื้อหาของหน้าเว็บ userview ถูกแคชในระดับแอปพลิเคชัน ซึ่งหมายความว่าผู้ใช้ทุกคนสามารถมองเห็นเนื้อหาเดียวกันได้ ขอบเขตนี้เหมาะสำหรับเนื้อหาแบบอ่านอย่างเดียวที่ทุกคนต้องการใช้ร่วมกันเช่น เนื้อหา HTML สาธารณะแบบฟอร์มทั่วไป ฯลฯ

ผู้ใช้: เนื้อหาหน้า userview ถูกแคชต่อผู้ใช้ ซึ่งหมายความว่ามีสำเนาของเนื้อหาส่วนบุคคลที่เก็บไว้สำหรับการเข้าสู่ระบบของผู้ใช้แต่ละคน ขอบเขตนี้เหมาะสำหรับเนื้อหาส่วนตัวของผู้ใช้ที่มีการประมวลผลจำนวนมากที่ต้องแสดงและเป็นที่ยอมรับสำหรับเนื้อหาที่ล่าช้าเล็กน้อยเช่น กล่องขาเข้าดาต้าลิสต์แบบกำหนดเอง, แบบฟอร์มส่วนตัว ฯลฯ

โปรดทราบว่าเนื้อหานั้นถูกแคชไว้สำหรับคำขอ GET เท่านั้น เมื่อใดก็ตามที่ได้รับคำขอ POST รายการแคชที่เกี่ยวข้องจะถูกล้างเพื่อสะท้อนการอัพเดทล่าสุด

Duration (s)

The duration in seconds to cache the content.

ระยะเวลาเป็นวินาทีในการแคชเนื้อหา


It is important to note that NOT all pages can or should be cached, depending on the actual processing time and data or privacy requirement for each page.

However when configured appropriately, app performance can improve significantly.
In a mixed use case test app (a user logs in, views a datalist inbox, starts a process, and logs out), the throughput (average requests per second) for a cached version in a load test shows an improvement of almost 30% to 60% compared to previous uncached versions.

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

อย่างไรก็ตามเมื่อกำหนดค่าอย่างเหมาะสมประสิทธิภาพของแอพจะดีขึ้นอย่างมาก
ในแอปกรณีทดสอบแบบผสม (ผู้ใช้ลงชื่อเข้าใช้ดูกล่องข้อมูลดาต้าลิสต์เริ่มกระบวนการและล็อกเอาต์) ปริมาณงาน (คำขอเฉลี่ยต่อวินาที) สำหรับเวอร์ชันแคชในการทดสอบโหลดแสดงการปรับปรุงเกือบ 30% ถึง 60% เมื่อเทียบกับรุ่นที่ไม่ได้ใช้ก่อนหน้านี้



More Resources

ทรัพยากรเพิ่มเติม

The following are additional resources for performance optimization:

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