Re: [soaplite] help with performance issues
- Jay, thank you!
I was unaware that one could choose which xml parser package to use.
I have the expat based XML::Parser installed already, how do I instruct
SOAP::Lite to use it instead of XML::Parser::Lite?
thank you again,
On Jul 10, 2006, at 11:33 AM, Jay A. Kreibich wrote:
> On Mon, Jul 10, 2006 at 02:25:32PM -0000, Andrew Hicox scratched on
> the wall:
>> Hello everyone:
>> I'm running an apache 1.3.* server with mod_ssl, mod_perl &
>> SOAP::Lite, and I seem to be hitting a wall in terms of performance.
>> Granted, I'm passing some really complex structures into and out of my
>> functions, but I'm seeing fairly consistent response times of around 9
>> and a half seconds, which is just well ... really long.
>> Doing some further debugging, I'm seeing the delay in the dispatch/xml
>> parsing stage burried somewhere in SOAP::Lite's guts. That is, I don't
>> belive that what I'm doing inside the distpatched-to function is
>> really making that much of an impact in terms of performance. The bulk
>> of the delay seems to occur between receipt of the request by apache
>> and the time that the dispatched function is reached.
> It might be worth testing this. If you can setup a function that
> just returns it's arguments, you can firmly establish if this is a
> serializer issue or a function issue.
>> Performance seems to dramatically increase when I pass structures with
>> leafs no more than two levels deep. Specifically, structures like
>> "list of lists" or "hash of lists" seem to cause the most problems. In
>> any case, changing the structures that the functions pass is kind of
>> out of the question for me at this point in my project.
> Which XML parser are you using? XML::Parser or XML::Parser::Lite?
> If you're using ::Lite (included in the SOAP::Lite distribution),
> you might want to switch to a full install of XML::Parser with the
> expat binary libs behind it. I've little experience with the ::Lite
> version, but given how it works, it would not surprised me if it has
> performance issues with very large or complex structures.
> Jay A. Kreibich | CommTech, Emrg Net Tech Svcs
> jak@... | Campus IT & Edu Svcs
> <http://www.uiuc.edu/~jak> | University of Illinois at U/C
Andrew N. Hicox
Hicox Information Systems LLC
Manassas, VA USA
- On Mon, Jul 10, 2006 at 01:04:28PM -0400, Andrew Hicox scratched on the wall:
> Jay, thank you!I'm fairly sure that if SOAP::Lite can find XML::Parser, it will
> I was unaware that one could choose which xml parser package to use.
> I have the expat based XML::Parser installed already, how do I instruct
> SOAP::Lite to use it instead of XML::Parser::Lite?
automatically use it. XML::Parser::Lite is only used as a fall-back.
Someone with a better understanding of the internals of SOAP::Lite
might chime in on this, however.
In that case, the only thing would be to verify that XML::Parser and
expat is installed somewhere SOAP::Lite is going to find it and
correctly import it. With mod_perl that's sometimes a bit tricky,
but if things are installed in the default places, it should work.
Jay A. Kreibich | CommTech, Emrg Net Tech Svcs
jak@... | Campus IT & Edu Svcs
<http://www.uiuc.edu/~jak> | University of Illinois at U/C