gakaki / ssr_svelte_benchmarks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ssr_svelte_benchmarks [进行中]

项目简介

本地与云端的serverless JS Runtime 环境 + Svelte SSR 的性能测试: Demo华尔街见闻首页(80%的页面内容)

README.mp4

演示地址

目录结构

├── app.yaml                      # 云函数配置
├── crawler_wallstreetcn          # go爬虫程序API
├── package.json
├── src                           # sveltekit
│   ├── app.css
│   ├── app.html
│   ├── lib
│   │   ├── redis.ts
│   │   └── type.ts
│   └── routes     
│       ├── +layout.svelte          # 布局
│       ├── +page.server.ts         
│       ├── +page.svelte
├── svelte.config.js
├── vite.config.js
└── wasmer.toml

数据来源

crawler_wallstreetcn 该目录为Golang编写的爬虫程序,华尔街见闻首页的数据API,包括最新文章,快讯、股票上证指数、大师课等.存储到Redis中用以缓存数据

测试脚本

wrk -t12 -c400 -d10s http://127.0.0.1:3000

云端环境 数据

Cloud (点击跳转演示) Request/10S 备注
Vercel 3522 科学上网
Netlify 233 稳定,会被ban一会儿,压测有防火墙导致数据异常
Cloudflare Page 580 还挺稳定,每日限请求数,直接访问
Cloudflare Worker 522 科学上网, 和Pages数据差不多
AWS Lambda 待续 测试AWS LLRT 低延迟QuickJS 需要付费
Deno Deploy 待续 待测试本地报错 adpater deno
阿里云FC函数计算 待续 计划
Wasmer(Winter.js) 待续 例子为静态文件生成不具有对比性

本地测试环境 数据

MacBook Air M1 2020 16G 256G

外网服务器测试脚本:

JS Runtime 演示地址 Request/10S 备注内容
Node Runtime 455 V8引擎
Bun Runtime 352.84 zig+safafri js core 没有传言的快啊 v8 jit的关系
Wasmer Runtime WinterJS,Rust+SpiderMonkey(Firefox的JS引擎)
Deno Runtime 运行报错
GraalVM_JS Runtime 尚未测试,把JS编译为bytecode二进制
Aws LLRT Runtime 本地运行报错,亚马逊 AWS 的 QuickJS低延迟启动特性 版本,启动快,
ssr-rs 听说性能2~3倍Node方案 待续 Rust+V8 SSR 直出

Webp avif格式可以减少图片大小到 70%

原图jpeg格式 21.9kb

webp格式 15.4kb 可在七牛云里打开 avif webp 自适应,可自动检测手机浏览器自动转换无需追加url

CanIUse兼容性良好

avif格式报错 预计可以到55% 65%

{"error":"The output format is avif, please use pfop or workflow service"}

About

License:MIT License


Languages

Language:TypeScript 73.0%Language:Svelte 14.2%Language:Go 7.8%Language:CSS 4.1%Language:JavaScript 0.8%Language:HTML 0.2%