Kaynak boyutlandırma
Beyan edilen compose sınırlarına karşı kapsayıcı başına ölçülmüş bellek, profil başına toplamlar, üç GPU yolu ve kendi toplamınızı hesaplama tarifi.
- Sürüm: 0.4
- Rol: admin_user
- Tür: başvuru
Servis başına portlar ve profiller, compose dosyalarından üretilen servisler, portlar ve profiller sayfasındadır. Bu sayfa onların üzerindeki boyutlandırma hesabıdır: ölçüldüğünde her kapsayıcının gerçekte ne kullandığı, bunun profil başına ne tuttuğu ve kendi kurulumunuz için bir rakamı nasıl hesaplayacağınız. Sağlamanız gereken ana makine için gereksinimler ve boyutlandırma sayfasından başlayın; eklenen bir bileşenin maliyeti için isteğe bağlı servisler ve her birinin maliyeti sayfasına bakın.
Rakamlar nasıl okunur
Kapsayıcı belleğinin üç okuması vardır ve aralarında gigabaytlarca fark bulunur.
| Okuma | Nedir | Ne için kullanılır |
|---|---|---|
| Anonim bellek | RAM ya da swap ile karşılanması gereken sayfalar | Boyutlandırma. Bellek satın alırken bakılacak rakam budur. |
docker stats çıktısı | Anonim bellek artı etkin sayfa önbelleği | Tek başına hiçbir şey. Olduğundan fazla bildirir; en kötüsü bir model yüklendikten hemen sonradır. |
| Tepe | Yukarıdakinin, kapsayıcı yaşadığı sürece hiç azalmayan en yüksek değeri | Yalnızca ipucu olarak. Sayfa önbelleği sınırına dayanan bir kapsayıcıda sınırda doyar ve hiçbir şey söylemez. |
Tüm yığın, 21 kapsayıcı, boşta: docker stats çıktısındaki 15.00 GiB ve hesaba yazılan 18.00 GiB
karşısında 12.53 GiB anonim bellek. Aradaki 2.5 GiB etkin sayfa önbelleğidir; büyük bölümü tespit
motorlarının başlangıçta okuduğu model dosyalarıdır ve çekirdek, baskı altında bunu süreç fark
etmeden düşürür.
Kapsayıcı başına
2026-09-08 tarihinde geliştirme sunucusunda ölçüldü: Ubuntu 24.04, 10 vCPU, 32 GB, GPU yok,
cgroup v2, varsayılan compose profili artı llm-analyst ve tools profilleri. Boşta, yığının iki
saattir trafiksiz ayakta olması demektir. Beyan edilen, compose bellek sınırıdır; tire, servisin hiç
sınır beyan etmediğini gösterir.
| Kapsayıcı | Beyan edilen | Anonim, boşta | docker stats | Tepe |
|---|---|---|---|---|
| attack-guard | 4 GB | 2.72 GiB | 2.803 GiB | 4.00 GiB |
| hap-guard-v2 | 6 GB | 2.70 GiB | 2.769 GiB | 4.50 GiB |
| ml-detector | 6 GB | 2.45 GiB | 2.504 GiB | 3.94 GiB |
| doc-classifier | 2 GB | 920 MiB | 1.632 GiB | 1.75 GiB |
| risk-analyst | 3 GB | 882 MiB | 1.458 GiB | 2.01 GiB |
| prompt-compressor | 3 GB | 633 MiB | 796.8 MiB | 1.02 GiB |
| mcp-server | 1 GB | 594 MiB | 669.7 MiB | 892 MiB |
| language-detector | 2 GB | 480 MiB | 519.8 MiB | 537 MiB |
| hallucination-guard | 4 GB | 474 MiB | 654.1 MiB | 828 MiB |
| pgadmin | — | 241 MiB | 312.4 MiB | 369 MiB |
| nestjs-core | — | 110 MiB | 207.5 MiB | 320 MiB |
| deepteam | 2 GB | 103 MiB | 136.9 MiB | 180 MiB |
| ocr-service | 4 GB | 101 MiB | 193.3 MiB | 241 MiB |
| document-parser | 2 GB | 77 MiB | 124.7 MiB | 157 MiB |
| report-renderer | 512 MB | 62 MiB | 91.0 MiB | 115 MiB |
| redactor | 2 GB | 59 MiB | 95.9 MiB | 118 MiB |
| postgres | — | 12 MiB | 61.4 MiB | 104 MiB |
| reconfigure-agent | — | 9 MiB | 20.1 MiB | 31 MiB |
| frontend | — | 8 MiB | 19.2 MiB | 30 MiB |
| cid-proxy | 128 MB | 4 MiB | 11.3 MiB | 18 MiB |
| redis | — | 4 MiB | 14.3 MiB | 61 MiB |
Üç servis — jailbreak, zararlı içerik ve PII tespit motorları — 12.53 GiB'lık toplamın 7.87 GiB'ıdır:
boştaki yığının %63'ü üç ONNX tespit motorudur. Her uvicorn işçisi modelin kendi tam kopyasını
yükler; dolayısıyla UVICORN_WORKERS bu tabloyu diğer her ayardan daha fazla oynatır. Aynı yığın,
servis başına tek işçiyle 7.3 GiB, iki ila dört işçiyle 12.5 GiB boşta durdu.
Bu tabloda iki kapsayıcı eksiktir; çünkü onları ne kısıtlayan ne de ölçen bir şey var: hiç sınır beyan etmeyen servisler ters vekil, pano, ağ geçidi, veritabanı, önbellek ve ana makine yeniden yapılandırma ajanıdır — burada hepsi küçüktür, ama bilinçli bir tercihle değil tasarım gereği sınırsızdır.
Profil başına
| Profil | Servisler | Beyan edilen bellek | Ölçülen, boşta |
|---|---|---|---|
| Varsayılan — profilsiz | 19 | 37.63 GB | 10.85 GiB anonim |
llm-analyst | 2 | +4 GB | +1.5 GiB anonim |
routing | 1 | +1 GB | Ölçülmedi |
inline-proxy | 1 | Beyan edilmemiş | Ölçülmedi |
userid-agent | 1 | Beyan edilmemiş | Ölçülmedi |
llm | 1 | Beyan edilmemiş | Kendine ait bir GPU ana makinesi |
tools | 2 | Beyan edilmemiş | Veritabanı konsolu için 241 MiB |
ldap-test, mailtest, llm-build | 3 | Beyan edilmemiş | Yalnızca geliştirme ve derleme ana makineleri |
Varsayılan profildeki on dokuz servisin altısı hiç sınır beyan etmez; dolayısıyla 37.63 GB bir tavan değil tabandır ve belleği tükenen bir ana makine yalnızca compose dosyasına bakılarak tanılanamaz.
Yükün eklediği ve geri vermediği
| Olay | Eklenen anonim bellek |
|---|---|
| PII tespit motoru, sürekli trafik — ONNX alanı büyür ve asla geri dönmez | +1.2 GiB |
| OCR, ilk dildeki ilk görüntü | +1.7 GiB |
| OCR, ikinci dildeki ilk görüntü | +0.8 GiB |
llm-analyst profilinin başlatılması | +1.5 GiB |
Uçtan uca ölçüldü: aynı 21 kapsayıcı sabahki 12.53 GiB'dan bir OCR matrisi ve üç tespit motoru patlamasının ardından, yeniden boşta dururken 15.25 GiB'a çıktı. 2.7 GiB'ın hiçbiri geri gelmedi. Boşta bir okumadan boyutlandırmak, yalnızca PII tespit motorunu bir gigabayttan fazla eksik sayar.
Görüntü yolunda bağlayıcı kısıt bellek değil CPU'dur. Tek bir A4 sayfası 190 CPU saniyesine mal olur ve 8.4 çekirdek genişliğinde çalışır; dolayısıyla 10 vCPU'lu bir makine dakikada üç sayfanın altında iş yapar ve bu sırada başka hiçbir şey yapmaz. Eşzamanlılık durumu kötüleştirir: aynı anda dört sayfa, her biri 190 yerine 238 CPU saniyesine mal olur.
GPU neyi değiştirir
GPU önerilir, asla zorunlu değildir ve yalnızca görüntü yolu ile kendi barındırdığınız bir model için geçerlidir. Üç GPU yolu vardır ve birbirlerinden bağımsızdırlar.
| Yol | Nedir | Notlar |
|---|---|---|
| Yığın içi OCR katmanı | Varsayılan OCR servisini CUDA üzerinde çalışacak biçimde yeniden derler | Görüntü başına CPU derlemesinden 3 ila 8 kat hızlı ölçüldü. Yalnızca CPU'da kalan bir cihazda asla kullanılmaz. |
| Ayrı bir OCR ana makinesi | Kendine ait bir GPU ana makinesinde aynı imaj ve aynı API | Taşıyıcı jetonuyla OCR_GPU_SERVICE_URL üzerinden erişilir ve hata durumunda yığın içi CPU servisine düşer. |
| Analist model motoru | LLM Risk Analisti'nin üzerinde akıl yürüttüğü yerel model | En az 20 GB VRAM, önerilen 48 GB. Desteklenen topolojide kendine ait bir ana makine. |
Warning
Eski CID222 belgeleri, bir gpu compose profilinin arkasında transformer tabanlı ikinci bir GPU
OCR motorundan söz eder. İkisi de kaldırıldı ve bu sürümdeki hiçbir compose dosyası bir
gpu profili beyan etmez. CUDA üzerinde PaddleOCR, tek GPU OCR yoludur.
Yığında başka hiçbir şey GPU kullanmaz. PII, zararlı içerik, jailbreak ve enjeksiyon tespiti CPU üzerinde ONNX ile çalışır, halüsinasyon tespiti yalnızca CPU derlemesidir ve kart eklemek gecikmelerini değiştirmez.
Kendi toplamınızı nasıl hesaplarsınız
Ölçülmüş tabandan başlayın
Compose varsayılanlarındaki varsayılan profil için 10.85 GiB alın; her tespit motoru için
UVICORN_WORKERS değerini 1'e sabitlediyseniz yaklaşık 6.5 GiB.
Bu boşta bir rakamdır ve hesaptaki, pay olmayan tek satırdır.
Başlattığınız profilleri ekleyin
llm-analyst için 1.5 GiB ekleyin. inline-proxy, userid-agent ve routing için ölçülmüş bir
rakam yoktur — sınırı olanlarda beyan edilen sınırı pay olarak ayırın, olmayanları kendi
trafiğinizde ölçün.
Artık servis kümeniz için durağan bir toplamınız var.
Yük payını ekleyin
PII tespit motorunun alan büyümesi için 1.2 GiB, ilk OCR dili için 1.7 GiB ve hizmet verdiğiniz her ek dil için 0.8 GiB ekleyin.
Bu adımdaki hiçbir şey, trafik durduğunda geri verilmez.
Günün kaymasını ekleyin
Üzerine bir %20 daha ekleyin. Ölçülen yığın, karma yüklü bir iş günü boyunca 12.53 GiB'dan 15.25 GiB'a büyüdü; bu %22'dir.
Sonuç, ana makinenin karşılaması gereken anonim bellektir.
Sayfa önbelleğine yer bırakın ve yukarı yuvarlayın
Ölçülen yığın ayrıca yaklaşık 5 GiB sayfa önbelleği tutuyordu. Geri kazanılabilir olduğu için toplamın parçası değildir; ancak buna hiç payı olmayan bir ana makine sürekli geri kazanım yapar.
Bir sonraki hipervizör bellek adımına yukarı yuvarlayın ve hesap ne derse desin hiçbir zaman 32 GB'ın altına inmeyin.
Bir servisi kendiniz ölçmek için docker stats yerine kendi cgroup'unu okuyun:
Gerçekçi bir patlamadan önce ve sonra okuyun. Aradaki fark, o trafiğin maliyetidir ve ONNX tespit motorlarında önemli olan başlangıç değeri değil, o farktır.
Notlar
- Disk trafik tepeleriyle değil saklamayla büyür. Biriken şey tespitler, olay günlükleri ve uyumluluk kanıtıdır; kapsayıcı imajları ve model önbellekleri bir kez ödenen sabit bir maliyettir. Dağıtılan saklama pencereleri ve süpürmenin varsayılan olarak silmediği gerçeği gereksinimler ve boyutlandırma sayfasındadır.
- Swap, kısa süreli model sıçramaları için bir paydır; belleğin yerini tutmaz. Doğru boyutlandırılmış bir ana makinede 8 GB yeterlidir ve 32 GB tabanının altındaki bir ana makineyi hiçbir miktar kurtarmaz.
- Dağıtılan cihaz imajı desteklenen alt sınırda önceden boyutlandırılmıştır — 32768 MB ve 8 vCPU — böylece işletmecinin hesap yapmasına gerek kalmadan açılır. Üzerine yük bindirmeden önce yükseltin.
- Dolaşımda iki eski rakam var ve ikisi de üretilmiş değil. Depo kılavuzu ve OVA derleme notları, sınırsız 11 servis genelinde yaklaşık 42 GB beyan edilmiş sınırdan ve yaklaşık 30 GiB ölçümden söz eder. Üretilen rakam, 6'sı sınırsız olan 19 servis genelinde 37.63 GB'dır; 30 GiB ise kapsayıcı başına bir ölçümden değil, 62 GiB bir makinede tüm servislerin payla birlikte çalıştığını kaydeden 2026-07 tarihli bir hazırlık provasından gelir. Bu sayfadaki üretilmiş ve ölçülmüş rakamları kullanın.
İlgili
- Gereksinimler ve boyutlandırma — dağıtım kipi başına sağlanacak ana makine.
- İsteğe bağlı servisler ve her birinin maliyeti — eklenen bileşen başına gereksinim satırı.
- Servisler, portlar ve profiller — servis başına üretilen tablo.
- Compose profilleri ve komut satırı — bir profilin nasıl başlatıldığı.
Son güncelleme