Loading ...
Sorry, an error occurred while loading the content.

Re: [soaplite] SOAP::Lite performance

Expand Messages
  • Dan Speers
    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
    Message 1 of 5 , Nov 24, 2010
    • 0 Attachment
      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?

      Dan

      On Wed, Nov 24, 2010 at 5:59 AM, x_at_y_or_z <x_at_y_or_z@...> wrote:
       

      Hello everybody.

      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).

      Best regards,
      Attila




      --
      What we require now is a feat of linguistic legerdemain and a degree of intrepidity.  -- Captain Spock, Star Trek VI: The Undiscovered Country
    • Attila-Mihaly Balazs
      Hello. 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 :-)).
      Message 2 of 5 , Nov 24, 2010
      • 0 Attachment
        Hello.

        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,
        Attila
        Send instant messages to your online friends http://uk.messenger.yahoo.com
      • Joseph Werner
        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
        Message 3 of 5 , Nov 25, 2010
        • 0 Attachment
          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.

          Saltbreez

          On Wed, Nov 24, 2010 at 10:56 PM, Attila-Mihaly Balazs
          <x_at_y_or_z@...> wrote:
          > Hello.
          >
          > 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,
          > Attila
          > 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@...
          Joseph Werner
        • Attila-Mihaly Balazs
          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 out 2.36).
          Message 4 of 5 , Nov 29, 2010
          • 0 Attachment
            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
            out 2.36).

            Best regards,
            Attila
            > Hi,
            >
            > 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
            >
            > 2.36
            >
            > Best regards,
            >
            > Martin
            >

            Send instant messages to your online friends http://uk.messenger.yahoo.com
          Your message has been successfully submitted and would be delivered to recipients shortly.