OCS: Improve Performance

From OC Systems Wiki!
Jump to: navigation, search

Improving performance

Project:

A multi-year, multi-billion-dollar project designed to create a Web-enabled system to process goods being imported into the USA.

Problem:

Halfway through the schedule, bad news. The system could not handle the high throughput required. The development team had to do the impossible: improve performance at the same time as they coded the next release.

Solution:

The project's prime contractor turned to OC Systems for help. OCS consultants took full responsibility for solving the performance problem. Using Aprobe-based performance tools, they integrated performance testing with the development project's daily regression testing, so no special performance testbed was needed: they were even able to use the project's change request process.

Aprobe allowed the consultants to be extremely specific in providing change requests; they even prototyped the recommended changes, then used Aprobe to try them out. The change requests were implemented as a matter of course during ongoing development. The system became faster and faster day by day, and the performance problem slowly disappeared.

Remarks:

The flexibility of the Aprobe technology was key, since the development code was a complicated system that also included a lot of debugging code (which was to be removed in the final system).

In order to collect accurate performance data, the consultants had to turn off this sluggish debugging code. They used Aprobe to turn off the debugging code as well as to gather performance data. This allowed the system to go from debug mode to production mode with the flip of a software switch.

Because no separate performance testbed was required, the project saved $3 million. Even though performance tests were being run on the development system, this had no real impact on development efforts. All performance tests ran on the most recent build, so developers could work concurrently on improving performance and implementing new modules. No changes were needed to the existing test suite. Nor did any testers need to be retrained.