PHP конструктор SoapClient чрезвычайно медленный
Я пытаюсь провести некоторые тесты на API SOAP и испытываю чрезвычайно медленное время выполнения. Я немного покопался и обнаружил, что для выполнения конструктора SoapClient требуется вечность. Я также попытался использовать для этого прокси-сервер, чтобы узнать, является ли это результатом http-запроса, но этот запрос выполняется относительно быстро.. после запроса он задерживается примерно на 30 секунд.
Вот скриншот kcachegrind для справки:
И вот Запрос WSDL в прокси-сервере Чарльза:
Об этой же проблеме также сообщалось пару месяцев назад здесь:
PHP: конструктор SoapClient очень медленный (занимает 3 минуты)
Но он не получил ответа.
Любые предложения будут весьма признательны.
Изменить:
Часть кода, в которой инициируется SoapClient (это часть набора инструментов PHP NetSuite)
$this->client = new SoapClient( $host . "/wsdl/v" . $endpoint . "_0/netsuite.wsdl",
array( "location" => $host . "/services/NetSuitePort_" . $endpoint,
"trace" => 1,
"connection_timeout" => 5,
"typemap" => $typemap,
"user_agent" => "PHP-SOAP/" . phpversion() . " + NetSuite PHP Toolkit " . $version
)
);
1 answers
Используете ли вы несколько пользователей? Я получал 3-20-минутные задержки в одной и той же строке кода, которая, как оказалось, была связана с несколькими пользователями, вызывающими получение нескольких копий wsdl. http://www.ozonesolutions.com/programming/2011/05/nsclient-login-time/