strata-5090-max-config/hero.jpg" alt="RTX 5090 拉满 Strata 125B:149 tok/s 与 1M 上下文">

RTX 5090 32GB 是 Strata 125B 的完全体:decode 拉满 149 tok/s,prefill 冲到 6,004 tok/s,还能开 1M 上下文跑 agent。但"能跑满"和"真跑满"之间隔着一组参数——prefill auto:32768 能让 prefill 快 21-35%,conversation-cache 能让追问快 10-20 倍。这篇文章把 5090 的完整调优配置和三个加速开关讲清楚。

基线:5090 能跑多快

三组独立实测(Qwen3.8-Flash-Next,32GB 显存 + 96-128GB RAM):

场景 配置 decode prefill
262K 全窗口 IQ3_S,9950X3D + 96GB 125-149 tok/s 999 / 2,439 / 5,045 / 6,004 tok/s(@1K/4K/32K/128K)
1M 上下文 IQ3_S + YaRN,7950X + 122GB 94-105(思考)/ 71-87(greedy) 2,500 / 3,300 / 3,400 / 3,000 tok/s(@4K/32K/128K/512K)
285K CPU 档 IQ2_XS,64GB RAM 165-179 tok/s —

MTP 投机解码 draft 接受率 75-76%——这是 decode 能稳定在 125 以上的核心。

加速开关一:--prefill auto:32768(+21% ~ +35%)

默认 --prefill auto 不是最优。改成 auto:32768 后:

量化越大收益越大:IQ3_S 比 IQ2_XS 多拿几个百分点,因为专家块更大、分块预填的流水线收益更明显。decode 不受影响,所以这个开关几乎没有代价,5090 上应该默认打开。

加速开关二:conversation-cache(追问快 10-20 倍)

5090 + 96GB 机器上开了 32GiB / 8 slots 的对话缓存:

对 agent 场景是质变:多轮工具调用、长会话续接,不用每轮重读几万 token 的上下文。内存够(96GB+)就开,32GB RAM 机器别开(挤占专家池)。

加速开关三:--kv-resident + --vram-reserve

完整配置(5090 + 9950X3D + 96GB,262K 全窗口)

--expert-cache auto
--prefill auto:32768
--spec 4 --spec-min-p 0.70 --mtp rt
--max-context 262144
--kv int8 --kv-resident 65536
--vram-reserve-mib 100
--pcie-frac 0.35
--conversation-cache-mib 32768 --conversation-cache-slots 8

专家缓存实测 12,439 slots / 23.61 GiB。MTP draft 接受率 75-76%。

版本坑:0.1.32-0.1.34 比 0.1.31 慢 4-10%

5090 + 5950X(AVX2)的跨版本测试发现:全专家在内存时,0.1.32 到 0.1.34 读 prompt 比 0.1.31 慢 4-10%(stager 默认值变更导致)。用旧 stager 值能拉回 2% 以内:

STRATA_STAGER_THREADS=4 STRATA_STAGER_RING=16

如果你从 0.1.31 升级到 0.1.34 后发现变慢,先试这两个环境变量。另外注意:40GB RAM 预算在 96GB 机器上复现不了 64GB 机器的 SSD 读取表现——RAM 大小影响文件层行为,别跨内存规格对比数据。

一个调度问题要留意

5090 跑 1M agent 会话同时做基准测试时发现:一个 in-flight 的 200K+ prefill 会阻塞所有其他客户端最多 ~60 秒(串行调度)。单用户自用无感,但如果你拿 5090 当多人服务,长 prefill 期间其他请求要排队。

数据出处

本文数据来自 Strata 官方仓库(github.com/Niko1221/Strata)社区 benchmark issue:262K 全窗口 + conversation-cache 实测 #440、1M 上下文 YaRN 实测 #466、跨版本 stager 回归 #433、285K CPU 档 #233。