Nasıl ölçüyoruz
Bu sitenin ölçüm diye verdiği sayılar, üretim sunucularımızın kullandığı işlemciyle fiziksel sunucuda ölçüldü: uyku, uyanma ve anlık görüntü ile CPU kıyaslama testi. Her biri burada; makinesi, günü, nasıl alındığı ve ham sonuçlarının nerede olduğuyla birlikte.
- Fiziksel sunucu. Başkasının makinesindeki bir sanal makine değil, bütün bir fiziksel makine; böylece göremediğimiz hiçbir şey onu paylaşmaz.
- Medyanlar, dağılımlarıyla. Birçok çalıştırmanın ortadaki değeri; yanında 95. yüzdelik ve çalıştırma sayısı.
- En iyi durum, adıyla anılır. Bunların çoğu, makinede başka hiçbir iş yokken çalıştırıldı; öyle olan her yerde sayfa bunu belirtir.
- Ham sonuçlar saklanır. Her değer okunduğu dosyayı belirtir; dosya, onu üreten kodla birlikte depodadır.
Uyku, uyanma ve anlık görüntü
- Makine
- Cherry Servers, Singapur: AMD Ryzen 9 9950X (Zen 5, 16 çekirdek), 128 GB, Ubuntu 26.04.1, Linux çekirdeği 7.0.0-34
- Gün
- 3 Ekim 2026
- Sandbox
- 4 vCPU / 8 GiB sandbox, node:24-bookworm
- Düğüm
- o günün varsayılanlarıyla sandboxd: yamalı bir Firecracker, iki katmanlı bellek, uyuyan her sandbox için hazır tutulan bir süreç, PCI üzerinde aygıtlar
- Çağıran
- aynı makinede, açık tutulan tek bir bağlantı üzerinden; böylece bir değer, el sıkışmayı değil isteğin kendisini gösterir
| Ölçülen | Süre nasıl ölçülür | Medyan | p95 | Tekrar | Kaynak |
|---|---|---|---|---|---|
| Uyutma | POST …/sleep, çağıranın gördüğü haliyle | 2.3 ms | 2.8 ms | 30 | wake.txt cycle sleep |
| Uyanma, kendiliğinden uykuya geçtikten sonra | düğümün geri yüklemeyi kendi ölçtüğü süre (Server-Timing başlığı), bir sonraki çağrı için | 3.5 ms | 3.9 ms | 29 | wake.txt auto wake |
| O çağrının yanıtlanması | onu uyandıran isteğin tamamı, gönderilmesinden yanıtlanmasına kadar | 6.7 ms | 7.1 ms | 29 | wake.txt auto call |
| Uyanma, uykudan hemen sonra | bir sonraki uyanma için hazır tutulan süreç hâlâ başlamakta, bu yüzden bekler | 5.6 ms | 6.3 ms | 30 | wake.txt cycle wake |
| Çalışan bir sandbox'un anlık görüntüsü | API üzerinden: bellek, süreçler ve disk, o çalışırken | 32 ms | — | 4 | snapshot.txt 31.5 to 31.9 ms |
| Oluşturma, havuzdan | zaten çalışmakta olan bir şablonun kopyası | 1.3 ms | — | 100 | tti-sequential.txt create median |
| Oluşturma, ilk komutunun yanıtına kadar | art arda, yüz kez | 11.0 ms | 12.0 ms | 100 | tti-sequential.txt sequential x100 |
| Aynı anda 30: hepsi uykuda | otuz sandbox aynı anda uyutulur, sonuncusu uyuyana kadar | 49.0 ms | — | 1 | wake.txt concurrent 30 sleep_all |
| Aynı anda 30: hepsi uyanık | aynı otuz sandbox aynı anda uyandırılır, sonuncusu uyanana kadar | 61.4 ms | — | 1 | wake.txt concurrent 30 wake_all |
Dosyalar sandboxd/bench/results/2026-10-03-s3-ryzen9950x/4c8g-layers-final/ içinde; rapor sandboxd/bench/results/README.md, 2. tur, 二 bölümü. Sitenin diğer sayfaları uyku ve uyanma değerlerini (uyanma 3.5 ms, uykuya geçme 2.3 ms) bu tabloyla aynı dosyadan okur; yani bu turun değerleridir. Anlık görüntü, Firecracker'ın kendi dışa yazdığı belleğin tamamıyla sayfa sayfa karşılaştırıldı: 2 097 152 sayfanın birinde 3 bayt farklıydı.
Aynı değeri kendi sandbox'larınız için de okuyabilirsiniz: bir sandbox'u uyandırmak zorunda kalan her API çağrısı, bunun ne kadar sürdüğünü milisaniye olarak Server-Timing: wake;dur=… başlığında belirtir.
CPU: StarSling'in açık kıyaslama testi
StarSling, sandbox sağlayıcıları için açık bir kıyaslama testi yayımlıyor (github.com/starslingdev/hpc-sandbox-benchmarks). CPU puanı, 4 vCPU ve 8 GiB'lık bir sandbox'ta Node.js web tooling testinin saniyedeki çalıştırma sayısıdır. Test paketini bir Glac sandbox'unda çalıştırdık ve sonucu, verilerinin elimizdeki kopyasında bulunan en son yayımlanmış çalıştırmasındaki sağlayıcılarla karşılaştırdık.
- Glac, saniyede çalıştırma
- 29.0
- 13 sağlayıcının medyanı
- 17.26
- o medyandan daha hızlı
- 68%
Bizimki
- Coventry'deki (Birleşik Krallık) ilk üretim sunucumuz: 128 GB'lık bir AMD Ryzen 9 9950X; 10 Ekim 2026 tarihinde, kabul testi sırasında, üzerinde başka hiçbir sandbox çalışmazken.
- StarSling'in kendi test paketi ve imajı (
sandbox-benchmarks-toolchain:v8), 4 vCPU ve 8 GiB'lık bir sandbox'ta, ürünün çalıştırdığı gibi çalıştırıldı. - Test paketinin üç geçişi; her geçiş, kendi üç denemesinin medyanıdır: 28.97, 29.27, 29.00. Sonuç, bunların medyanı: 29.00.
Onlarınki
- StarSling'in 36498291449 numaralı çalıştırması: verilerinin kopyasını aldığımız 2 Ekim 2026'da sıralama tablosunun gösterdiği çalıştırma; o kopyadaki dokuz çalıştırmanın da en sonuncusu (23–29 Eylül 2026).
- Bir sağlayıcının değeri, her sandbox'unun medyan denemesinin, tüm sandbox'ları üzerinden alınan medyanıdır: sıralama tablosunun kendi kuralı.
- Kopyamız her değeri, aynı çalıştırmadaki bir sağlayıcınınkine oranı olarak, üç ondalık basamakla tutar; bu yüzden aşağıdaki her değer, StarSling'in kendi değerinden en fazla yaklaşık 0.02 farklıdır.
Bizimki ve 13 değer (saniyede çalıştırma), en yüksekten başlayarak
29.0 ÷ 17.26 = 1.68; yani medyandan %68 daha hızlı. Sağlayıcıların adları StarSling'in yayımladığı verilerde; buradaki değerler derleme sırasında reports/providers/sources/performance-bar/starsling-metrics.tsv dosyasından okunur, bu dosya da o verilerden yanındaki analyse.py ile üretilir.
Neyi göstermez
- Bizimki makinede başka hiçbir iş yokken çalıştı; onlarınki, ana makinelerinin o gün taşıdığı yük neyse onunla. Yoğun bir makine puanı düşürür: çekirdek başına çalışan 1.25 başka vCPU bulunan bir 9950X'te aynı test paketi, sandbox'umuzda 10.4 puan aldı (8 Ekim 2026). O komşular aynı testi döngü içinde çalıştırıyordu; bu, önbelleği en çok zorlayan yüktür ve gerçek bir filodan daha ağırdır.
- Tek bir iş türünün tek bir kıyaslama testidir: JavaScript araçlarını çalıştıran Node.js; çekirdeklerin hızını izler. Diskler ya da ağlar hakkında hiçbir şey söylemez.
Dosyalar
sandboxd/bench/results/2026-10-10-cvt-01-accept/: kabul testi, ham çıktısı veresults.jsonreports/providers/sources/performance-bar/starsling-metrics.tsvreports/providers/sources/performance-bar.md: kopyanın nasıl alındığı ve okunduğusandboxd/bench/results/README.md: 40. ve 42. bölümler
Ham sonuçlar nerede
Bu sayfadaki her yol, Glac'in kendi deposunda, ölçümü yapan kodun yanında duran bir dosyadır. Depo herkese açık değil; yollar her değerin hangi çalıştırmadan geldiğini gösterir, her turun raporu da neyin, neyin üzerinde çalıştırıldığını ve neyin ters gittiğini anlatır.