PHP SoapClient构造函数非常慢

时间:2011-09-21 21:24:13

标签: php soap netsuite

我正在尝试对SOAP API进行一些测试,并且遇到极慢的执行时间。我做了一些挖掘,发现它是SoapClient构造函数,需要永远执行。我也尝试使用代理来查看它是否是由它产生的http查询,但是这个查询的执行速度相对较快..它在查询之后会持续大约30秒。

这是一个kcachegrind截图供参考:

kcachegrind

这是Charles Proxy中的WSDL查询:

charles proxy

几个月前,这里也报道了同样的问题:

PHP: SoapClient constructor is very slow (takes 3 minutes)

但他没有得到答案。

我们非常感谢任何建议。

编辑:

启动SoapClient的代码部分(这是NetSuite PHP工具包的一部分)

        $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 个答案:

答案 0 :(得分:4)

您使用的是多个用户吗?我在相同的代码行上得到3-20分钟的延迟,结果证明这与多个用户有关,导致获取wsdl的多个副本。 http://www.ozonesolutions.com/programming/2011/05/nsclient-login-time/