我正在办理酒店预订系统。我必须整合5个酒店API才能获得酒店。我见过很少 具有多个API的应用程序。这些应用程序的过程为
1运行酒店可用性请求(逐个)
解析xml响应并将详细信息插入数据库
每页显示二十到三十家酒店(我们可以在分页的帮助下看到其他酒店)
但这些项目非常缓慢。这些应用程序需要1.30-3分钟才能显示酒店
我有两个粗略的想法。
1)我将运行一个API(在我的API中速度非常快)并首先显示结果,然后我将运行其他API。在这种情况下,我应该更新分页 (但我不知道如何实现这一点)。
2)我可以通过多线程增加速度(cURL支持多线程)。
请提出建议以提高申请速度。
我正在使用的技术:PHP,Mysql,cURL / SOAP,简单的XML解析(在DOM解析中)
答案 0 :(得分:1)
您的网络服务器是否要求酒店API&解析每个浏览器请求的响应?如果是这样,那么这听起来非常低效 - 我会设置一个后台进程设置为每5分钟左右重复一次以获取,解析和放大将数据存储在数据库中,然后您的网络服务器可以简单地从数据库而不是外部服务中提供这些数据。
答案 1 :(得分:0)
在测试环境中安装XDebug,并使用分析器查看瓶颈所在。有一个很好的附加组件KCachegrind可以准确显示CPU周期浪费的位置。