İçeriğe atla
SinaptikLabAI KNOWLEDGE PLATFORM

LAB · ARAÇ

Toplu İşlem Verimi

Yığın boyutu, istek başına token ve eşzamanlı kopya sayısından bir çıkarım servisinin kapasitesini, doluluğunu ve istek başına gecikmesini hesaplar. Yığını büyütmek kuyruk beklemesini kısaltırken dolma beklemesini uzattığı için gecikmeyi en küçükleyen yığını tarayarak bulur.

Durum

Çalışıyor

Girdiler

Gelen istek hızı
istek/sn
İstek başına girdi token
token
İstek başına çıktı token
token
Yığın boyutu
istek
Yığın ölçekleme verimi
%
Tek akışta ölçülen token hızı
token/sn
Eşzamanlı kopya
adet

Hesaplama tarayıcıda yapılır; girdiğiniz değerler sunucuya gönderilmez.

01ARAÇ

Hesapla

Girdileri değiştirdiğinizde sonuç anında güncellenir. Hangi varsayımın sonucu ne kadar değiştirdiğini görmek için tek tek oynayın.

Girdiler

Tüm kopyalara gelen toplam hız. Sıfır bırakılırsa yığın hiç dolmaz ve gecikme tanımsız kalır.

Girdi token'ı çıktı ile aynı token hızından geçiyor kabul edilir; gerçekte ön dolum daha hızlıdır, bu yüzden uzun istemde süre yukarı sapar.

En az 1: çıktısı olmayan istek hizmet süresi üretmez, hesap da bölünecek bir iş bulamaz.

16 istek
%60

Kendi donanımınızda yığın boyutu 1 ile ölçtüğünüz hız. Bileşende gömülü bir model hızı yok; bu alan boş varsayımla doldurulursa tüm sonuçlar varsayım olur.

Yükü paylaşan eşit yapılandırmalı sunucu kopyası. Yönlendirme maliyeti sıfır sayılıyor.

Sonuç

Karşılanan çıktı verimi

900token/sn

İstek başına ortalama gecikme

39,87sn

Yığın başına token11.200
Kopya başına token hızı900 token/sn
Tek isteğin akış hızı56,3 token/sn
Yığın hizmet süresi12,44 sn
Kopya başına verim1,29 istek/sn
Toplam kapasite5,14 istek/sn
Yığın 1'e göre kazanç×10,00
Karşılanamayan istek0,00 istek/sn

Doluluk

Gelen hız / kapasite%58,3

Gecikme nereye gidiyor

  • Yığın dolma beklemesi (ms)10.000
  • Kuyruk beklemesi (ms)17.422
  • Yığın hizmet süresi (ms)12.444

Yığın taraması

Gecikmeyi en küçükleyen yığın22 istek
O yığındaki gecikme36,03 sn
Seçili yığın16 istek

Tarama 1 ile 128 arasındaki yığınları aynı formülle karşılaştırır. Verim büyük yığında daha yüksektir; en küçük gecikme ile en yüksek verim aynı yığında olmak zorunda değil.

Hesap yalnızca girdiğiniz sayılar üzerinde çalışır; bileşene hiçbir model hızı, fiyatı veya ölçüm sonucu gömülmemiştir. Alanların açılış değerleri de ölçüm değil, aracın doygun olmayan bir noktada açılması için seçilmiş başlangıç sayılarıdır — kendi ölçtüğünüz değerlerle değiştirmeden çıkan sonuç sizin sisteminiz hakkında bir şey söylemez. Tek akış token hızı sizin ortamınızda yığın boyutu 1 ile ölçülmüş olmalıdır; ölçekleme verimini iki ölçümden çıkarırken kazancı yığın boyutuna bölmeyin, verim = (gözlenen kazanç − 1) ÷ (yığın boyutu − 1) olur. Üç basitleştirme var: yığın kazancı tek bir verim katsayısıyla doğrusal modellenir (gerçekte kazanç yığın büyüdükçe azalır ve bellek bandı doyduğunda durur); ön dolum ile kod çözme tek token bütçesinde sayılır (gerçekte ön dolum token başına daha hızlıdır, bu yüzden uzun istemli senaryolarda gecikme yukarı doğru şişer); ve gecikme üç bileşenin toplamı sayılır, oysa yüklü bir sistemde kuyrukta beklerken yığın da dolmaya devam eder — bu iki bekleme kısmen üst üste bindiği için toplam gecikme olduğundan yüksek çıkar. Kuyruk beklemesi M/M/1 yaklaşımıyla bulunur: ortalama verir, p95/p99 kuyruğu değil. KV önbelleği bellek sınırı, sürekli yığınlama ile statik yığınlama farkı, ağ gecikmesi ve hız sınırları hesabın dışındadır.

02YÖNTEM

Hesap nasıl kuruluyor?

Bir hesaplayıcının değeri sonucunda değil, hangi varsayımla o sonuca vardığındadır.

Kısa cevap

Yığın büyütmek kapasiteyi artırıp kuyruk beklemesini kısaltır ama yığının dolmasını beklemeyi uzatır; araç bu iki etkiyi aynı girdilerden toplayıp gecikmeyi en küçükleyen yığın boyutunu verir.

Hesap ne yapıyor?#

