Chuyển đến nội dung

Cách chúng tôi đo

Mọi số liệu đo được trên trang này đều được đo trên máy chủ vật lý, với bộ xử lý mà các máy chủ production của chúng tôi dùng: ngủ, thức dậy và snapshot, cùng benchmark CPU. Dưới đây là từng số liệu, kèm máy, ngày đo, cách đo và nơi lưu kết quả thô.

Ngủ, thức dậy và snapshot

Máy
Cherry Servers, Singapore: AMD Ryzen 9 9950X (Zen 5, 16 nhân), 128 GB, Ubuntu 26.04.1, kernel 7.0.0-34
Ngày
3 tháng 10, 2026
Sandbox
Sandbox 4 vCPU / 8 GiB, node:24-bookworm
Node
sandboxd với các thiết lập mặc định của ngày đó: Firecracker đã vá, bộ nhớ hai lớp, một tiến trình chờ sẵn cho mỗi sandbox đang ngủ, thiết bị trên PCI
Phía gọi
trên cùng máy, qua một kết nối được giữ mở, nên con số là của chính yêu cầu chứ không phải của bước bắt tay
Hạng mụcCách đo thời gianTrung vịp95Số lần chạyNguồn
Chuyển sang ngủPOST …/sleep, như phía gọi đo được2.3 ms2.8 ms30wake.txt cycle sleep
Thức dậy, sau khi tự ngủthời gian khôi phục do chính node đếm (header Server-Timing của nó), cho lần gọi tiếp theo3.5 ms3.9 ms29wake.txt auto wake
Lần gọi đó, đến khi được trả lờitoàn bộ yêu cầu đã đánh thức nó, từ lúc gửi đến lúc được trả lời6.7 ms7.1 ms29wake.txt auto call
Thức dậy, ngay sau khi ngủtiến trình chờ sẵn cho lần thức dậy tiếp theo vẫn đang khởi động, nên phải chờ5.6 ms6.3 ms30wake.txt cycle wake
Snapshot của một sandbox đang chạyqua API: bộ nhớ, tiến trình và đĩa, trong khi nó đang chạy32 ms—4snapshot.txt 31.5 to 31.9 ms
Tạo, từ nhóm chờ sẵnmột bản sao của bản mẫu đang chạy sẵn1.3 ms—100tti-sequential.txt create median
Tạo, đến khi lệnh đầu tiên được trả lờilần lượt, một trăm lần11.0 ms12.0 ms100tti-sequential.txt sequential x100
30 cùng lúc: tất cả đều ngủba mươi sandbox chuyển sang ngủ cùng lúc, tính đến sandbox cuối cùng49.0 ms—1wake.txt concurrent 30 sleep_all
30 cùng lúc: tất cả đều thứcchính ba mươi sandbox đó được đánh thức cùng lúc, tính đến sandbox cuối cùng61.4 ms—1wake.txt concurrent 30 wake_all

Các tệp nằm trong sandboxd/bench/results/2026-10-03-s3-ryzen9950x/4c8g-layers-final/; bản tường thuật là sandboxd/bench/results/README.md, đợt 2, mục 二. Các trang khác trên website đọc số liệu ngủ và thức dậy (3.5 ms để thức dậy, 2.3 ms để chuyển sang ngủ) từ cùng tệp với bảng này, nên đó là số liệu của đợt này. Snapshot được kiểm tra từng trang so với toàn bộ bộ nhớ do chính Firecracker ghi ra: chỉ 3 byte của một trang trong số 2 097 152 trang là khác nhau.

Bạn có thể đọc cùng con số này cho sandbox của chính mình: mọi lệnh gọi API phải đánh thức một sandbox đều cho biết việc đó mất bao lâu, tính bằng mili giây, trong header Server-Timing: wake;dur=… của nó.

CPU: benchmark mở của StarSling

StarSling công bố một benchmark mở về các nhà cung cấp sandbox (github.com/starslingdev/hpc-sandbox-benchmarks). Điểm CPU của nó là bộ công cụ web của Node.js chạy trong một sandbox 4 vCPU và 8 GiB, tính bằng số lần chạy mỗi giây. Chúng tôi đã chạy bộ bài kiểm thử đó trong một sandbox của Glac và so sánh kết quả với các nhà cung cấp trong lần chạy công bố gần nhất mà bản sao dữ liệu của chúng tôi có.

