Web 应用中有 CPU 密集型计算应该怎么处理?

2019-04-03 11:16:16 +08:00
 coolair
我有一个 Web 应用,其中涉及到文件打包、图片处理等 CPU 密集型计算,我放在 celery 里面处理,但是,celery 执行 task 时,整个机器的 CPU 就飙升到 100%,哪怕是一个用户也是如此,有什么好的解决办法吗?
1633 次点击
所在节点    问与答
11 条回复
cxbeat
2019-04-03 13:13:22 +08:00
试试无服务器函数?
opengps
2019-04-03 13:20:54 +08:00
用负载均衡,多台机器工作,太合适了
coldear
2019-04-03 13:41:35 +08:00
AWS Lambda
hilbertz
2019-04-03 13:44:47 +08:00
你只有一个 vcpu 吗
gstqc
2019-04-03 13:46:52 +08:00
加机器
murmur
2019-04-03 14:07:03 +08:00
这是个什么东西
上一个兄弟是在前端跑音频编解码
coolair
2019-04-03 14:15:27 +08:00
@murmur 不是在前端,是把数据发到后台,后台跑,跑完返回给用户。
misaka19000
2019-04-03 14:15:59 +08:00
上 spark
murmur
2019-04-03 14:18:32 +08:00
@coolair 那也想知道需求 一般的图片水印、切割、转码、验证码都是 c 库,现在的 cpu 占不了多少资源
coolair
2019-04-03 14:24:30 +08:00
@murmur 我用的 pillow,50 张 1-2M 大小的图片执行 resize、paste、save 操作,在一台 1 核的 Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz 阿里云服务器上要五六分钟。
ferock
2019-04-03 14:28:22 +08:00
resize 比较耗 cpu

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

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

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

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

© 2021 V2EX