直接看数据即可
- 发布:2023-04-29 21:21
- 更新:2023-05-05 11:09
- 阅读:401
产品分类: uniCloud/阿里云
操作步骤:
预期结果:
云数据库的数据量应该更云数据库的WU能对得上
云数据库的数据量应该更云数据库的WU能对得上
实际结果:
云数据库的数据量应该更云数据库的WU能对不上
云数据库的数据量应该更云数据库的WU能对不上
bug描述:
云数据库的RU、WU太大,有点不正常,跟数据库实际的数据量大小不匹配,怀疑你们计算方式有问题
云数据库的WU连续一个月(其实不止一个月)达到15万WU,如果按照1WU = 1KB计算,那么数据库的数据量起码 150000 * 30 = 4500000KB,约等于4 GB
但是目前云数据库的数据量大小却只有800M,远远达不到这个量级,请问这是正常的吗??
能不能请官方给一个合理的解释
下列图1是3月份来每天的云数据库WU趋势图,基本上每天都能达到15万WU。图2是目前数据库的实际使用大小,跟计算量完全对不上
修改也算的,而修改并不会增加数据库容量,而且数据库里的容量是压缩后的。
目前真正的算法是这样的:
添加
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 (作者)
你好,感谢你的回复,但是目前我只是集成了uni统计,并未在上面做任何的功能的添加(包括自定义事件)
只是uni统计的话,应该也不存在说很频繁的修改吧,应该是插入的数据会比较多
xujingzhu (作者)
我没有做过任何配置的修改,开通uni-clound也只是因为uni-stat2.0需要
我完全按照官方文档给的步骤开通的uni-clound,目前没有做任何修改
或者你能不能告诉我,怎么看是哪些地方使用的WU、RU呢?