Response Time of "Hello" Page

This section provides a tutorial example on testing the response time of a simple 'Hello' ASP script page.

The next area I want test is total response time of ASP pages. To do this, I wrote the following Java program. This program is doing a single HTTP request to a specified Web page, and repeating this for many times.

/**
 * HttpResponseTest.java
 * Copyright (c) 2002 by Dr. Herong Yang. All rights reserved.
 */
import java.io.*;
import java.net.*;
public class HttpResponseTest {
   public static void main(String[] args) {
      int numberOfTests = 1;
      if (args.length > 0) numberOfTests 
         = Integer.valueOf(args[0]).intValue();
      long t1 = System.currentTimeMillis();
      String result = "";
      for (int nTest=1; nTest<=numberOfTests; nTest++) {
         result = test(args);
      }
      long t2 = System.currentTimeMillis();
      long t = t2 - t1;
      PrintStream out = System.out;
      out.println("Performance Information:");
      out.println("   Number of tests = " + numberOfTests);
      out.println("   Time = " + (t/1000) + " seconds.");
      out.println("Rerulst of Last Test:");
      out.println(result);
   }
   public static String test(String[] args) {
      String path = "/index.html";
      int port = 80;
      String host = "localhost";
      if (args.length > 1) path = args[1];
      if (args.length > 2) port
         = Integer.valueOf(args[2]).intValue();
      if (args.length > 3) host = args[3];
      String result = "";
      try {
         Socket c = new Socket(host,port);
         BufferedWriter w = new BufferedWriter(new OutputStreamWriter(
            c.getOutputStream()));
         BufferedReader r = new BufferedReader(new InputStreamReader(
            c.getInputStream()));
         String m = "GET "+path;
         w.write(m,0,m.length());
         w.newLine();
         w.flush();
         while ((m=r.readLine())!= null) {
            result = result + m + "\n";
         }
         w.close();
         r.close();
         c.close();
      } catch (IOException e) {
         System.err.println(e.toString());
      }
      return result;      
   }
}

Now compile this program and try it with the following "Hello" ASP page, hello.asp:

<%@ language="vbscript"%>
<html><body>
<%
response.write("Hello world!")
%>
</body></html>

you will get something similar to this:

\local\j2sdk1.4.1_01\bin\java -cp . HttpResponseTest 1 /asp/hello.asp
Performance Information:
   Number of tests = 1
   Time = 0 seconds.
Rerulst of Last Test:
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Tue, 24 Dec 2002 02:47:31 GMT
Connection: Keep-Alive
Content-Length: 38
Content-Type: text/html
Set-Cookie: ASPSESSIONIDGGGQQWLY=BJINNIGBFMBPMNHNNCJFDJLG; path=/
Cache-control: private

<html><body>Hello world!</body></html>

I repeated the tests by changes the controlling parameters. The following table shows the results comparing with similar tests I did with other technologies:

        Number     Debug   Time
Cases   of Tests   Mode    (Sec)   Note

1.      1000       No      2       Static text with IIS 5.0
2.      2000       No      4       Static text with IIS 5.0
3.      1000       No      6       ASP page with IIS 5.0
4.      2000       No      11      ASP page with IIS 5.0
5.      1000       ?       7       Static text with Tomcat 4.1.18
6.      2000       ?       15      Static text with Tomcat 4.1.18
7.      1000       ?       8       JSP page with Tomcat 4.1.18
8.      2000       ?       16      JSP page with Tomcat 4.1.18

Conclusion:

Table of Contents

 About This Book

 ASP (Active Server Pages) Introduction

 IIS (Internet Information Services) 5.0

 MS Script Debugger

 VBScript Language

 ASP Built-in Run-time Objects

 ASP Session

 Creating and Managing Cookies

 Managing Sessions with and without Cookies

 scrrun.dll - Scripting Runtime DLL

 Managing Response Header Lines

Calculation Speed and Response Time

 Calculating Prime Numbers

Response Time of "Hello" Page

 ADO (ActiveX Data Object) DLL

 Working with MS Access Database

 Guest Book Application Example

 References

 Full Version in PDF/EPUB