跳轉到

加速器效能報告

本頁提供 NextPDF 加速器引擎的效能基準測試資料。所有數據均以可重現的方式收集,並附有完整的測試方法論說明。

注意:以下所有效能數據為佔位符,將在正式基準測試完成後填入實際量測值。


測試方法論

測試環境

項目 規格
CPU
記憶體
儲存
作業系統
PHP 版本 PHP 8.5.x
Spectrum 版本
測試工具 PHPBench + wrk2 + criterion (Rust)

測試資料集

資料集 說明 規格
small-text 純文字 PDF,10 頁
medium-mixed 文字 + 圖表混合,50 頁
large-images 高解析度影像為主,100 頁
enterprise-batch 1,000 份 small-text 批次
cjk-font-heavy CJK 文字為主,使用 3 種 CJK 字型

統計方法

  • 每個測試執行 1,000 次(Warm-up 100 次後排除)
  • 報告 P50(中位數)、P95、P99 延遲
  • 吞吐量以 req/s 表示(持續 60 秒壓力測試)
  • 記憶體數據為 RSS 峰值

字型子集化(Font Subsetting)

Spectrum vs PHP 原生實作

字型類型 字型大小 PHP 原生 P50 Spectrum P50 加速倍率
Latin(Helvetica)
CJK(Noto Sans CJK)
CJK 大型(Source Han Sans)

延遲分佈(Spectrum)


影像壓縮(Image Compression)

JPEG 壓縮

影像尺寸 原始大小 PHP GD P50 Spectrum P50 加速倍率
800×600
1920×1080
4096×4096

WebP 轉換


文件生成吞吐量

單一文件生成

文件類型 頁數 PHP Only (P50) +Spectrum (P50) 提升
small-text 10
medium-mixed 50
large-images 100

批次生成(Prisma Pro)

並行 Worker 數 批次大小 總耗時 吞吐量(docs/s) 記憶體峰值
1 1,000
4 1,000
8 1,000
16 1,000

PDF 解析(Prisma Pro)

/v1/parse 端點延遲

文件大小 P50 P95 P99 最大值
100KB(10 頁)
1MB(50 頁)
10MB(200 頁)
50MB(500 頁)

RAG 管線(Prisma Enterprise)

分塊(Chunking)效能

向量嵌入(Embedding)吞吐量

批次大小 P50 延遲 吞吐量(tokens/s)
1 chunk
16 chunks
64 chunks

端對端 RAG 索引管線


Mode A vs Mode B 延遲對比

操作 Mode A(Unix Socket) Mode B(本地 TCP) Mode B(跨機 TCP)
字型子集化(小型)
影像壓縮(1080p)
PDF 解析(1MB)

資源消耗

記憶體使用

CPU 使用率


效能調校建議

基於基準測試結果,以下是提升效能的關鍵設定建議:

  1. Worker 數量:設定為 CPU 核心數 × 1.5(I/O 密集型字型操作),或等於核心數(CPU 密集型影像壓縮)
  2. Socket 緩衝區:增大 Unix Socket 緩衝區至 256KB:sysctl -w net.core.rmem_max=262144
  3. 系統透明大頁:關閉 THP 以降低記憶體延遲:echo never > /sys/kernel/mm/transparent_hugepage/enabled
  4. CPU 親和性:將 Spectrum 程序綁定至特定 CPU 核心組以降低 L3 快取遺漏

參見