Magento SOAP v1与v2性能

gwg*_*ler 7 api performance soap magento

我正在使用VB.NET来使用Magento API.我成功使用SOAP v1,直到遇到需要关联数组的调用.经过一天左右的运气,我决定尝试使用我需要的所有物品的v2.v2工作但非常非常慢.要更新一个库存项目库存,需要大约一分半钟才能登录并进行更新,而v1则可能少于10秒.这让我想起了为什么我首先选择了v1.

我的问题是,无论如何都要提高v2的性能.我无法想象我需要它的程度,但我想我会问.我已经启用了缓存.如果可能的话,让v1接受关联数组的替代方案似乎是一个挑战.

Ala*_*orm 22

WSDL请求可能需要很长时间才有很多原因,但我要检查的第一件事是WSDL缓存的设置.当您对Magento进行API调用时,Magento使用PHP的SoapServer对象.该SoapServer对象需要获取自己的WSDL文件才能运行,并且生成和获取此文件可能是一件非常耗时的事情.

System -> Configuration -> Magento Core API -> General Settings
Run Code Online (Sandbox Code Playgroud)

并寻找"启用WSDL缓存".将此设置为yes,您将看到一些API性能改进.

此设置可能不存在于您的Magento版本中 - 如果是这种情况,您可能会对Mercury API 扩展(由我创建和销售)感兴趣,其API改进包括旧版Magento的此功能.如果您没有扩展的预算,那么Mage_Api_Model_Server_Adapter_Soap旧版本的Magento禁用此缓存的类.