This paper demonstrates how the combination of simulation and real-world experiments can be used to aid decisions concerning the performance of a distributed application. It presents a case study of performance analysis carried out for a commercial application implementing a web-based API server for mobile clients. The application was deployed on the Heroku cloud-based Platform as a Service (PaaS). The analysis described in this paper provided information required to choose the proper configuration of resources for the software. Simulation was used in the research to identify factors crucial to the performance of the application. This allowed for the preparation of basic experiments concentrating on these factors. Consequently, the basic parameters of resources crucial for the efficiency of the application could be benchmarked at insignificant cost and effort. This approach allows us to reliably aid decisions concerning resource configuration for an analyzed application. The simulation method used in this research is based on the formalism of Timed Colored Petri Nets, but the complexity of formal modeling is hidden from its users. Application developers are able to conveniently create a high-level model of their designs and perform simulations, while the reliability of the results is ensured by the formalism. The paper demonstrates the usefulness of the simulation method for analyzing real-world distributed systems.
Read full abstract