Note that there are some explanatory texts on larger screens.

plurals
  1. POSoap Server - performance issue (might be SQLite related)
    primarykey
    data
    text
    <p>Yesterday I've posted question about SQLite performance issues ( <a href="https://stackoverflow.com/questions/10333125/terrible-performance-in-zend-db-pdo-sqlite-insert-and-update-queries">Terrible performance in Zend Db PDO_sqlite insert and update queries</a> ). After several tests It seems like the problem occurs only when methods are called through SoapServer (tried both native PHP SoapServer and Zend_Soap_Server classes).</p> <p>Test case - calling 10 methods which use SQLite DB INSERT and UPDATE DB operations.</p> <p>Here are several cases of how it works:</p> <p>1.Through the controller - without using Soap server. localhost:~0.3s, remote server:~0.3s</p> <p>2.Through the Soap server. 1st call. localhost:~1-2s, remote server:~7s!</p> <p>3.Through the Soap server. Several calls. localhost:~1-10s, remote server:~7s</p> <p>3rd case doesn't concern me that much, probably might be the local server performance issue. Important thing is that it works stable on remote server.</p> <p>On the other hand, 7 seconds for simple 10 method calls is increadibly long. Obviously - part of this 7 seconds is client-server communication, as case 1 omits that, but i don't think It should be that slow!</p> <p>For debugging I'm logging everything, and what seems to happen is that the same SQLite methods called in case 1, take 0.00x-0.02s, here last for ~0.15-0.45s.</p> <p>What might be the issue? Is it normal thing that it slows down so drasticly when using SOAP? (It's my first soap server project).</p> <p><strong>EDIT:</strong> another important log fact I've found:</p> <p>Information -2012-04-26 <strong>13:08:07.782679</strong> Class: SoapController. Method: SoapController::hadleWSDL. Line: 18.</p> <p>Information-2012-04-26 <strong>13:08:08.318641</strong> <strong>* SYSTEM START UP *</strong> </p> <p>So that's basicly time between 2 methods being called. Over 0.5s for client-server communication with a little amount of data seems a lot to me. Here's the code for handleWSDL action:</p> <pre><code>$options = array( 'encoding' =&gt; 'UTF-8', 'cache_wsdl' =&gt; WSDL_CACHE_BOTH, 'uri' =&gt;$this-&gt;_WSDL_URI ); $soap = new Zend_Soap_Server(null, $options); $soap-&gt;setClass('SoapServerFunction'); $soap-&gt;setObject(new SoapServerFunction()); $soap-&gt;handle(); </code></pre> <p>The application is really simple - SOAP method takes 1 parameter, and basing on it 1 cached object is created, data is being processed, and part of data is returned in XML format.</p> <p>Thank you in advance for any suggestions what I can do to either make it faster or how to track what's the real reason of slowing down.</p> <p>Best regards!</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload