Virtualization is a technique that allows several guest operating systems (OSs) to run on a single physical server and share its hardware resources (CPU, RAM, Storage, Network, etc). However, the virtualization implements an additional layer in the stack and thus a performance decrease is expected. In this paper, we analyze the performance behavior of two simple web services (WS) Concat and Sort. The former is memory demanding WS which mostly utilizes the main memory, while the latter is memory demanding WS and utilizes both the main memory and the CPU. The WSs are hosted on two different environments: host (bare metal) and guest (virtualized). We realized several experiments varying the load with different number of concurrent messages and their size to determine the regions where the performance decreases due to virtualization. Despite the expectation that virtual environment will reduce the performance, the results show that it even improves the average performance of 4 to 5%.
Apache Tomcat; JAVA; Virtualization; VMware