官网的qiniu-js-sdk 使用Node.js 作为服务器端要比PHP作为服务器端的上传速度快不止10倍??

如题:
因为我的项目是用PHP开发的,希望把qiniu-js-sdk 整合到 程序中来,所以把官方的sdk中的上传部分代码抽离出来,用在项目中。

问题来了,在没有对上传的代码做任何修改的情况下,把它整合到项目中来的后。 在同一款浏览器即IE10下,上传文件的速度就差别很远,不知道如何解释这种情况。

说明:
1、我认为qiniu-js-sdk 中的node.js的作用是它能成为一个服务端;
2、七牛本身提供的模块:node_modules/qiniu 在sdk中起的作用,应该只是生成token而已。既然只是生成token,那么对上传时没有任何影响,更不会影响速度了;(这里我只是用php来生成token)

问题:
1、我这样把sdk中的上传部分js相关文件,移植到我的php项目中来,是否存在不妥?
2、为什么用nodejs 搭配这个js-sdk速度就如此快呢?而用php搭配js-sdk却这么慢?? 非常想知道


有图有真相:

图片描述

图1:当js-sdk搭配nodejs,上传文件时的截图

图片描述

图2:当js-sdk 搭配php时,上传文件时的截图

阅读 6.5k
3 个回答

服务端都只是生成个token而已,而且前端都是用的plupload直接上传的,所以上传的速度和后端用的什么sdk是没有太大的关系,你尝试一下两个项目同时开着,看下上传速度的对比呢。

再给你看看传输截图了:在IE 10 中,同时打开两个页面:

第一个是nodejs搭配js-sdk的截图:
图片描述

第二个图片是php搭配js-sdk的截图:
图片描述



刚刚测试过了,用直传不用plupload上传,效果和上面是完全一样的,我说的是上传速度,下面给个截图看看,nodejs作为服务器速度飞快,当然也只是局限于IE10浏览器,谷歌和火狐无论是谁做服务端速度都是低速。

上传的文件都是7.1MB大小的文件,用nodejs作为服务端直传用时为:2.55秒, 见下图:
图片描述
图1:摘要
图片描述
图2:详情


用php作为服务端直传用时为:65.73秒,见下图:
图片描述
图3:摘要
图片描述
图4:详情

这个和php-sdk、nodejs-sdk没有关系。估计是你之前有上传同一个文件,但并未上传成功,本地存储了进度信息,换个SDK后,再次上传同样的文件,断点续上传,显示速度会快很多。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进