1

你好,

我有一个调用基本 API URL 的 cron。输出是 xml,所以我使用 phpfile_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,它似乎都是相同的(可能相隔几微秒)。有什么办法可以加快速度吗?

4

3 回答 3

1

如果您不削减您的 XML 输出长度本身,我看不到大幅加速的可能性。

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

我会看到的唯一方法是生成更小的 xml 数据。

于 2010-10-29T09:46:51.513 回答
0

也许你可以尝试像 gzip 这样的压缩。

于 2010-10-29T09:49:42.680 回答
0

使用 gzip 压缩您的页面。您可以通过 mod_gzip(apache 模块)来执行此操作,或者如果您使用的是 PHP,请在 php.ini 中设置 zlib.output_compression = On。这会将您的纯文本内容压缩到其原始大小的 20% 左右。

此外,如果您关心绝对最小的数据,而不是 XML,您可以使用 JSON 将其发送出去。

于 2010-10-29T13:03:56.023 回答