我有一个用PHP做的SOAP请求。它可能需要1-2秒到5或更多。这是缓慢的一面,因为数据将被加载并显示在网页上。它可以减慢网页上的整体加载时间。如果可行的话,我正在寻找提高SOAP请求性能的方法。我不认为缓存数据是切实可行的,因为数据每分钟都会更新。我已经考虑过每分钟轮询一次SOAP请求并对其进行缓存,但为了实现这一点,可能会被视为锤击第三方服务器。
这是在Linux中的PHP。如果SOAP请求是用另一种语言(如C语言)完成的,它会以明显的方式改进执行吗?或者它在预期的重网站流量(例如早上)每分钟轮询SOAP请求更好的解决方案?谢谢!
答案 0 :(得分:1)
策略取决于你所做的不同电话的数量。
你无法真正改善Soap执行时间本身。只要请求需要等待,您就必须等待。
该请求是针对每个用户单独完成还是始终相同?然后缓存一分钟将改善每分钟55秒的情况,假设一个呼叫需要5秒,并且该缓存条目提供任何站点请求。
如果您真的每分钟向Soap服务器发出一个请求,以便在任何用户需要数据之前填充缓存,那么这只能得到改善。
另一方面,您可以通过使缓存条目持续超过一分钟来减少提取始终上传数据。
非常复杂的系统会尝试事先知道用户是否真的需要Soap数据,并在不影响用户的情况下触发该请求和缓存填充,例如通过将请求添加到独立执行的队列中。然后它可以填充缓存,并且在需要Soap请求时,缓存将被填充。