我正在使用VB.NET来处理Magento API。在我遇到需要关联数组的调用之前,我一直在成功地使用SOAP v1。经过一天左右的不走运之后,我决定尝试一下v2,它有我需要的所有对象。v2可以工作,但速度非常慢。要更新一个库存物品清单,登录并进行更新大约需要一分半钟,而使用v1可能不到10秒。这让我想起为什么我一开始就选择了v1。
我的问题是,是否有任何方法可以提高v2的性能。我不能想象我需要它的程度,但我想我会问一下。我已经启用了缓存。如果可能的话,让v1接受关联数组的替代方案似乎是一个挑战。
发布于 2013-01-12 03:39:42
一个WSDL请求可能花费很长时间的原因有很多,但我要检查的第一件事是WSDL缓存的设置。当您对Magento进行API调用时,Magento将使用PHP的SoapServer对象。SoapServer对象需要获取其自己的WSDL文件才能操作,而此文件的生成和获取可能是一件耗时的事情。
去
System -> Configuration -> Magento Core API -> General Settings并查找"Enable WSDL Cache“。将其设置为yes,您将看到一些API性能改进。
此设置可能在您的Magento版本中不存在-如果是这种情况,您可能对Mercury API扩展(由我创建并销售)感兴趣,该扩展具有包含此功能的旧版本Magento的API改进。如果你没有扩展的预算,Mage_Api_Model_Server_Adapter_Soap是一个类,在这个类中,旧版本的Magento会禁用这个缓存。
https://stackoverflow.com/questions/14284671
复制相似问题