Analysis of the limitations of multiple client handling in a Java server environment

  • Authors:
  • Simon Beloglavec;Marjan Heričko;Matjaž B. Jurič;Ivan Rozman

  • Affiliations:
  • Institute of Informatics, Maribor, Slovenia;Institute of Informatics, Maribor, Slovenia;Institute of Informatics, Maribor, Slovenia;Institute of Informatics, Maribor, Slovenia

  • Venue:
  • ACM SIGPLAN Notices
  • Year:
  • 2005

Quantified Score

Hi-index 0.01

Visualization

Abstract

A server infrastructure in web servers, message servers and other parallel systems use a variation of two software architectures for providing concurrency: threaded or event-driven. This paper analyzes the performance limitations of concurrent applications implemented in Java. Both architectures have been evaluated and compared with various design patterns, which combine the best practices from both architectures. For each architecture the suitability for handling a large volume of client requests, the efficient management of a server load, the influence of client request structures, and the physical size of a client request, have been studied. The discussed Java APIs are core technologies for high-level APIs, used in developing web and distributed applications. The research also includes performance comparison on various platforms and discusses performance variation on various versions of a Java runtime. The paper contributes to the understanding of Java-based server architecture capabilities. Core server software architectures and required Java libraries are compared, the reasons for the limitations are identified and guidelines for choosing proper combinations are given.