Tom Barringer
 Independent Consulting
for Progress Databases and Applications
  Performance Tuning of a Progress application can happen at several different times:  as part of the development and release cycle, as part of a capacity planning project, or (unfortunately, most often) when a visible lack of performance impacts a production activity.  You can avoid the production impact by tuning earlier.

Some examples of production impact which commonly stimulate a performance tuning engagement:

  • Response times within the customer-facing application become unacceptably slow.
  • Nightly operations such as reports begin to run over the available time, either not completing at all because they must be terminated, or impacting morning production until the jobs finish.
  • Data accumulations or new application or software releases cause a drop in performance.

Many companies faced with these issues "throw hardware at it," i.e. spend more and more money buying larger and larger systems.  This solution is both expensive and temporary!  The correct solution fixes the problem by making the code and database run efficiently.

Progress databases and code are so easy to use and obliging that often developers or DBA staff do not stop to consider whether a particular configuration or structure is efficient... but then problems arise when the application is scaled up.  Progress does not have a problem scaling -- many problems which are blamed on Progress or the underlying hardware can be configured away or are indications of inefficient programming.

I can introduce you to many tools and techniques to identify and correct these problems before they make it to production, including:

  • Training on the most common causes of poor performance
    • Poor index design
    • Non-conforming database queries
    • Over-normalized data

  • Scalable architectures
    • Deployment architectures
    • Load distribution
    • Multi-peer parallel design and implementation

  • The Profiler

  • Use of Virtual System Tables to identify problems in development and testing

As part of the Progress Consulting group I ran the Performance Tuning Workshops and gave the related breakout sessions at Users Conferences for several years.  I gave the first-ever breakout session at a Users Conference on the use of the Progress AppServer.  I have focused on the architecture of large-scale systems from many-processor centralized machines and NUMA boxes to distributed systems of all sorts.  And I have completed the coursework towards a Masters Degree in Parallel and Distributed Computing Systems from Vrije Universiteit in Amsterdam, one of the few programs of its kind in the world.