5***@qq.com
5***@qq.com
  • 发布:2024-04-13 08:08
  • 更新:2024-04-15 17:37
  • 阅读:76

【报Bug】用云对象查询,总共才4条数据,却要花费400多毫秒

分类:uniCloud

产品分类: uniCloud/App

操作步骤:

云对象文件 cloudfunctions>cat>index.obj.js

const db = uniCloud.databaseForJQL()  
module.exports = {  
    async get() {  
        const res = await db.collection('categories').get()  
        return res  
    }  
}

请求云对象的代码

const catCloudObj = uniCloud.importObject('cat')  
onLoad(async () => {  
    const res = await catCloudObj.get()  
    console.log('测试:', res)  
})  

预期结果:

因为我是照着一个后台管理的网站临摹,它的网络请求是用的传统服务器。从控制台发现它的请求分类的接口,每次都是30多毫秒。我用的是unicloud,想着就算慢一点也顶多就是100毫秒吧。

实际结果:

可我用unicloud却要花费400多毫秒。我还只是请求数据库里总共的4条数据。虽然改成连接云端云函数后速度提升了一些,可还是要花300毫秒左右。

bug描述:

现在提交bug的这次请求,用clientDB和云对象分别进行了测试,在云对象中又分别使用了 uniCloud.database()和uniCloud.databaseForJQL()进行测试,通过浏览器的开发者工具发现每次请求都要花费400多毫秒。

虽然官方文档上有说到冷启动的问题,我这种情况肯定不属于,因为我一直在不断地刷新重复请求。
我在云对象里也没有写任何拦截相关的代码。
请求的数据表中总共只有4条数据。

然后我又将云对象部署到云端进行测试,发现速度略有提升,平均在276秒左右

2024-04-13 08:08 负责人:无 分享
已邀请:
DCloud_uniCloud_VK

DCloud_uniCloud_VK

试试用支付宝云 + 云端测试, 会比腾讯云和阿里云快, 然后编译到微信小程序或app体验, 会更快

DCloud_uniCloud_VK

DCloud_uniCloud_VK

2024年1月9日测试结果,连接云端请求时

请求一次空函数的耗时大概为:

阿里云 H5 300ms左右 小程序和APP 200ms左右
支付宝 H5 150ms左右 小程序和APP 100ms左右(自身网络好的情况下会低于100ms)

H5之所以会比小程序和APP慢是因为H5的发POST请求前会先执行OPTIONS请求跨域预检查(等于多发了一个空的请求)

  • 5***@qq.com (作者)

    原来如此。早知道支付宝云是最快的,我还用啥阿里云。 感谢回答。

    2024-04-15 23:01

要回复问题请先登录注册