php - 如何优化我的 xml 输出以缩短数据传输时间?

标签 php mysql xml cron data-transfer

你好,

我有一个调用基本 API URL 的 cron。输出是 xml,所以我使用 php 的 file_get_contents() 来获取要处理的数据。

我的问题是,xml 的输出格式是否会影响从一台服务器到另一台服务器的传输时间? cron 每十分钟运行一次,我不希望 cron 在某些时候重叠,因为数据处理对时间很敏感。

例如:

<?xml version="1.0"?><api><data>sometext here</data></api><!-- As one line -->

<?xml version="1.0"?>
<api>
   <data>sometext here</data>
</api>   <!-- As multiple lines -->

请注意,这只是一个 xml 示例,我的数据使 xml 输出 2000+ 行长。

我已经对其进行了测试,它似乎对于任何类型的 xml 都是相同的(可能相差几微秒)。有什么办法可以加快速度吗?

最佳答案

如果你不削减你的 XML 输出长度本身,我看不出有很大的加速的可能性。

为传输去除不必要的空格非常有用,因为它会降低传输速度。即使不是那么多。您的 xml 越长,那里的不必要空格越多(解析 xml 时不必要。仅用于人类可读性),您获胜的机会就越大。如果你有一个很深的层次结构和许多空白以使其可读,那么你将获得更多。如果不是,则剥离不会降低传输速度那么多。

我认为的唯一方法是生成较小的 xml 数据。

关于php - 如何优化我的 xml 输出以缩短数据传输时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4049809/

相关文章:

php - 服务的动态表单输入

php - Redbean O/RM 将 "date"存储为 varchar(255)?

带有文本输入和图像 uploader 的 php 表单

mysql - 什么限制了 PHP 在超时前执行的 SQL 语句的数量?

mysql - SQL 查询多次检索同一行

mysql - 与多个值进行比较时如何返回多行?

xml - 在 Bash 脚本中转义单引号 xmllint xpath 查询

php - Zend_Db : fetchAll() or query()/fetch() for a huge number of records

c# - Define() (PHP) 替代 ASP.NET (C#)

xml - 带逗号的 XSLT 格式数字