Glac, số lần chạy mỗi giây
29.0
trung vị của 13 nhà cung cấp
17.26
nhanh hơn trung vị đó
68%

Của chúng tôi

  • Máy chủ production đầu tiên của chúng tôi, ở Coventry, Vương quốc Anh: AMD Ryzen 9 9950X với 128 GB, vào ngày 10 tháng 10, 2026, trong đợt kiểm thử nghiệm thu, không có sandbox nào khác đang bận trên đó.
  • Bộ kiểm thử và image của chính StarSling (sandbox-benchmarks-toolchain:v8), trong một sandbox 4 vCPU và 8 GiB, chạy theo đúng cách sản phẩm chạy nó.
  • Ba lượt chạy bộ kiểm thử; mỗi lượt là trung vị của ba lần thử của nó: 28.97, 29.27, 29.00. Con số là trung vị của các lượt, 29.00.

Của họ

  • Lần chạy 36498291449 của StarSling: lần chạy mà bảng xếp hạng của họ hiển thị vào ngày 2 tháng 10 năm 2026, khi chúng tôi sao chép dữ liệu của họ, và là lần mới nhất trong chín lần chạy có trong bản sao đó (từ ngày 23 đến ngày 29 tháng 9 năm 2026).
  • Giá trị của một nhà cung cấp là trung vị của các lần thử trung vị ở từng sandbox của họ: đúng quy tắc của chính bảng xếp hạng.
  • Bản sao của chúng tôi lưu mỗi giá trị dưới dạng tỉ lệ so với giá trị của một nhà cung cấp trong cùng lần chạy, đến ba chữ số thập phân, nên mỗi giá trị dưới đây chênh lệch khoảng 0.02 trở xuống so với số của chính StarSling.

Giá trị của chúng tôi và 13 giá trị kia, tính bằng số lần chạy mỗi giây, xếp từ cao xuống thấp

  1. 29.0Glac
  2. 25.461
  3. 21.562
  4. 21.163
  5. 20.554
  6. 19.555
  7. 19.356
  8. 17.267 · trung vị
  9. 15.538
  10. 14.899
  11. 13.0110
  12. 12.6511
  13. 12.6012
  14. 8.2213

29.0 ÷ 17.26 = 1.68, tức nhanh hơn trung vị 68%. Tên các nhà cung cấp có trong dữ liệu StarSling công bố; các giá trị ở đây được đọc lúc build từ reports/providers/sources/performance-bar/starsling-metrics.tsv, tệp được tạo từ dữ liệu đó bằng analyse.py nằm bên cạnh.

Những gì nó không cho biết

  • Lần chạy của chúng tôi diễn ra khi máy không bận việc gì khác; của họ chạy cùng bất cứ tải nào mà máy chủ của họ gánh hôm đó. Một máy bận sẽ làm điểm giảm: trên một 9950X có 1.25 vCPU bận khác cho mỗi nhân, cùng bộ kiểm thử đó đạt 10.4 trong sandbox của chúng tôi (ngày 8 tháng 10 năm 2026). Những hàng xóm đó chạy chính bài kiểm thử này liên tục, loại tải ngốn bộ nhớ đệm nhất có thể, nặng hơn một cụm máy thực tế.
  • Đây là một benchmark cho một loại công việc, Node.js chạy các công cụ JavaScript, vốn phụ thuộc vào tốc độ của các nhân. Nó không nói gì về đĩa hay mạng.

Các tệp

  • sandboxd/bench/results/2026-10-10-cvt-01-accept/: đợt nghiệm thu, đầu ra thô của nó và results.json
  • reports/providers/sources/performance-bar/starsling-metrics.tsv
  • reports/providers/sources/performance-bar.md: bản sao được tạo và đọc như thế nào
  • sandboxd/bench/results/README.md: mục 40 và 42

Kết quả thô nằm ở đâu

Mọi đường dẫn trên trang này là một tệp trong kho mã riêng của Glac, bên cạnh code đã thực hiện phép đo. Kho mã không công khai; các đường dẫn cho biết mỗi con số đến từ lần chạy nào, và bản tường thuật của mỗi đợt cho biết đã chạy gì, trên máy nào, và điều gì đã trục trặc.

SandboxKhối