Apache 2.0.52 mod_perl 1.99_16 Perl 5.8.5 OpenSSL 0.9.7d Solaris 8
Greetings!
I am building a load test environment that simulates
responses from a large database, with all I/O in an
XML payload. Most of the requests and responses are
no more than a few hundred bytes, but then there are a
couple huge ones.
The problem I'm having is that my largest request is
349024 bytes and when I send it (using Perl 5.8.5
w/libwww) I can see the first 11584 bytes come in
(using truss), but then nothing further.
Watching the server with truss, I can see the calls to
read() with buffer sizes of 8000 bytes, each of which
typically contain only between 1.4K and 4.3K of data. There are always 4 calls to read() (Normal byte count
is 1448, 2896, 2896 and 4344) then we go to sleep in
accept().
I tried various ways of reading data from the client and ended up using the Bucket Brigade approach so I can see everything as it comes through the front door, all to no avail.
As a sanity check I sent the same request to the real database and everything worked fine, so I know the client script is working.
What am I missing?
Scot, please run with the IO tracing to see what exactly happens behind the scenese and what goes wrong. This is accomplished with:
PerlTrace o
http://perl.apache.org/docs/2.0/user/config/config.html#C_PerlTrace_
Also take a look at various tests under modperl-2.0/t which exercise the IO including sending of big requests. for example
t/response/TestApache/read2.pm and t/response/TestApache/read.pm
Also does the problem go away if ssl is not used?
-- __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
-- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html