V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
coolair
V2EX  ›  问与答

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

  •  
  •   coolair · 2019-04-03 11:16:16 +08:00 · 1625 次点击
    这是一个创建于 1843 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我有一个 Web 应用,其中涉及到文件打包、图片处理等 CPU 密集型计算,我放在 celery 里面处理,但是,celery 执行 task 时,整个机器的 CPU 就飙升到 100%,哪怕是一个用户也是如此,有什么好的解决办法吗?
    11 条回复    2019-04-03 14:28:22 +08:00
    cxbeat
        1
    cxbeat  
       2019-04-03 13:13:22 +08:00 via Android
    试试无服务器函数?
    opengps
        2
    opengps  
       2019-04-03 13:20:54 +08:00
    用负载均衡,多台机器工作,太合适了
    coldear
        3
    coldear  
       2019-04-03 13:41:35 +08:00
    AWS Lambda
    hilbertz
        4
    hilbertz  
       2019-04-03 13:44:47 +08:00
    你只有一个 vcpu 吗
    gstqc
        5
    gstqc  
       2019-04-03 13:46:52 +08:00 via Android
    加机器
    murmur
        6
    murmur  
       2019-04-03 14:07:03 +08:00
    这是个什么东西
    上一个兄弟是在前端跑音频编解码
    coolair
        7
    coolair  
    OP
       2019-04-03 14:15:27 +08:00
    @murmur 不是在前端,是把数据发到后台,后台跑,跑完返回给用户。
    misaka19000
        8
    misaka19000  
       2019-04-03 14:15:59 +08:00 via Android
    上 spark
    murmur
        9
    murmur  
       2019-04-03 14:18:32 +08:00
    @coolair 那也想知道需求 一般的图片水印、切割、转码、验证码都是 c 库,现在的 cpu 占不了多少资源
    coolair
        10
    coolair  
    OP
       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
        11
    ferock  
       2019-04-03 14:28:22 +08:00
    resize 比较耗 cpu
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1513 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 81ms · UTC 17:05 · PVG 01:05 · LAX 10:05 · JFK 13:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.