惊魂一刻!被某讯云的计费系统吓得差点提桶跑路

2023-04-27 12:20:59 +08:00
 cy18

搞了个高并发的优化算法,自己机器上跑太慢了,发现某讯云的云函数还不错,每个地区都可以搞 500+的并发,同时开 5 个地区这不就是 2500 的并发了么,估算了下,总共两三百万 GBs 估计算法也就跑完了,免费配额 100 万,接下来单价 0.00011108 元 /GBs ,算下来也就一两百块钱,四舍五入等于不要钱!公司刚好有个腾讯云账号,还有几百块余额,直接拿来用,计划通!

折腾了一两天代码,然后开跑,嗯嗯,效果还不错,比自己机器上跑快多了,来来,让我看看资源使用量怎么样:

嗯?跑了几分钟资源使用量咋就红了?算法出问题了?被 DDoS 了?

嗯嗯??咋用了 2 亿多 GBs ,我靠,100 万 GBs 就要 100 多块钱,2 亿多岂不是要 20000 块钱了,不管结果没存下,先把算法停掉再说!呼,总算停下来了,来来,我算算花了多少钱。掏出计算器,0.00011108*200000000 ,8 个零,没错。我靠,22216 块钱??准备提桶跑路!

嗯嗯嗯???那个好像不是小数点,是逗号!!不是 2 亿多 GBs ,是 2621 亿 GBs ,我算算......0.00011108*262100000000=29114068......这......我还跑得掉么?

嗯嗯嗯嗯????我这撑死两千五的并发,几分钟怎么跑出来这么多的?被 DDoS 也跑不了这么多使用量!看来是计费系统的问题......吧?先把系统冻结了,问问客服啥情况。


那么问题来了,如果是计费系统的问题,我跑了一半的计算结果有的赔么?我的精神损失费有的赔么?

12409 次点击
所在节点    云计算
96 条回复
lookStupiToForce
2023-04-27 18:48:25 +08:00
笑死,这随便几分钟就两千九百万的速度,换我早就订机票了🤣🤣
OP 心态真好
xiaomoxian
2023-04-27 19:08:58 +08:00
换了我早就在外太空了
whileFalse
2023-04-27 19:34:11 +08:00
这玩意 cpu 和内存绑定的吧,开 64 兆内存 cpu 只有一丢丢
cy18
2023-04-27 19:41:24 +08:00
@whileFalse 实测了 64 跟 128 的运行时间差异到不了两倍,反正用不到这么多内存,64M 性价比更高。
whileFalse
2023-04-27 20:16:57 +08:00
@cy18 恩 里面下载数据的时间无论 64 还是 128 都差不多。
我的意思是你开这么点 cpu ,就算跑了很多实例,可能还不如一台高配台式机跑几个小时…

文档:
https://cloud.tencent.com/document/product/583/68734
cy18
2023-04-27 20:48:20 +08:00
@whileFalse
有效果,而且效果还很不错。
我在电脑上面跑,单核跑一个任务 1 秒左右,8 核 16 线程的机器上 10 分钟只能跑 800 个左右任务。做一次 100 多代,每代 800 个任务的迭代优化,基本要跑个通宵。
云函数上面跑,只跑一个任务的时候 3 秒多能跑完,开 2400 个线程发 https 请求并发 2400 个任务,跑一轮只要 40 秒左右,而且通过观察系统的 tcp 连接数量跟 cpu 占用率发现,大部分时间其实都是卡在本地 cpu 处理 https 请求上,如果优化下 https 处理效果应该会更好,不过现在的够用,就懒得折腾了。实际跑下来 1 个多小时就能跑完 100 轮左右的迭代,而且每代可以有 2400 个任务。
whileFalse
2023-04-27 20:52:23 +08:00
@cy18 咦,那可能是腾讯机器多,所以云函数实际上使用的 cpu 远超文档中说明的“0.1 个核心”?
你机器啥配置
cy18
2023-04-27 20:53:11 +08:00
@whileFalse 我还是走了些弯路,先折腾的云函数,之后才发现 python 有几个专门的分布式计算的库,可以通过 k8s 动态创建容器作计算,效果应该更好。想着云函数这个凑合也能用,就先用着了。
cy18
2023-04-27 20:54:49 +08:00
@whileFalse 3700x+32G
2400 任务并发,每个就按 0.1 核,其实也有 240 核了,比我这 8 核 16 线程强了 10 倍了。
whileFalse
2023-04-27 20:54:53 +08:00
而且你说单核 1 秒,那理论上 8 核应该 1 秒至少跑 8 个,一分钟 500 个,10 分钟 5000 个。实际上只跑了 800 个,是不是磁盘啥的瓶颈了。
cy18
2023-04-27 20:58:53 +08:00
@whileFalse 这么一算确实,不知道是不是哪里算错了,可能有其他什么瓶颈。我电脑上使用 process pool 跑的,按说应该能跑满,可能是跑久了 cpu 降频?
cy18
2023-04-27 22:07:24 +08:00
@whileFalse 重新看了下一两年前写的代码,前面说的问题规模有点问题,我把遗传算法筛选前的样本数量跟筛选后的样本数量搞混了。之前说的 800 跟 2400 是每轮筛选后的样本数量,筛选前的样本数量在代码里看不出来,懒得看了。
用同样的 800 规模重新测试了一下运行速度,本地差不多要 13 分钟一轮,并发跑一轮只要 30 秒左右,提升还是非常明显的。
leeraya
2023-04-28 11:23:47 +08:00
此时一位 tx 前端和 qa 正在被吊打
zmaplex
2023-04-28 12:10:45 +08:00
腾讯云 beta 云
OliverDD
2023-04-28 12:15:15 +08:00
笑死我了😆
cy18
2023-04-28 12:39:27 +08:00
@ywy12345 后台可以设置函数最长运行时间,时间到了应该就被 kill 掉了吧?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/935883

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX