Web Primitive Tests


Primitive Test Suite

The Geronimo performance benchmark sample provides a suite of web primitives. These primitives singularly test key operations in the enterprise Java programming model. Links to each of the web primitive tests are provided below along with a description of each operation.

Note that some primitives below can have their main operations repeated. These operations are marked with a red *. In order to adjust the repetition, change the primitive iteration value in the Trade configuration page.

Web Container ping suite
PingHtml PingHtml is the most basic operation providing access to a simple "Hello World" page of static HTML.
Explicit GC Invoke Garbage Collection on AppServer. Reports heap statistics after the GC has completed.
PingServlet PingServlet tests fundamental dynamic HTML creation through server side servlet processing.
PingServletWriter PingServletWriter extends PingServlet by using a PrintWriter for formatted output vs. the output stream used by PingServlet.
PingServlet2Include* PingServlet2Include tests response inclusion. Servlet 1 includes the response of Servlet 2.
PingServlet2Servlet PingServlet2Servlet tests request dispatching. Servlet 1, the controller, creates a new JavaBean object forwards the request with the JavaBean added to Servlet 2. Servlet 2 obtains access to the JavaBean through the Servlet request object and provides dynamic HTML output based on the JavaBean data.
PingJSP PingJSP tests a direct call to JavaServer Page providing server-side dynamic HTML through JSP scripting.
PingJSPEL PingJSPEL tests a direct call to JavaServer Page providing server-side dynamic HTML through JSP scripting and the usage of the new JSP 2.0 Expression Language.
PingServlet2JSP PingServlet2JSP tests a commonly used design pattern, where a request is issued to servlet providing server side control processing. The servlet creates a JavaBean object with dynamically set attributes and forwards the bean to the JSP through a RequestDispatcher The JSP obtains access to the JavaBean and provides formatted display with dynamic HTML output based on the JavaBean data.
PingHTTPSession1 PingHTTPSession1 - SessionID tests fundamental HTTP session function by creating a unique session ID for each individual user. The ID is stored in the users session and is accessed and displayed on each user request.
PingHTTPSession2 PingHTTPSession2 session create/destroy further extends the previous test by invalidating the HTTP Session on every 5th user access. This results in testing HTTPSession create and destroy
PingHTTPSession3 PingHTTPSession3 large session object tests the servers ability to manage and persist large HTTPSession data objects. The servlet creates a large custom java object. The class contains multiple data fields and results in 2048 bytes of data. This large session object is retrieved and stored to the session on each user request.
PingJDBCRead* PingJDBCRead tests fundamental servlet to JDBC access to a database performing a single-row read using a prepared SQL statment.
PingJDBCWrite* PingJDBCRead tests fundamental servlet to JDBC access to a database performing a single-row write using a prepared SQL statment.
PingServlet2JNDI* PingServlet2JNDI tests the fundamental J2EE operation of a servlet allocating a JNDI context and performing a JNDI lookup of a JDBC DataSource.