Workerman'ın Kaç Tane Eşzamanlı Bağlantı Desteklediği

Eşzamanlılık kavramı oldukça belirsizdir; burada iki ölçülebilir gösterge olan eşzamanlı bağlantı sayısı ve eşzamanlı istek sayısı üzerinden açıklanacaktır.

Eşzamanlı bağlantı sayısı, sunucunun o anki zaman diliminde kaç tane TCP bağlantısını sürdürdüğünü ifade eder; bu bağlantılarda veri iletişimi olup olmadığına dikkat edilmez. Örneğin, bir mesaj gönderim sunucusunda milyonlarca cihaz bağlantısı olabilir; bu bağlantılarda çok az veri iletişimi olduğu için bu sunucudaki yük neredeyse 0 olabilir. Bellek yeterli olduğu sürece, daha fazla bağlantı kabul edebilir.

Eşzamanlı istek sayısı genellikle QPS (sunucunun saniyede işlediği istek sayısı) ile ölçülür ve o an sunucudaki kaç adet TCP bağlantısına dikkat edilmez. Örneğin, bir sunucunun yalnızca 10 istemci bağlantısı varsa, her istemci bağlantısı saniyede 10,000 istek gönderiyorsa, sunucunun en az 10*10,000=100,000 istek/saniye (QPS) kapasitesine sahip olması gerekir. Diyelim ki bu sunucunun saniyede 100,000 istek işleme kapasitesi en üst düzeyde, her istemci saniyede 1 istek sunucuya gönderiyorsa, bu sunucu 100,000 istemciyi destekleyebilir.

Eşzamanlı bağlantı sayısı, sunucu belleği ile sınırlıdır; genellikle 24 GB bellekli bir Workerman sunucusu yaklaşık 1,200,000 eşzamanlı bağlantıyı destekleyebilir.

Eşzamanlı istek sayısı, sunucunun CPU işleme kapasitesi ile sınırlıdır; 24 çekirdekli bir Workerman sunucusu 450,000 istek/saniye (QPS) kapasitesine ulaşabilir; gerçek değer, iş yükünün karmaşıklığı ve kod kalitesiyle değişiklik gösterebilir.

Dikkat

Yüksek eşzamanlılık gerektiren senaryolarda event eklentisinin kurulu olması zorunludur, kurulumu ve yapılandırması ile ilgili bölüme bakınız. Ayrıca Linux çekirdeğini optimize etmek gereklidir; özellikle de işlem başına açık dosya sayısı sınırlaması için, lütfen ek bölümdeki çekirdek ayarlarına bakın.

Yük Testi Verileri

Veriler üçüncü taraf bir yetkili yük test kurumu techempower.com'dan alınmıştır, 20. döngü yük testi
https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=db&l=zik073-sf

Sunucu Konfigürasyonu:
Toplam Çekirdek 14, Toplam İş Parçacığı 28, 32 GB bellek, Dedicated Cisco 10-gigabit Ethernet anahtarı
İş Mantığı:
Veritabanı sorgusu barındıran iş mantığı, veritabanı pgsql, php8+jit
QPS 390,000+