从SOAP获取数据的更好的方法,而不阻塞Apache


Better way to get data from SOAP and no blocking Apache

我在一个通过SOAP获取数据的网站上遇到了问题。我认为在等待数据和其他人访问网页时,apache不能处理所有的请求,而等待那么长时间,我得到高响应时间。

我正在用常规的方式进行SOAP调用:

self::$client = new SoapClient($wsdl_url);
self::$session = self::$client->login( $wsdl_usr, $wsdl_key );
self::$client->call( self::$session, 'product.list', $args );

我已经搜索了PHP中的异步SOAP调用,但我不知道该如何做,因为我需要将这些数据显示给用户。

我有wsdl缓存激活,但仍然。

我应该使用ajax调用让客户端准备好加载器,同时调用内容释放Apache?我还能用什么其他方法来处理这个问题?

这个SOAP调用是通过一个已经指向私有网络的本地IP进行的,我认为这样做的时间会少得多。

如果问题是Apache,那么调整Apache来处理更多的并发请求,而不是PHP代码。然后考虑如何使您的SOAP服务更快,而不是更改PHP代码。