云函数上传到云端,访问数据库,连续多几次就出错了
- 发布:2021-08-31 08:50
- 更新:2023-04-19 15:46
- 阅读:2172
产品分类: uniCloud/App
操作步骤:
预期结果:
云函数上传到云端的云函数和数据库之间不应该有一层防火墙
云函数上传到云端的云函数和数据库之间不应该有一层防火墙
实际结果:
云函数上传到云端的云函数和数据库之间通信弱爆了,多几次就出错
云函数上传到云端的云函数和数据库之间通信弱爆了,多几次就出错
bug描述:
访问云函数所谓的并发真的太弱了现在。
因为防火墙的关系,云函数相当于每次访问数据库都用外网的接口https://api.bspapp.com/server
所以并发插入数据库太多时候,总会偶尔遇到errMsg: Response timeout for 10000ms, POST https://api.bspapp.com/server -1的错误
我认为,客户没有直接访问数据库诸如clientDB,可以用外网的接口https://api.bspapp.com/server 防爬虫 DDOS之类的
云函数本身访问数据库能不能不要用这种外网的https接口?并发量一上来肯定全是报错
8 个回复
最佳回复
DCloud_uniCloud_WYQ
此问题出现一般有两种情况。
一般有正常业务的空间,不会遇到情况2
赵登云 - 小菜鸟
我也遇到这个问题了:Error: Response timeout for 10000ms, POST https://api-inner.next.bspapp.com/server -1 (connected: true, keepalive socket: false, socketHandledRequests: 1, socketHandledResponses: 0)
headers: {}
at e.$scope.function.invoke.then.catch.e (/tmp/function/@dcloudio/serverless/lib/aliyun/uni-cloud.js:1:51256)
at <anonymous>
请求响应状态: fail
DCloud_uniCloud_WYQ
一般需要访问数据库的,或者请求其他网站数据的场景,并发数不要设置太高。会受云函数网络限制
吴克 (作者)
用户一多,会不会也报这个?
2021-08-31 12:54
DCloud_uniCloud_WYQ
回复 吴克: 单实例并发度设置小一些或者直接用1就行
2021-09-01 13:15
吴克 (作者)
回复 DCloud_uniCloud_WYQ: 10000 millisecond超时这个问题不仅仅存在于客户端中,在开发中也存在:比如项目刚开始上传所有schema的时候总会中断,不得不多几次上传才行
04:55:40.135 [阿里云:bigfile]上传数据集合Schema(uni-id-users.schema.json) cURL error 28: Operation timed out after 10000 milliseconds with 0 bytes received (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)
04:55:40.165 [阿里云:bigfile]上传所有数据集合Schema和数据库扩展校验函数(uni-id-users.schema.json)被取消
2021-09-02 04:58
DCloud_uniCloud_WYQ
回复 吴克: 你用的什么地区的哪个运营商的网络?
2021-09-02 14:56
吴克 (作者)
回复 DCloud_uniCloud_WYQ: 本身是上海电信,阿里云。这个和地区没多大关系,只要是你们开发unicloud的同学肯定能遇到,比如你们官方的uni-admin项目,你狂点菜单管理试试,一定会出现:
15:03:51.226 [本地调试]"收到clientDB请求:表名:acollection"
15:03:51.732 [本地调试]"收到clientDB请求:表名:acollection,返回数据:" {"code":0,"message":"","systemInfo":Array(0),"affectedDocs":10,"data":Array(10)}
15:03:55.084 [本地调试]"收到clientDB请求:表名:opendb-admin-menus"
15:03:55.229 [本地调试]"收到clientDB请求:表名:opendb-admin-menus"
15:03:55.404 [本地调试]"收到clientDB请求:表名:opendb-admin-menus"
15:03:55.555 [本地调试]"收到clientDB请求:表名:opendb-admin-menus,返回数据:" {"code":0,"message":"","systemInfo":Array(0),"affectedDocs":9,"data":Array(9)}
15:03:55.596 [本地调试]"收到clientDB请求:表名:opendb-admin-menus"
15:03:56.008 [本地调试]"收到clientDB请求:表名:opendb-admin-menus,返回数据:" {"code":0,"message":"","systemInfo":Array(0),"affectedDocs":9,"data":Array(9)}
15:03:56.021 [本地调试]"收到clientDB请求:表名:opendb-admin-menus"
15:03:56.442 [本地调试]"收到clientDB请求:表名:opendb-admin-menus,返回数据:" {"code":0,"message":"","systemInfo":Array(0),"affectedDocs":9,"data":Array(9)}
15:03:56.448 [本地调试]"收到clientDB请求:表名:opendb-admin-menus"
15:03:56.588 [本地调试]"SYSTEM_ERROR: errCode: | errMsg: Response timeout for 10000ms, POST https://api.bspapp.com/server -1 (connected: true, keepalive socket: false, socketHandledRequests: 1, socketHandledResponses: 0)\nheaders: {}"
2021-09-04 15:04
DCloud_uniCloud_WYQ
回复 吴克: 我们联系阿里排查下,近期阿里云完成了数据库迁移,看下情况有没有好转
2021-09-06 11:11
吴克 (作者)
回复 DCloud_uniCloud_WYQ: 这个问题很久了,论坛也不止我一个人反应,你们自己开发也一定能遇到,不知道为啥拖了这么久。
2021-09-08 22:38
DCloud_uniCloud_WYQ
回复 吴克: 这个只跟你本地网络和阿里云服务器通讯有关,如果是偶发大概率是本地网络不稳定导致的
2021-09-09 11:44
DCloud_uniCloud_WYQ
回复 吴克: 下载schema不会连阿里的服务器是从DCloud服务器下载的,我怀疑你本地网络确实有问题
2021-09-09 15:21
h***@qq.com
这个问题,到现在官方都还未解决~
找不到解决办法!
DCloud_UNI_WYQ 这个人回答的是啥??
官方能找个懂技术的来解决吗?
k***@163.com - 伟
一年了,这问题还是没人管。有这个问题东西完全没法用啊
DCloud_uniCloud_WYQ
一般是长时间没人访问的服务空间本地运行时会遇到这个问题,后续阿里云会进行优化
2022-10-10 11:16
1***@qq.com
开发环境时,可以把“连接本地云函数”改为“连接云端云函数”,我改后就正常了。
吴克 (作者)
我怀疑dcloud这家公司回答问题的这几个人是不是真的在用自家的hbuilder开发,回答的都莫名其妙那么多人都是本地自己的问题是吧。不止这个问题,有时候问题回答还不如社区其他用户回答的。
k***@163.com
一直都有这样的问题。
我想在发生错误的时候显示一个modal提示框显示错误信息,结果多次点击提交(譬如用户登录或者提交数据操作),第一次没反应,然后点击第二第三次,随后就会弹窗提示一大堆的超时信息。
这样的超时提示能不能给个比较好的处理办法?
不过我的是连接本地云函数调试。不知道云端会不会有这样的报错
赵登云
你是阿里云还是腾讯云?我用的阿里云这个问题出现频率挺高的
2023-05-15 23:22
k***@163.com
回复 赵登云: 我的也是阿里云
2023-05-27 23:20