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

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

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

下面咱们一块儿看一下,优化先后部署方案哪些不一样。express

1、部署性能对比

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

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

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

2、CLI 控制台输出对比

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

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

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

下面经过一个实例,咱们来一块儿感觉下三倍速性能优化带来的体验!网络

体验 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

部署成功,以下图所示:架构

Serverless Framework 30 天试用计划

咱们诚邀您来体验最便捷的 Serverless 开发和部署方式。在试用期内,相关联的产品及服务均提供免费资源和专业的技术支持,帮助您的业务快速、便捷地实现 Serverless!

详情可查阅:Serverless Framework 试用计划

One More Thing

3 秒你能作什么?喝一口水,看一封邮件,仍是 —— 部署一个完整的 Serverless 应用?

复制连接至 PC 浏览器访问:https://serverless.cloud.tencent.com/deploy/express

3 秒极速部署,当即体验史上最快的 Serverless HTTP 实战开发!

传送门:

欢迎访问:Serverless 中文网,您能够在 最佳实践 里体验更多关于 Serverless 应用的开发!


推荐阅读:《Serverless 架构:从原理、设计到项目实战》

相关文章
相关标签/搜索