Improving an already existing product, identifying its faults and fixing them is an often arising engineering problem. The topic of my thesis is a project aimed at improving an application developed by myself in the previous years from a performance point of view. The system in concern is used in production environment and to react to business needs, performance counters must be measured, analyzed and then the bottlenecks improved.
The thesis describes the analytical methodology of a client-server architecture system through examples. I will perform measurements on both the communication channel and the database server. Based on the results, I will reorganize business processes transparently wherever possible, and use algorithmic solutions to improve performance in other cases.
For each arising problem I will give several alternate solutions, and explain my reasoning for choosing one solution to be implemented.
The development of a few analytical tools are part of the thesis also. These tools assisted me in the performance measurements of the database server.
During the project I relied heavily on the capabilities of Microsoft SQL Server 2008 R2 and Microsoft .NET Framework 4.0. The thesis touches on compatibility problems between different operating systems. Also, I will describe the solution to a few critical user interface issues as well.
The new system implemented as the result of this thesis will only be introduced to the production environment after this thesis is turned in, but I will demonstrate the results of the steps taken based on the feedback during the testing period.