First of all, it gives no meaning to compare a single component in a
complex process by comparing the entire process and then say it is slightly
faster in an overall view.



If you have 2 processes with 2 different components and one process runs in
100 ms and the other runs in 102 ms there is no way to know if the
component in the first takes 2 ms and in the second takes 4 ms and by that
is 50 % slower or 100 % faster depending on who you compare with who or
approx. 2% faster or slower if you compare the overall performance.



Another thing is overall performance in the total application setup. CGI
programs can stay active with files open and they can be shared by many
clients and beside that, QZSRCGI jobs like any other active job doesn’t
only have a vertical program stack, but also a horizontal program stack,
that just stays active but idle while it processes a CGI request in the
vertical stack.



If you run a SQLRPGLE program under QZSRCGI and keep it active SQL will
further more hold the files and the build access path open even though you
close the curser.



E.g. I have a web system with 300 concurrent daily users that are served by
just 6 QZSRCGI jobs and even though it is a rather complicated system with
lots of DB I/O and PDF generation we can hardly measure the total CPU
consumption because it is less than 1 %.



How ODBC/QZDASOINIT or PHP for that matter works I don’t know but the above
has to be taken into consideration.



Finally in regard to XMLSERVICE this is also a question on how the hand
fits the glove. XMLSERVICE is primarily constructed to cover some needs in
PHP and even though it comes with a CGI interface it lack as far as I know
completely session management and control so there will be considerable
security issues if one should use it in a web environment.



On Mon, Aug 6, 2012 at 6:37 AM, Nathan Andelin <nandelin@xxxxxxxxx> wrote:

From: Vernon Hamberg
HR - no one has presented any benchmarks - some downloaded code and
say things like "it looks like" - that is no test! That is speculation
in the
english language.


Hello, Vern. I gather that you finally read my CGI vs. QZDASOINIT
benchmark comparison. For others who may be quasi-reading my messages I'll
repost the link to the CGI program that I was testing with:

http://www.radile.com/rdweb/ptl/ptl100/launch.shtml?app=xcsx100


The radio button that downloads the MDEF150P table in CSV format consumes
88 milliseconds on my IBM i server. For comparison purposes I used Visual
Foxpro to download the MDEF150P table, where the corresponding QZDASOINIT
job consumes 116 milliseconds. The CGI interface evidently has slightly
less overhead.

We've been getting vague references to CGI performance "warnings"
pertaining to XMLCGI, from Alan and Brian. But no benchmark data. That
concerns me. Maybe Tony “Ranger” Cairns of IBM will join the discussion and
clear matters up.


Regarding my alleged "speculation" about XMLCGI using an SQL CLI interface
to call the stored procedures, I see the RPG code for the SQL CLI
interface. But the part that confuses me is the CL build scripts for
XMLCGI.PGM and XMLSERVICE.PGM, which binds all the procedures into both
programs. If all the same procedures are already bound "by copy" into
XMLCGI.PGM, then why does it use an SQL CLI interface to call them? Using
SQL CLI within XMLCGI doesn't concern me, but if they want to do that, then
why also bind by copy, which adds significant BULK to XMLCGI?

CRTPGM PGM(XMLSERVICE/XMLSERVICE) +
MODULE(XMLSERVICE/XMLSERVICE XMLSERVICE/PLUGBUG +
XMLSERVICE/PLUGIPC XMLSERVICE/PLUGRUN +
XMLSERVICE/PLUGPERF XMLSERVICE/PLUGCACH +
XMLSERVICE/PLUGERR +
XMLSERVICE/PLUGSQL XMLSERVICE/PLUGDB2 +
XMLSERVICE/PLUGCONF3 +
XMLSERVICE/PLUGPASE XMLSERVICE/PLUGLIC +
XMLSERVICE/PLUGSIG XMLSERVICE/PLUGCONV +
XMLSERVICE/PLUGXML XMLSERVICE/PLUGILE)
CRTPGM PGM(XMLSERVICE/XMLCGI) +
MODULE(XMLSERVICE/XMLCGI XMLSERVICE/PLUGBUG +
XMLSERVICE/PLUGIPC XMLSERVICE/PLUGRUN +
XMLSERVICE/PLUGPERF XMLSERVICE/PLUGCACH +
XMLSERVICE/PLUGERR +
XMLSERVICE/PLUGSQL XMLSERVICE/PLUGDB2 +
XMLSERVICE/PLUGCONF3 +
XMLSERVICE/PLUGPASE XMLSERVICE/PLUGLIC +
XMLSERVICE/PLUGSIG XMLSERVICE/PLUGCONV +
XMLSERVICE/PLUGXML XMLSERVICE/PLUGILE) +
BNDSRVPGM(QHTTPSVR/QZSRCORE)

-Nathan

--
This is the Web Enabling the AS400 / iSeries (WEB400) mailing list
To post a message email: WEB400@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/web400.





As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.