Scalability of a multi-tier enterprise system is limited by the presence of software and hardware resource bottlenecks. These bottlenecks typically occur at larger number of users. It would help enterprise applications significantly if these bottlenecks are known a-priori during the performance testing itself. This paper deals with predicting the performance of such systems and models an application in terms of a two layer queuing network consisting of software resources and hardware resources. The software modules which require exclusive access by a thread are modeled as a queuing resource and other modules are treated as delay resources in the software queuing network. This network in turn uses a hardware queuing network consisting of resources such as CPU, disk and network. The proposed solution is augmented with additional constraints to ensure that the solution converges at a large number of users. Further, the proposed solution is capable of modeling multi-class requests with critical section and pooling of resources e.g., connection pool or thread pool. We validate the proposed solution with actual experimental results using sample programs and observe that the model is able to predict throughput and resource utilization with close to 90% accuracy.
S. Duttagupta, Virk, R., and Nambiar, M., “Predicting Performance In The Presence Of Software And Hardware Resource Bottlenecks”, Symposium on Performance Evaluation of Computer and Telecommunication Systems (SPECTS). IEEE, Monterey, CA, USA, pp. 542-549, 2014.