远程请求的数量是否会影响性能?

时间:2013-08-12 22:12:20

标签: php actionscript-3 amfphp

我有一个写真的网站,我正在努力提高加载和保存性能。

相簿制作工具显示在Web浏览器中,在Flash中完成,远程调用数据库操作通过AmfPhp完成。

保存相簿的算法基本上说:

foreach(page in photobook){
    foreach(component in page){
        //Make a remote call that saves the component in the Database
    }
}

这意味着如果相册有30页,每页有10个组件(照片),该工具将创建大约300个同时连接而不计算上传连接。

例如,Firefox似乎已经准备好创建一个队列来处理请求。

这会影响性能吗?

创建一个控制同时远程调用次数的队列会有帮助吗?

值得吗?

感谢您提供任何帮助。

2 个答案:

答案 0 :(得分:1)

对远程服务器的每个请求都会导致脚本执行时间增加。

对数据库的3次查询比3次远程请求更快。

所以是的,您的性能将受到300个远程请求的严重影响。

最佳解决方案是对XML中的所有数据进行分页或序列化。虽然小心使用XML,但如果太大则会导致性能问题。

我认为分页是最好的选择。

答案 1 :(得分:0)

  

300个同步请求

是。太多了。

仅加载您需要的内容。
为什么要立即加载每张图片?加载第一页,也许可以预加载第二页,但如果这个人看起来不比第一页更多,那么你就会花费更多的带宽。

除此之外,我们假设您的相簿允许用户查看通过javascript检索的高分辨率版本。当用户点击它时,他们的请求会被添加到队列的底部,并且在其他300个请求中的最后一个请求完成之前不会被处理。