我和我的团队正在创建一个可以使用地图的手机游戏。我们将json信息存储在多个文件中 - 每个文件代表地图上的一个图块。为了渲染地图,我们下载文件并处理它们以创建街道,建筑物等。 我想选择将磁贴文件下载到移动设备的最佳方式,但我没有可能在移动设备上进行此测试,因此我使用了浏览器和节点js脚本。
我使用了100KB的json文件。将其上载到S3存储桶和EC2存储上。我写了一些节点脚本来连接S3或EC2:
最后两个值之间的差异实际上是EC2实例从存储桶访问文件所添加的时间。从EC2向S3发出请求的原因是我知道AWS服务之间的连接非常快。
我做的另一项测试来自浏览器(Firefox):
我的问题是为什么从浏览器访问文件和通过Node脚本访问文件之间存在如此大的差异?
为了记录时间,我提出了10次请求,我做了平均次数。 在爱尔兰,EC2实例是微观的。水桶也位于爱尔兰。
答案 0 :(得分:0)
我提出了一些可能有助于你描述的线索。
缓存,当您使用脚本获取json数据时。缓存机制不起作用。在浏览器中,它将遵循缓存标头并可以从缓存中获取,从而降低速度。
GZip标头,我认为你不会启用gzip来压缩nodejs服务器中的数据。我不确定你是否在Apache上配置了这样的功能。想象一下100k的json文件,如果它被压缩,传输时间肯定会减少。
由于
答案 1 :(得分:0)
所以我认为这个问题没有多大意义,因为在刷新页面之后,时间更加平稳。