simplexml_load_file()速度因素

时间:2010-07-27 00:29:53

标签: php performance simplexml

我正在开发一个网络应用程序,其中每个用户都有多个非本地XML文件,每个页面(重新)加载都会通过SimpleXML下载和解析。每个请求平均需要不到一秒的时间,但是有超过五个或六个文件(很可能),加载时间非常明显。所以我的问题是什么因素影响了功能的速度,有没有我可以控制和加速它们?

至于纯粹提高效率,检查上次更新时间的http标头是不准确的,我不认为cron作业会给我“实时”结果,我希望得到。

主要是因为我正在访问它们的服务器上的因素,还是他们在我这边?这是功能本身吗?显然文件的大小会影响速度。有没有什么方法可以在重置之前对其进行压缩,从而加快下载速度?

2 个答案:

答案 0 :(得分:2)

让他们绝对生活的理由是什么?你能每15分钟更新一次吗?

你能克隆它们并一次缓存它们15分钟吗?

您可以确保从远程服务器获取它们的方法发送标头以接受gzip(并且您可以在结束时对它们进行放气)。

答案 1 :(得分:0)

如果您安装了cURL,可能需要尝试curl_multi_init()。它将并行执行任意数量的请求,因此使用5或6个请求的页面不应该比仅使用1或2的请求慢得多,特别是如果您安排代码在脚本中尽早启动这些请求尽可能。

话虽如此,显然还是比根本不执行任何远程请求更糟糕。