B. Babu, R. Gopalakrishnan, P. Cuijpers, and G. Meempat (India)
Software performance modeling, measurements, software architecture, bottleneck identification, pipelining, .NET performance, database logging.
This paper presents a performance model for a typical .NET-based database logging system. In this system, log data records generated by client machines in a large application environment are stored into a remote SQL database (for subsequent retrieval and analysis as needed). While the scope of the application is generic, there is particular relevance to the medical systems domain involving the archival of patient data records. Based on an analysis of the model, it is demonstrated that the throughput achievable with a conventional implementation of the logging system over .NET has some limitations, due to inadequate pipelining among the concurrent physical entities (client machine, network, and SQL server machine). By exploiting the potential for pipelining, we propose a new architecture model that overcomes the stated limitation and achieves superior throughput. The enhanced architecture is based on deploying a distinct logging agent within the SQL server machine, which functions in conjunction with a modified version of the original logging client. By a suitable adaptation of the performance model, we estimate the theoretical throughput achievable with the enhanced version. Furthermore, we present a prototype implementation of the proposed architecture, and demonstrate the throughput improvement achieved via measurements.
Important Links:
Go Back