Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php simplexml_load_file()速度系数_Php_Performance_Simplexml - Fatal编程技术网

Php simplexml_load_file()速度系数

Php simplexml_load_file()速度系数,php,performance,simplexml,Php,Performance,Simplexml,我正在开发一个web应用程序,其中每个用户都有多个非本地XML文件,通过SimpleXML下载和解析每个页面(重新加载)。每个请求平均只需要不到一秒钟的时间,但是对于超过五六个文件(很可能),加载时间非常明显。所以我的问题是什么因素会影响函数的速度,有什么我可以控制和加速的因素吗 至于纯粹提高效率,检查上次更新时间的http头是不准确的,我认为cron jobs不会给出我希望得到的“实时”结果 那么,这些因素主要是在我访问它们的服务器上,还是在我这边?是函数本身吗?显然,文件的大小会影响速度。有

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

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


那么,这些因素主要是在我访问它们的服务器上,还是在我这边?是函数本身吗?显然,文件的大小会影响速度。有没有办法在下载之前对其进行压缩,从而加快下载速度?

您让它们完全处于活动状态的原因是什么?你能每15分钟更新一次吗

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

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

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


话虽如此,显然,这比不执行任何远程请求要糟糕得多。

这并不是绝对必要的,我可能不得不放弃,但如果我能在合理的时间内获得这些请求,我宁愿不这样做。你能给我发一个链接,让我可以通过php了解更多关于Cron的信息吗?@iMaster它们的设置非常简单。我只是想,结果似乎已经足够好了,可以开始了。显然,我不能编辑我自己的评论,但我添加了gzip的东西(谢谢),没有看到太多的改进,我想有些网站只是没有gzip他们的文件。@iMaster是的,不幸的是有些没有。这可能会节省一点时间,因为XML重复了很多东西。他们的服务是否提供JSON格式的提要?它更加轻量级,PHP内置了
json\u decode()
。我可能会像你建议的那样使用cron作业,正如你两次建议的那样。