İçeriğe geç
Muhammet Şafak
en

3 Ekim 2026

Go ve PHP: çekirdek başına kapasite

Aynı OAuth2 servisinde Go, FrankenPHP ve PHP-FPM: çekirdek başına istek, istek başına CPU, PostgreSQL yükü ve instance sayısı.

OAuth2 servisi · orta güven

Çekirdek başına istek/sn

  • 14.330 Go Go 1.27.1
  • 6.415 FrankenPHP 1.12.7, worker modu
  • 5.152 PHP-FPM PHP 8.5.10

Dört çekirdekte

Go, PHP-FPM'in 2,78 katı iş çıkarıyor.

FrankenPHP'nin 2,23 katı. Ölçüm orta güvenle yayımlandı; sayı bir doyum tavanıdır, SLO değildir.

Tavan

Dört çekirdekte istek/sn

istek/sn

  • Go 57.321
  • FrankenPHP 25.659
  • PHP-FPM 20.606
Okuma/yazma karışımı %50/%50, PostgreSQL 17.11.

Tavan

Çekirdek sayısına göre istek/sn

Go, FrankenPHP ve PHP-FPM'in 1, 2 ve 4 çekirdekteki tavan istek/sn değerleri
Çekirdek Go FrankenPHP PHP-FPM
1 16.883 6.544 6.218
2 29.449 14.306 11.211
4 57.321 25.659 20.606

Verim

Dört çekirdekte istek başına CPU

µs

  • Go 66,77
  • FrankenPHP 110,74
  • PHP-FPM 187,74
Tek çekirdekte 57,8 / 82,77 / 157,07 µs. FrankenPHP'nin istek başına CPU'su PHP-FPM'den %41 düşük.

Verim

FrankenPHP çekirdeği doldurmuyor

  • 0,54 1 çekirdekte kullanılan Go ve PHP-FPM 0,98
  • 1,44 2 çekirdekte kullanılan Go 1,87, PHP-FPM 1,95
  • 2,84 4 çekirdekte kullanılan Go 3,83, PHP-FPM 3,87

Tavanda

Gecikme ve bellek

Üç adayın tavandaki okuma ve yazma p50 ile p99 gecikmeleri ve bellek kullanımı
Aday p50 okuma / yazma p99 okuma / yazma RSS
Go 1,81 / 2,42 ms 4,69 / 5,41 ms 30,4 MiB
FrankenPHP 4,77 / 4,96 ms 8,80 / 9,06 ms 60,3 MiB
PHP-FPM 6,03 / 6,24 ms 8,27 / 8,45 ms 60,0 MiB

Veritabanı

PostgreSQL'in payı

Her aday doyarken PostgreSQL'e düşen yazma ve okuma sayısı, kullandığı çekirdek ve istek başına CPU
Doyan aday Yazma + okuma PostgreSQL çekirdeği İstek başına CPU
Go 24.930 + 32.392 2,34 40,75 µs
FrankenPHP 12.575 + 13.084 1,11 43,2 µs
PHP-FPM 10.128 + 10.478 1,46 71,07 µs

Kapasite

30.000 istek/sn için gereken çekirdek

  • 2,0 Go
  • 3,3 FrankenPHP
  • 5,6 PHP-FPM

Kapasite

Hedef hıza göre instance sayısı

10.000 ile 100.000 istek/sn arasındaki hedefler için Go, FrankenPHP ve PHP-FPM'in gereken instance sayısı
Hedef istek/sn Go FrankenPHP PHP-FPM
10.000 1 1 1
20.000 1 1 1
30.000 1 2 2
50.000 1 2 3
100.000 2 4 5

Ayar

Havuz boyutu ve yanlış seçimin bedeli

Her adayın 1, 2 ve 4 çekirdekteki en iyi havuz boyutu ve en kötü havuz seçiminin throughput kaybı
Aday En iyi havuz (1/2/4 çekirdek) En kötü seçimin bedeli
Go 16 / 64 / 64 %70,6
PHP-FPM 8 / 16 / 32 %30,7
FrankenPHP 8 / 8 / 8 %29,6

Okurken

Bu sayıların sınırları

  • Tavan Yayınlanan sayı doyum tavanıdır, SLO değildir. 45 tekrarın 45'i üreteç yoklamasından geçti.
  • Ortam Bir koşuda ana makinedeki headless Chromium Go'yu 57.321 yerine 17.490 istek/sn'ye düşürdü; o koşu atıldı.
  • Disk VM diskinin fsync garantisi doğrulanmadı; mutlak yazma rakamları iyimser olabilir, karşılaştırma etkilenmez.

Paylaş ve indir

Paylaş:
Bu kodu sayfanızın HTML’ine yapıştırın.

Sitede Ara

Yazı, proje ve sayfalarda arama yapmak için yazmaya başlayın.

Esc ile kapat Pagefind ile güçlendirildi