As solution architects, database administrators, and application developers, you are building more complex applications than you built in the past. This guide identifies the performance gains you can achieve by using efficient ABL code and by tuning your Progress OpenEdge database servers and Progress Application Server (PAS) for OpenEdge instances.

Why optimize OpenEdge performance?

With more moving parts in modern applications, performance can suffer. To improve performance, you must increase throughput which means that you must identify and remove potential bottlenecks in your OpenEdge applications. Bottleneck symptoms are slow or unresponsive systems that impede the ability of users to do their jobs efficiently.

The source of the bottleneck could be caused by:
  • Poorly written code
  • Poorly designed databases
  • Poorly tuned application servers
  • High system loads
A handful of techniques are used to improve performance. Among them are code optimization, load balancing, caching strategy, distributed computing, and self-tuning. If your users are experiencing delays, then those delays are a sign that your overall application would benefit from performance testing and tuning. Reducing bottlenecks is critical to optimizing performance. To accomplish optimal performance, you must employ good habits throughout your development life cycle.

Characteristics of optimal OpenEdge performance

Every enterprise is concerned with application performance. In some enterprises, the measurement is simply user satisfaction:
  • Is the application responsive?
  • Are reports running quickly?
  • Are the users able to do their jobs?
In other cases, monitoring and improving performance are integral to their success:
  • What is the latency on order placement?
  • How efficiently are batch processes running?
  • Are system resources consumed by potential memory leaks?
Regardless of how you measure optimal performance, applications that perform well have the following characteristics:
  • Build application on an efficient and easy-to use development platform

    • Robust, efficient OpenEdge database
    • Easy-to use ABL for building a modern application with fast data access
    • Secure, scalable Progress Application Server for OpenEdge
    • Support for CI/CD pipeline to develop enhancements quickly
    • Designed for continuous availability to eliminate costly downtime
  • Efficient code
    • Uses the best indexing to retrieve records
    • Avoids record contention
      • Manages transactions well
      • Manages record locks well
    • Avoids memory leaks
    • Follows general coding best practices
  • Well-designed databases
    • Apply logical database design principles
    • Follow guidelines for defining optimal physical database structures
    • Use Type II storage areas to keep related data grouped closer together
  • Tuned application servers
    • Sized to perform correctly under varying loads
    • Monitored for server health and load balanced