#41943 [Opn->Fbk]: Soap Call causes CPU to go 100%

2007-08-01 Thread dmitry
 ID:   41943
 Updated by:   [EMAIL PROTECTED]
 Reported By:  simon at connexon dot com
-Status:   Open
+Status:   Feedback
 Bug Type: SOAP related
 Operating System: Windows Server 2003
 PHP Version:  5.2.3
 Assigned To:  dmitry
 New Comment:

On Windows I just called CLI PHP that accessed SOAP server on
Linux/Apache.


Previous Comments:


[2007-07-30 21:39:53] simon at connexon dot com

Hi dmitry, were you using apache or IIS under windows?

We are using IIS. Perhaps it is the source of the problem...

I will be doing more testing on this later this week. Please let me
know.

Thank you.



[2007-07-25 06:25:38] [EMAIL PROTECTED]

I am not able to reproduce this.

I created a simple client that accesses server over HTTPS:
 "https://tpl/~dmitry/soap/examples/server4.php";,
"uri" => "test://"));
  echo $client->getQuote("ibm");
?>

and server that sleeps for 15 seconds:
 98.42
);  

function getQuote($symbol) {
  global $quotes;
  sleep(15);
  return $quotes[$symbol];
}

//ob_start("ob_gzhandler");
$server = new SoapServer("stockquote1.wsdl");
$server->addFunction("getQuote");
$server->handle();
?>

and I don't see any CPU load:
[EMAIL PROTECTED] CGI-DEBUG]$ time sapi/cli/php
/home/dmitry/public_html/soap/examples/client8.php
98.42
real0m15.105s
user0m0.006s
sys 0m0.033s

I also run the same client on Windows looking into "perfmon" and CPU
load was about 0% during waiting.

Please provide a COMPLETE reproducable case (client that access
external SOAP server, or local client and srver), if you like me to fix
the behavior.




[2007-07-13 12:35:25] simon at connexon dot com

How do we do traces?

however I was able to isolate the problem. It's SSL that is causing CPU
spikes. I ran a soap location with HTTP://, then the CPU would "idle"
while it's waiting for a response, however using HTTPS:// the CPU really
goes nuts!

Is this a problem in the core of PHP itself?



[2007-07-11 07:08:46] [EMAIL PROTECTED]

Could you plese post strace of process or/and call-trace of PHP during
it eats CPU.



[2007-07-09 20:13:37] simon at connexon dot com

 "aaa");   

$this->result = $this->handle->__soapCall("ValA", $ws_params);

if ($debug) 
$this->displayMessageInfo();

$this->handleFault($this->result);

?>

When the code gets to "$this->handle->__soapCall..." we recognize the
fact that when PHP is waiting for a soap response the CPU is blocked.
However this is not a good behavior as of we need the CPU to do other
things also.



The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/41943

-- 
Edit this bug report at http://bugs.php.net/?id=41943&edit=1


#41943 [Opn->Fbk]: Soap Call causes CPU to go 100%

2007-07-09 Thread tony2001
 ID:   41943
 Updated by:   [EMAIL PROTECTED]
 Reported By:  simon at connexon dot com
-Status:   Open
+Status:   Feedback
 Bug Type: Performance problem
 Operating System: Windows Server 2003
 PHP Version:  5.2.3
 New Comment:

Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with ,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc. If the script requires a 
database to demonstrate the issue, please make sure it creates 
all necessary tables, stored procedures etc.

Please avoid embedding huge scripts into the report.




Previous Comments:


[2007-07-09 19:39:46] simon at connexon dot com

Description:

We've been using soap for a while now and noticed that when we send a
soap request and it waits for a response, PHP goes in a sort of loop and
takes CPU load. Our average waiting time is 4 seconds.

A soap call once in a while is ok, because it doesn't take too much CPU
overall. But we noticed that the more we grow, the more CPU it takes, to
a point where we reach often 100% CPU if we do a loop of soap calls.
(All that caused by the waiting time of the soap call!!!).

Reproduce code:
---
x

Expected result:

Would it be possible that PHP goes into an idle mode when it waits for
a soap response instead of taking all the CPU ressources?

Actual result:
--
CPU goes crazy when we do too many soap calls in a row (we can do
maximum of 4 soap calls at once, else it would overload the server).





-- 
Edit this bug report at http://bugs.php.net/?id=41943&edit=1