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

SOAP::Lite performance

Expand Messages
  • x_at_y_or_z
    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
    Message 1 of 5 , Nov 24, 2010
    • 0 Attachment
      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
    • 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 2 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 3 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 4 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 5 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.