0

我有一个我在 PHP 中执行的 SOAP 请求。它可能需要 1-2 秒到 5 秒或更长的时间。这是缓慢的一面,因为数据将被加载并显示在网页上。它可以减慢网页上的整体加载时间。如果可行,我正在寻找提高 SOAP 请求性能的方法。我认为缓存数据并不实用,因为数据每分钟更新一次。我考虑过每分钟轮询一次 SOAP 请求并对其进行缓存,但要做到这一点 24/7 可能会被认为是对第 3 方服务器的打击。

这是在 Linux 中的 PHP 中。如果 SOAP 请求是用另一种语言(例如 C)完成的,它会以显着的方式改进执行吗?或者,它在预期的繁重网站流量(例如早上)每分钟轮询一个 SOAP 请求是一个更好的解决方案?谢谢!

4

1 回答 1

1

策略取决于您拨打的不同电话的数量。

您无法真正改善 Soap 执行时间本身。只要请求需要,您就必须等待。

该请求是针对每个用户单独完成的,还是始终相同?然后缓存一分钟将改善每分钟 60 秒中的 55 秒的情况,假设一个调用需要 5 秒,并且任何站点请求都由该缓存条目提供服务。

只有在您的任何用户需要数据之前,您确实每分钟向 Soap 服务器发出一个请求以填充缓存,这才能得到改善。

另一方面,您可以通过使缓存条目持续时间超过一分钟来减少获取始终更新的数据。

一个非常复杂的系统会尝试提前知道用户是否真的需要 Soap 数据,并在不影响用户的情况下触发该请求和缓存填充,例如通过将请求添加到独立执行的队列中。然后它可以填充缓存,并在需要 Soap 请求时,填充缓存。

于 2013-07-15T07:09:51.047 回答