V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jlak
V2EX  ›  分享发现

无对比无伤害,容器下测试 wp 和 next.js

  •  
  •   jlak · 2023-09-16 18:45:13 +08:00 via iPhone · 1399 次点击
    这是一个创建于 438 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一直很在意这两者之间的性能差异
    今天粗略测试了下他们之间的差距
    非专业测试有可能会因其他因素影响

    服务器是局域网内的 n100@16G
    wp 是官方镜像+官方 mysql 镜像
    安装完直接用默认主题
    初始内存占用 192M

    next.js 这边是 op 自己网站用官方 Dockerfile 构建
    初始内存占用 79M

    用 locust 局域网测压首页 在 300 在线压力下
    wp 内存 600M CPU 占用 100% rps 66 响应时间已经爆炸
    next.js 内存 200M CPU 占用 60%+ rps900+ 响应时间 300ms+

    在 30 在线压力下
    wp 内存 409M CPU 占用 100% rps68 响应时间 450ms
    next.js 内存 182 CPU 占用 50%~ 60% rps 581 响应时间 51ms
    第 1 条附言  ·  2023-09-16 19:34:45 +08:00
    wp 开启缓存后性能有了质的飞跃 300 用户 内存 350M CPU 占用 80% rps 1800 左右 响应时间 133ms
    第 2 条附言  ·  2023-09-20 04:44:09 +08:00
    生成环境下+CDN
    wp+缓存 60rps
    next.js SSR 300rps
    第 3 条附言  ·  2023-09-21 02:08:55 +08:00
    Next.js 13.5.2 性能提升非常大
    初始内存 71MB 降到 31MB ,同样在 300 在线压力下
    next.js 内存 200M 降到 112MB
    CPU 占用 60%+降到 40%
    rps900+提升到 1300
    8 条回复    2023-09-18 23:58:38 +08:00
    Leviathann
        1
    Leviathann  
       2023-09-16 19:00:01 +08:00
    wp 是什么
    jlak
        2
    jlak  
    OP
       2023-09-16 19:11:02 +08:00 via iPhone
    @Leviathann Wordpress
    ragnaroks
        3
    ragnaroks  
       2023-09-18 11:51:06 +08:00
    nextjs 容器( pod ?)内包含 mysqld 吗?一般来说 nextjs SSR 单个实例不会超过 40M 。
    jlak
        4
    jlak  
    OP
       2023-09-18 13:44:21 +08:00 via iPhone
    @ragnaroks 不是 k8s 也不包含 mysqld ,用的这个 Dockerfile https://github.com/vercel/next.js/blob/canary/examples/with-docker/Dockerfile
    请问下 40MB 是怎么弄的?
    ragnaroks
        5
    ragnaroks  
       2023-09-18 21:13:54 +08:00
    @jlak 就是普通的 npm run build && npm run start ,点我头像进我网站可测速,我的容器甚至只给了 64M hard limit
    ragnaroks
        6
    ragnaroks  
       2023-09-18 21:15:09 +08:00
    @jlak 唯一有点不同的就是我是 ISG 增量生成,但理论上和 SSR 在峰值资源占用上没有差别
    jlak
        7
    jlak  
    OP
       2023-09-18 23:50:09 +08:00 via iPhone
    @ragnaroks pod 不需要 Dockerfile 吗?还是说直接运行实例?
    才发现还有 ISR 这个好东西,不过 App router 里好像是混合在 ssr 里
    jlak
        8
    jlak  
    OP
       2023-09-18 23:58:38 +08:00 via iPhone
    刚用 create-next-app 开了个新项目直接打包,容器占 71MB 内存
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3003 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:47 · PVG 22:47 · LAX 06:47 · JFK 09:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.