We are preparing to launch our largest software undertaking to date (still top secret) and I have been focusing on performance tuning for the last week or so in preparation for the public release. Our new application has a huge list of features and benefits, but if the application is slow we fail. I downloaded and installed AutomatedQA's QATime demo and have been using it to gather results on our software's performance.
Our new software runs either locally on a corporate LAN or remotely over the Internet using SSL security. When the application is on the LAN, database calls are very quick and not usually a performance problem. However, over the Internet these calls become very expensive and take considerably more time to complete. The goal of my performance profiling was to reduce the number of database calls and optimize the traffic.
When you run our Beta application over the Internet, the slowest screen is the Charge Number screen. The screen was typically taking about 1 second * the # of charge numbers you had active for your account. If you had 25 active, it would take 25 seconds to load the screen. Also, when you had an administrator role and access to all and need to look at everyone's, it then becomes like 110 seconds. NOT ACCEPTABLE!
So I ran the AutomatedQA Profiler tool on the current production version and gathered my base data. I made a round of changes, gathered a second set of data and then made a final round of changes and gathered the last set of data. My clicks were as follows. Click the ChargeNumber nav button, clear the active filter, and select the All Charge Numbers filter dropdown. Here are some numbers.
Performance Enhacements
| Method | Base | Run #1 | Run #2 |
| Total Call | 57.68 sec | 4.17 sec | 3.25 sec |
| Total Queries | 153 | 32 | 28 |
Without QATime, I would only be guessing my code changes were actually having a positive effect on our users. With QATime, I can back up our claims with solid data!
You can click this link to view the product page for QATime. www.automatedqa.com/products/aqtime/index.asp
More information on the new software product will be released soon. Stay tuned!