FAQ : Frequently Asked Questions
FAQ Table of contents
blue line
8. Q:  How can I predict the performance of my CGIs?

A:  This matter is discussed in manual
SC41-0607-02 AS/400 Performance Capabilities Reference - Version 4, Release 4
You should read Chapter 6, Web serving performance
(click link to display this manual in PDF format).
(click to display this chapter in HTML format).

In this chapter they report a benchmark done on a simple non-persistent CGI, rather different from the ones one could develop with our CGI service program method.
I myself ran some measurements on simple CGIs using our method (Mel Rothman's CGI service program Version 2).

To run my measurements I imbedded some JavaScript in the HTML. This JavaScript would immediately re-run the same transaction. I had to use up to three different browsers to achieve a significative consumption of the CPU power.
For measurement no. 1 I used CGI perf02 in library centaur2.
For measurement no. 2 I used CGI perf01 in library centaur2.

The following table summarizes the results.
My measurement no. 1 My measurement no. 2
trans/sec = CPW / 11 trans/sec = CPW / 13


The difference in the transaction rates depends on the CGI's, see the following table.
My measurement no. 1 My measurement no. 2
Web serving system Model 170
Processor feature 2292
220 CPW
V4R4
Access logging
Model 170
Processor feature 2292
220 CPW
V4R4
Access logging
CPU consumption 93.4% 98.8%
Trans/sec 19.80 17.03
Functional specifications
  • runs in a "named" activation group
  • accesses no data
  • writes 1 HTML section
  • serves an HTML page, size 5KB, without images (GIF, JPG).
  • runs in a "named" activation group
  • accesses data from a QSYS library file to provide a subfile-like table of 26 rows
  • writes 56 HTML sections
  • serves an HTML page, size 5KB, without images (GIF, JPG).

In both cases my CGI's load their skeleton HTML scripts from source file members. In the second case, a small database file is also opened, and two html sections are isssued for each record read, then this database file is closed.
The second case performs worse because of more database accesses.
blue line