xujingzhu
xujingzhu
  • 发布:2023-04-29 21:21
  • 更新:2023-05-05 11:09
  • 阅读:401

云数据库的RU、WU太大,有点不正常,跟数据库实际的数据量大小不匹配,怀疑你们计算方式有问题

分类:uniCloud

产品分类: uniCloud/阿里云

操作步骤:

直接看数据即可

预期结果:

云数据库的数据量应该更云数据库的WU能对得上

实际结果:

云数据库的数据量应该更云数据库的WU能对不上

bug描述:

云数据库的RU、WU太大,有点不正常,跟数据库实际的数据量大小不匹配,怀疑你们计算方式有问题

云数据库的WU连续一个月(其实不止一个月)达到15万WU,如果按照1WU = 1KB计算,那么数据库的数据量起码 150000 * 30 = 4500000KB,约等于4 GB

但是目前云数据库的数据量大小却只有800M,远远达不到这个量级,请问这是正常的吗??

能不能请官方给一个合理的解释

下列图1是3月份来每天的云数据库WU趋势图,基本上每天都能达到15万WU。图2是目前数据库的实际使用大小,跟计算量完全对不上

2023-04-29 21:21 负责人:无 分享
已邀请:
xujingzhu

xujingzhu (作者)

@DCloud_UNI_YRJ 麻烦官方的人能出来解释一下,是我的算法不对,还是你们uni统计的算法有问题

DCloud_uniCloud_VK

DCloud_uniCloud_VK

修改也算的,而修改并不会增加数据库容量,而且数据库里的容量是压缩后的。

目前真正的算法是这样的:

添加

let data = {  
  name: 'Ben'  
}  
let res = await collection.add(data)

上面的data变量 JSON.stringify(data);后的值的长度去计算KB容量,向上取整。

修改也一样

let data = {  
  name: 'Ben'  
}  

let res = await collection.update(data)

上面的data变量 JSON.stringify(data);后的值的长度去计算KB容量,向上取整。
(修改跟实际改了数据库多少数据没关系,只跟你传的data数据量有关。)

下面是非常重要的避坑指南:

之前有几个开发者是因为错误的配置了uni-id的配置导致WU暴涨,对方配置是这样的,把 tokenExpiresThreshold 配置的和tokenExpiresIn一样大,此时,会导致WU暴涨,原因如下:

由于 tokenExpiresThreshold >= tokenExpiresIn,导致每个请求都会新增一个token,当1个用户的token过多时,比如001用户数据库里有1000个token时,此时新增一个token需要消耗上千的WU(因为token是先取出来,判断有无过期,再添加,此时其实是添加了1001个token),而又因为 tokenExpiresThreshold >= tokenExpiresIn,导致每个请求都会消耗上千个WU
因此建议tokenExpiresThreshold < tokenExpiresIn/3

xujingzhu

xujingzhu (作者)

你好,感谢你的回复,但是目前我只是集成了uni统计,并未在上面做任何的功能的添加(包括自定义事件)
只是uni统计的话,应该也不存在说很频繁的修改吧,应该是插入的数据会比较多

xujingzhu

xujingzhu (作者)

我没有做过任何配置的修改,开通uni-clound也只是因为uni-stat2.0需要
我完全按照官方文档给的步骤开通的uni-clound,目前没有做任何修改
或者你能不能告诉我,怎么看是哪些地方使用的WU、RU呢?

DCloud_uniCloud_VK

DCloud_uniCloud_VK

私发我下你的空间id

DCloud_uniCloud_VK

DCloud_uniCloud_VK

你的空间请求次数蛮高的,每天都在10万次左右(主要集中在用户上报统计数据)这样一算,你的15万WU确实不够用了。

  • 哩哩啦啦

    我也是只用了统计 现在一天100w不够 只有选择升级配置这一条路吗

    2023-12-21 13:58

  • DCloud_uniCloud_VK

    回复 哩哩啦啦: 选择按量计费即可, 会比买套餐划算很多

    2023-12-25 11:28

要回复问题请先登录注册