0

複数のSOAPリクエストを一度に受け入れることができ、それらを同時に処理できるSOAPサーバーがあります。

基本的なSOAPクライアントPHPスクリプトを作成してリクエストを作成し、このスクリプトを異なるマシンで同時に複数回実行すると、リクエストはサーバーでキューに入れられているように見え、同時に処理されるのではなく、1つずつ処理されるだけです。

この動作を引き起こす可能性のあるApache/PHP / SOAPに何かありますか?

これは少しわかりにくいかもしれないので、私は主に誰かがこれに遭遇したことがあるかどうか、そして解決策は何であったか疑問に思っています。私は困惑しています。

SOAP呼び出しは次のようになります。

$client = new SoapClient($config['parsingWSDL'],array('trace' => FALSE, 'exceptions' => TRUE));
$return = $client->__soapCall("ProcessCV",array($args));
4

1 に答える 1

1

SoapClient別々のインスタンス(すべてのリクエストは新しいものです...)が互いに待機する理由はありません。ただし、クライアント側ではKeepAlive、同じ接続をリサイクルする場合にHTTPが問題になる可能性があり、サーバー側では、同じ識別子を持つセッションを使用すると、ロックが解除されるまでブロックされます(その場合、セッションを閉じます)。session_write_close()開いたままにするのではなく、できるだけ早く。

残りは、SoapServerが実際に何をするかによって異なります。SQLクエリがロックを待機している可能性があります。または、他のロックがProcessCV原因である可能性があります。

于 2012-12-12T17:23:57.510 に答える