HI,
我有一个调用基本API URL的cron。输出是xml,所以我使用php的file_get_contents()
来获取要处理的数据。
我的问题是,xml的输出格式是否会影响从一台服务器到另一台服务器的传输时间? cron每十分钟运行一次,我不希望crons在某些时候重叠,因为数据处理是时间敏感的。
前:
<?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来说它似乎都是相同的(可能相隔几微秒)。有什么方法可以加快速度吗?
答案 0 :(得分:1)
如果你不削减你的XML输出长度本身,我看不到拥有大的加速。
剥离不必要的空格进行传输非常有用,因为它可能会降低传输速度。即使不是那种变态。你的xml越长,那里你有更多不必要的空格(解析xml是不必要的。只用于人类的可读性)你赢得的越多。如果你有一个很深的hirarchy和许多白色空间,使它可读,那么你将获得mutch。如果没有那么剥离不会降低mutch的传输速度。
我唯一能看到的方法就是生成更小的xml数据。
答案 1 :(得分:0)
也许你可以像gzip一样尝试压缩。
答案 2 :(得分:0)
使用gzip压缩您的网页。您可以通过mod_gzip(apache模块)执行此操作,或者如果您使用的是PHP,请在php.ini中设置zlib.output_compression = On。这会将您的纯文本内容压缩到其原始大小的20%。
此外,如果您担心绝对最小的可能数据而不是XML,则可以使用JSON将其发送出去。