Getting Started
性能基准测试
RaisFast 在相同硬件上与 Payload、Strapi、WordPress 的性能对比基准测试。
所有基准测试在相同硬件上运行:2 vCPU、4 GB RAM VPS,单实例,SQLite (RaisFast) / PostgreSQL (Payload, Strapi) / MySQL (WordPress)。测试工具:wrk,100 并发连接,持续 30 秒。
吞吐量(读取)
GET /api/v1/posts?page=1&limit=20 — 最常见的 API 调用。
API 吞吐量(每秒请求数)
RaisFast ████████████████████████████████████████ 30,000+
Payload █████ 3,200
Strapi ████ 2,000
WordPress █ 500| CMS | 语言 | RPS | 对比 RaisFast |
|---|---|---|---|
| RaisFast | Rust | 30,000+ | 1x |
| Payload CMS | Node.js | 3,200 | 慢 9.4 倍 |
| Strapi | Node.js | 2,000 | 慢 15 倍 |
| WordPress | PHP | 500 | 慢 60 倍 |
延迟(读取)
GET /api/v1/posts/:id — 单条查询。
| CMS | P50 | P90 | P99 |
|---|---|---|---|
| RaisFast | 0.3 ms | 0.8 ms | 3 ms |
| Payload CMS | 5 ms | 18 ms | 45 ms |
| Strapi | 8 ms | 25 ms | 60 ms |
| WordPress | 30 ms | 100 ms | 250 ms+ |
写入性能
POST /api/v1/posts — 带认证的创建请求,JSON 请求体。
| CMS | RPS |
|---|---|
| RaisFast | 12,000+ |
| Payload CMS | 1,500 |
| Strapi | 800 |
| WordPress | 200 |
内存占用
| CMS | 空闲 | 负载下(1000 连接) |
|---|---|---|
| RaisFast | ~10 MB | ~30 MB |
| Payload CMS | ~200 MB | ~500 MB |
| Strapi | ~150 MB | ~400 MB |
| WordPress | ~80 MB | ~250 MB |
RaisFast 的内存占用是 Node.js 方案的 20-50 分之一。
冷启动
从进程启动到第一个成功的 HTTP 响应的时间。
| CMS | 启动时间 | 依赖 |
|---|---|---|
| RaisFast | < 0.5s | 0(单二进制) |
| WordPress | ~2s | Apache + PHP + MySQL |
| Payload CMS | ~3s | Node.js + PostgreSQL |
| Strapi | ~5s | Node.js + PostgreSQL |
并发扩展性
连接数从 1 到 1000 时的 RPS 变化:
RPS
30K ┤ ████████████ RaisFast
│ ██████
│ █████
│
3K ┤ █████████████████ Payload
│ ██████
│ █████
2K ┤ ████████████████████ Strapi
│ ██████
│
500┤ █ WordPress
└──┬──────┬──────┬──────┬──────┬──────┬────
1 10 50 100 500 1000 连接数RaisFast 吞吐量随连接数线性增长。Node.js CMS 因单线程事件循环和 GC 压力而遇到天花板。
为什么 RaisFast 更快
| 因素 | RaisFast (Rust) | Node.js CMS | PHP CMS |
|---|---|---|---|
| 无 GC | 零成本所有权,确定性回收 | Stop-the-world GC 停顿 | GC 停顿 |
| 异步 I/O | Tokio,真正的多核并行 | 单线程事件循环 | 阻塞 I/O |
| HTTP 框架 | Axum(零拷贝) | Express/Koa(额外开销) | Apache 模块 |
| 数据库驱动 | SQLx(异步,编译时检查) | ORM(查询构建器开销) | PDO/MySQLi |
| 序列化 | serde(零拷贝) | JSON.parse(大量内存分配) | json_encode |
| 内存布局 | 栈优先,缓存友好 | 堆优先,GC 压力大 | 堆优先 |
复现这些测试
所有基准测试脚本开源:
git clone https://github.com/RaisFast/raisfast.git
cd raisfast/benchmarks
./run-all.sh每个脚本在测试前会准备相同的测试数据(1,000 篇文章,含分类和标签)。
声明: 基准测试结果取决于硬件、数据量和配置。以上数据代表 2 vCPU / 4 GB VPS 上的典型结果。我们公开测试方法和脚本,确保完全透明和可复现。
