Apache Tomcat, also referred to as Tomcat, is an open-source web server and servlet container developed by the Apache Software Foundation. It provides a Java-based environment for running web applications that are written in Java Servlet and JavaServer Pages (JSP) technologies.
Tomcat can serve as a standalone web server that serves static web content, but its primary purpose is to provide a platform on which Java-based web applications can execute. It implements the Java Servlet and JavaServer Pages specifications. Developers can write applications that adhere to these specifications, deploy and run them on Tomcat.
As a servlet container, Tomcat acts as an intermediary between the web server and the Java web application. It receives requests from clients (web browsers) and forwards them to the appropriate servlets or JSPs for processing. Once processed, the response is sent back to the client.
Tomcat offers various features and capabilities, including support for the latest Java Servlet and JSP specifications, session management, security features, clustering for high availability, and a management web interface for configuration and monitoring. It is highly extensible and can be integrated with other Apache technologies.
Since provides a reliable and efficient platform for hosting Java-based web applications, Tomcat is a popular choice for developers and organizations.
Since it heavily supports multi-threading, Tomcat is highly scalable and can handle hundreds of requests per second. There are several best practice configurations that administrators need to take care off when configuring Tomcat in order to achieve the best scalability and performance. Read this insightful blog on 10 tips for tuning Apache Tomcat for best performance to learn more.
Since Tomcat runs on a Java virtual machine, it is essential to monitor the JVM and its internals in-depth. Performance of the JVM garbage collector, usage of the JVM’s heap memory, threads running in the JVM are some of the key metrics to collect. Tomcat exposes key metrics about the application server via Java Management Extensions interfaces so monitoring tools can track the application server’s performance. Key metrics include the traffic on each connector, response time for servlets, errors seen by the container and so on. Tomcat logs are also a great source of metrics. Access logging must be turned on for this. To get greater insights into applications hosted on Tomcat, distributed transaction tracing can be implemented using tools like eG Enterprise.
Learn more about comprehensive Apache Tomcat monitoring capabilities included in eG Enterprise here: https://www.eginnovations.com/supported-technologies/tomcat-monitoring