Re: [soaplite] SOAP::Lite performance
- If it is taking minutes then it sounds like you are encountering some kind of timeout. Does the WSDL have some kind of external DTD that it is trying to fetch and not succeeding?
On Wed, Nov 24, 2010 at 5:59 AM, x_at_y_or_z <x_at_y_or_z@...> wrote:
I've tried to use SOAP::Lite to access the API of SevOne (a monitoring solution), however it seems to have very poor performance. For example the line below takes on the order of minutes:
my $client = SOAP::Lite->service($WSDL_FILE);
I have version 0.712 of SOAP::Lite and Perl 5.10.1 on Ubuntu. I also collected a NYTProf dump of the process which you can download from here (together with the wsdl file): http://dl.dropbox.com/u/5973603/soap-lite-profile.tar.bz2
I've tried to search for methods of improving this speed, however I came up empty handed. Is there something I missed (like installing XS versions of modules, etc) that I could do to have an acceptable performance level? (btw my machine is quite powerful - doual-core Intel Q6600 cpu @2.4 GHz - and I would expect times at least < 10sec).
What we require now is a feat of linguistic legerdemain and a degree of intrepidity. -- Captain Spock, Star Trek VI: The Undiscovered Country
I don't think it is a timeout issue, since it consumes 100% of CPU
during the entire wait time (fortunately I have 2 cores - 4 if you
consider HT :-)).
Send instant messages to your online friends http://uk.messenger.yahoo.com
- Try this:
Trap your outbound XML message. Build a SOAP::Data structure that
will produce such an XML. Use the call utility function to call the
service using the SOAP::Data structure that you have built.
This cuts out the WSDL parsing.
On Wed, Nov 24, 2010 at 10:56 PM, Attila-Mihaly Balazs
> I don't think it is a timeout issue, since it consumes 100% of CPU
> during the entire wait time (fortunately I have 2 cores - 4 if you
> consider HT :-)).
> Best regards,
> Send instant messages to your online friends http://uk.messenger.yahoo.com
> Yahoo! Groups Links
I require any third parties to obtain my permission to submit my
information to any other party for each such submission. I further
require any third party to follow up on any submittal of my
information by sending detailed information regarding each such
submission to telcodev@...
- Yes, that was one of the suspicions I've had, but I have the XS version
of XML::Parser installed (as confirmed by the snippet below which prints
> Hi,Send instant messages to your online friends http://uk.messenger.yahoo.com
> do you have XML::Parser installed (a XS based module). If XML::Parser is
> not present, SOAP::Lite uses the regexp-based XML::Parser::Lite, which
> is some orders of magnitude slower than XML::Parser.
> You can test for XML::Parser by saying
> $ perl -MXML::Parser -e 'print $XML::Parser::VERSION, "\n"'
> on the command line. It should print something like
> Best regards,