0

我有一个相册制作网站,我正在尝试提高加载和保存性能。

相册制作工具显示在网络浏览器中,在 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 似乎已经准备好创建一个队列来处理请求。

这会影响性能吗?

创建一个控制同时远程呼叫数量的队列是否有帮助?

这值得么?

谢谢你能给我的任何帮助。

4

2 回答 2

1

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

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

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

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

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

于 2013-08-12T23:31:19.327 回答
0

300 个同时请求

是的。太多了。

只加载你需要的东西。
为什么要立即加载每张图片?加载第一页,并且可能预加载第二页,但是如果该人不看比第一页更远的地方,那么您将使用大量带宽。

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

于 2013-08-12T22:26:18.750 回答