Araç, bir çıkarım servisini basit bir kuyruk düzeni olarak ele alır. Girdi olarak gelen istek hızını, istek başına girdi ve çıktı token sayısını, yığın boyutunu, yığın ölçekleme verimini, tek akışta ölçtüğünüz token hızını ve eşzamanlı kopya sayısını alır. Bunlardan kopya başına token hızını, bir yığının hizmet süresini, toplam kapasiteyi, doluluğu ve istek başına ortalama gecikmeyi türetir. Gecikmeyi üç bileşene ayırır: yığının dolmasını bekleme, kuyrukta bekleme ve yığının işlenme süresi.

Formül#

Zincir tek bir büyüklükten başlar: kopya başına toplam token hızı. Yığın bu hızı yığın boyutu katına çıkarmaz; kazanç tek bir ölçekleme verimi katsayısıyla modellenir. Kalan bütün büyüklükler bu hızdan ve token hacminden çıkar.

  1. 01Kopya başına token hızı = tek akışta ölçülen hız × (1 + (yığın boyutu − 1) × ölçekleme verimi). Verim %100 ise doğrusal, %0 ise yığının hiç kazancı yok.
  2. 02Yığın başına token = yığın boyutu × (girdi token + çıktı token). Girdi ve çıktı aynı token bütçesinde sayılır.
  3. 03Yığın hizmet süresi = yığın başına token ÷ kopya başına token hızı. Tek isteğin akış hızı ise kopya hızının yığın boyutuna bölümüdür.
  4. 04Toplam kapasite = (yığın boyutu ÷ hizmet süresi) × kopya sayısı; doluluk = gelen istek hızı ÷ toplam kapasite.
  5. 05Yığın dolma beklemesi = (yığın boyutu − 1) ÷ (2 × kopya başına gelen istek hızı). Yığın büyüdükçe doğrusal artan bileşen budur.
  6. 06Kuyruk beklemesi = doluluk ÷ (1 − doluluk) × hizmet süresi; istek başına gecikme bu üç bileşenin toplamıdır.

Varsayımlar#

  • Tek akış token hızı kullanıcı tarafından ölçülüp girilir. Bileşende hiçbir model hızı, fiyatı veya benchmark değeri gömülü değildir; alan varsayımla doldurulursa bütün çıktılar varsayım olur.
  • Yığın kazancı tek bir katsayıyla doğrusal modellenir. Gerçek sistemde kazanç yığın büyüdükçe azalır ve bellek bandı doyduğunda durur; burada sabit kabul edilir.
  • Girdi token'ı ile çıktı token'ı aynı token hızından geçer. Ön dolum gerçekte token başına daha hızlıdır, bu yüzden uzun istemli senaryolarda hizmet süresi ve gecikme yukarı doğru sapar.
  • İstek varışları düzensiz ve bağımsız kabul edilir; kuyruk beklemesi M/M/1 yaklaşımıyla bulunur. Doluluk 1'e ulaştığında kuyruk sınırsız büyüdüğü için araç sayı üretmez, doygun der.
  • Gecikme üç bileşenin toplamı sayılır. Gerçekte kuyrukta beklenirken yığın da dolmaya devam eder, yani dolma beklemesi ile kuyruk beklemesi kısmen üst üste biner; araç ikisini ayrı ayrı topladığı için yüklü sistemde gecikmeyi olduğundan yüksek verir.
  • Kopyalar eşit yapılandırmalı ve eşit yüklü sayılır; yönlendirme, kuyruk yönetimi ve ağ maliyeti sıfırdır.

Neyi ölçmez#

Hesap ortalama verir; p95 ve p99 uçlarını vermez, oysa gecikme taahhüdü genellikle bu uçlarda verilir. Ön dolum ile kod çözmenin ayrı hız rejimleri, KV önbelleğinin bellek sınırı ve bu sınırın yığını nerede kestiği, sürekli yığınlama ile sabit yığınlama arasındaki fark, önbellekten okunan istem payı, soğuk başlatma, ağ gidiş dönüşü ve hız sınırları modelin dışındadır. Aracın verdiği sayı bir bütçe taslağıdır; yük testinin yerine geçmez.

Kararı nasıl kullanmalı#

  1. 1Tek akışı kendiniz ölçün

    Yığın boyutu 1 ile tek bir istek gönderip saniyedeki çıktı token'ını ölçün ve alana yazın. Bu sayı yanlışsa aracın bütün çıktısı aynı oranda yanlış olur.

  2. 2Ölçekleme verimini iki noktadan çıkarın

    Yığın 1 ve örneğin yığın 8 ile toplam token hızını ölçün; verim = (gözlenen kazanç − 1) ÷ (yığın boyutu − 1) olur. Kazancı doğrusal kazanca bölmek verimi olduğundan yüksek gösterir: 8 yığında 1 kat kazanç verimi sıfır demektir, sekizde bir değil. Ölçüm yoksa verimi düşük tutun, iyimser tahmin kapasiteyi olduğundan büyük gösterir.

  3. 3Doluluğa pay bırakın

    Doluluk %80'i geçtiğinde kuyruk beklemesi hizmet süresinin dört katını aşar ve gelen hızdaki küçük bir artış gecikmeyi katlar. Kopya sayısını %70 civarı dolulukta çalışacak şekilde seçin.

  4. 4Yığını zaman aşımıyla birlikte kurun

    Aracın önerdiği yığını alıp dolma beklemesine bakın: bekleme hizmet süresini geçiyorsa yığın dolmasa da gönderen bir zaman aşımı koyun, sonra sayıları gerçek yük testiyle doğrulayın.

04DİĞER PROJELER

Lab'dan

BUILD

Hesap tuttu, sıra uygulamada

Aynı hesabı kendi verinizle yapıp mimariyi kurmak için kurumsal destek alabilirsiniz.