腾讯云 Serverless 部署应用耗时降低了 73% - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
scf10cent
V2EX    推广

腾讯云 Serverless 部署应用耗时降低了 73%

  •  
  •   scf10cent 2020-06-17 19:02:46 +08:00 1662 次点击
    这是一个创建于 1943 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在使用 Serverless Framework 部署 Next.js ,Egg.js 项目时,由于安装的依赖包过大,部署时压缩上传时间很长,可能出现上传超时、控制台卡死等问题。

    为此,Serverless 团队近期对部署做了一个性能优化,原来部署一个 Next.js 的 Demo 项目大约需要 55s 左右,而现在只需要 18s 的时间。

    下面我们一起看一下,优化前后部署方案哪些不同。

    一、部署性能对比

    本次提速主要做的是压缩上传性能的提升。优化后采用流式上传压缩,并直接在压缩包内注入组件代码,大大的提升了性能。选取三种不同大小的代码包进行测试,优化前后平均部署性能如下所示:

    | 代码包大小( MB ) | 优化前(秒) | 优化后(秒) | | ---------------- | ------------ | ------------ | | 111 MB | 55 s | 18 s | | 216 MB | 100 s | 38 s | | 418 MB | 185 s | 70 s |

    可见,部署的整体性能提升了将近 3 倍!对于一个轻量级别的网站或博客( 200 MB 左右),每次部署只需要 35s 左右的时间!

    二、CLI 控制台输出对比

    在 CLI 控制台输入 sls deploy 命令后,CLI 控制台状态的对比,如下图所示:

    优化前部署全流程仅有 deploying 状态,直到部署结束返回结果。优化后将部署流程的每一步实时反馈到控制台界面上,让用户更清晰的看到整个部署流程,也能方便定位问题(如本地网络问题导致上传失败)。

    本次部署性能的提升是不是让小伙伴们已经激动不已了呢?

    下面通过一个实例,我们来一起感受下三倍速性能优化带来的体验!

    体验 Next.js 部署实战

    1. 安装最新版本的 serverless

     npm install -g serverless 

    2. 本地创建一个 Next.js 项目并初始化

    npm init next-app serverless-next cd serverless-next 

    3. 配置 serverless.yml

     # serverless.yml component: nextjs # (必填) 组件名称,此处为 nextjs name: nextjsDemo # (必填) 实例名称 org: orgDemo # (可选) 用于记录组织信息,默认值为您的腾讯云账户 appid app: appDemo # (可选) 该 next.js 应用名称 stage: dev # (可选) 用于区分环境信息,默认值是 dev inputs: src: src: ./ exclude: - .env functionName: nextjsDemo region: ap-guangzhou runtime: Nodejs10.15 apigatewayConf: protocols: - http - https environment: release 

    4. 进入项目目录,构建静态资源

    npm run build 

    5. 部署到云端

    sls deploy 

    部署成功,如下图所示:

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3549 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 00:07 PVG 08:07 LAX 17:07 JFK 20:07
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86