Many times during system implementations custom modules, interfaces, and/or reports do not complete within acceptable durations. Performance degradation can be caused by inefficient code, inefficient hardware configurations, incompatibilities in the total system configuration and/or database inefficiencies. We have the experience to identify root causes of these inefficiencies, quantify their impact and resolve them so that maximum performance is achieved.
Some examples of system performance issues we have resolved include:
- Custom modifications and/or functions in the base application that do not respond as expected. These unexpected results could be introduced through software or hardware. In modules with customization, more often than not, the negative system performance is caused by some attribute of the custom code.
- Systems with extreme performance degradation. Older systems can exhibit slow response times when the database has not been given regular health checks or proactively managed. Newer systems can bog down if anticipated initial growth exceeds expectations, errant data is introduced by a software defect, or a defect correction is promoted to production that causes unintended results.
- Poorly written SQL queries. There are many ways to write SQL code to return accurate data, but careful consideration needs to be given to efficiency as well as accuracy. Many business reports have very complex requirements accomplished by equally complex code. Through the years Miitek has witnessed a number of reporting performance issues in which the program in question takes hours or even days to run. Some of those reports were improved through minor adjustments to the code and others required complete rewriting, but in every case at the end of the engagement the reports ran more efficiently without sacrificing accuracy.
- Large Databases. Billing systems for a customer base with less than 100K accounts typically do not have performance issues when they initially go live. But after several years, queries based on financial history can degrade significantly. Data in large systems must be proactively managed in order to maintain expected performance metrics for both the daily and nightly business activities.