Zvolte paměť pro operační systém, trvalé služby a realistickou souběžnost s rezervou. Zvolte CPU po změření, které úlohy jsou vytížené, zda běží paralelně a jaká zpoždění uživatelé skutečně zažívají.
Popište běžnou práci a špičkovou práci odděleně
Samotný počet návštěvníků je slabý vstup pro dimenzování. Jeden požadavek může obsloužit soubor z cache, zatímco jiný generuje sestavu nebo dotazuje mnoho tabulek. Vyjmenujte webové workery, databázi, cache, spotřebitele front a úlohy údržby, které budou sdílet VPS. Popište běžnou souběžnost a nejočekávanější nejvytíženější operaci. Zahrňte plánované exporty, aktualizace balíčků a nasazení, místo abyste je považovali za neviditelnou činnost na pozadí.
U existujícího projektu shromážděte reprezentativní období, které zahrnuje špičkové okno. Zaznamenejte doby odezvy a chyby spolu s využitím prostředků. U nového projektu vytvořte malý test s realistickými tvary požadavků a velikostmi dat. Váš počáteční odhad bude nedokonalý; užitečným cílem je zdokumentovaný výchozí bod, který můžete porovnat s naměřeným chováním po dodání.
Sestavte rozpočet paměti před přidáním procesů
Poptávka po paměti pochází ze systému, trvalých služeb aplikace, využití na worker a dočasných operací. Vynásobení paměťové stopy workeru plánovanou souběžností je hrubý plánovací nástroj, nikoli záruka, protože sdílená paměť a cache komplikují celkový součet. Sledujte skutečné procesy pod zátěží. Ponechte dostatek prostoru, aby úloha údržby nenutila aplikaci soutěžit o každou zbývající stránku.
Nastavení databáze může neočekávaně znásobit využití paměti. PostgreSQL dokumentuje, že work_mem se vztahuje na operace dotazů a několik operací nebo relací může běžet souběžně. Nastavení, které izolovaně vypadá skromně, tak může mít větší systémový účinek. Přečtěte si vlastní pokyny své databáze, testujte realistickou souběžnost a vyhněte se přidělení každého inzerovaného gigabajtu jedné cache.
Rozlišujte využití CPU od užitečného paralelismu
Počet procesorů vám říká, kolik prováděcích prostředků je předloženo hostovi, nikoli jak efektivně je váš software dokáže využít. Jeden vytížený thread může omezovat aplikaci, zatímco ostatní jádra zůstávají nečinná. Přidání workerů může pomoci nezávislým požadavkům, ale může také zvýšit soupeření o databázi a poptávku po paměti. Před předpokladem, že dvojnásobný počet jader přinese dvojnásobnou propustnost, zkontrolujte model souběžnosti aplikace.
KVM poskytuje virtuálním strojům vlastní virtuální hardware. Nepřeměňuje však každý štítek vCPU na identický benchmark napříč hostiteli a generacemi procesorů. Porovnejte uvedený model CPU a podmínky přidělení, pokud jsou k dispozici, a poté službu vyhodnoťte s vlastní zátěží. Vyhněte se vyvozování nákupního závěru z krátkého syntetického skóre, které se aplikaci nepodobá.
Hledejte tlak a čekání, nejen průměry
Systém se může jevit pomalý, aniž by udržoval vysoké průměrné procento CPU. Procesy mohou čekat na úložiště, uvolňování paměti nebo jinou službu. Informace o tlaku na jádru Linux (Pressure Stall Information) zveřejňují na podporovaných systémech informace o zpožděních CPU, paměti a I/O. Tyto signály mohou pomoci identifikovat soupeření o prostředky vedle běžných metrik využití a časování aplikace.
Čtěte metriky společně. Trvalý tlak na paměť, odkládání na disk, selhané alokace a pomalé požadavky ukazují na jiný zásah než jeden vytížený výpočetní worker. Čekání na úložiště může odůvodnit změny dotazů nebo jiný profil disku. Externí zpoždění API nebude opraveno přidáním místního RAM. Před volbou, který prostředek zvýšit, vysvětlete pozorované omezení.
| Pozorované chování | Otázka k prozkoumání | Možný další krok |
|---|---|---|
| Jeden thread vytížený, volná jádra nečinná | Může tato práce běžet paralelně? | Vylepšete úlohu nebo změňte návrh workeru |
| Tlak na paměť během sestavy | Kolik operací se překrývá? | Ohraničte souběžnost nebo přidejte otestovanou rezervu |
| Pomalé požadavky s čekáním na I/O | Které čtení nebo zápisy jsou zpožděné? | Zkontrolujte dotazy a chování úložiště |
| CPU a paměť nízké, požadavky pomalé | Zpožďuje odpovědi nějaká závislost? | Změřte volání směrem dolů |
Plánovací příklad s výslovnými předpoklady
Představte si malou aplikaci se dvěma webovými workery, databází a jedním spotřebitelem fronty. Tým měří tyto služby během běžných požadavků a úlohy generování sestavy. Zjistí, že povolení čtyř sestav najednou prudce zvyšuje poptávku po paměti a zároveň zpožďuje běžný provoz. Místo okamžitého zakoupení největšího plánu omezí souběžnost sestav a výsledek znovu změří.
Pokud upravená zátěž stále potřebuje více paměti, upgrade nyní odpovídá pozorovanému požadavku. Pokud fronta zůstává vázána na CPU a nezávislé úlohy mohou běžet souběžně, může být vhodnější více prováděcích prostředků. Toto jsou příkladová rozhodnutí, nikoli výkonnostní údaje pro plány SwissOctet. Uchovejte vlastní měření a omezení spolu se zvolenou konfigurací.
Ponechte jasnou cestu pro další měření
Definujte signály, které spustí revizi: zhoršení doby odezvy, opakovaný tlak na paměť, rostoucí fronty nebo změněná zátěž. Udržujte monitorování dostatečně nenáročné, aby se samo nestalo novým úzkým místem. Po přidání funkce nebo velkého datového souboru proveďte nové posouzení a vyhněte se opakovaným upgradům, když je skutečným problémem neomezený proces nebo pomalý dotaz.
Rodiny VPS od SwissOctet uvádějí specifikace CPU a paměti a vybrané možnosti prostředků. Přečtěte si konečnou konfiguraci po přidání doplňků, včetně fakturačního období a celkové částky. Před spoléháním se na ně potvrďte podmínky upgradu u živého operátora. Užitečná velikost VPS je taková, která zvládne měřenou zátěž s rozumnou rezervou a srozumitelným dalším krokem.
Váš praktický kontrolní seznam.
- Zmapujte služby a údržbové práce.
- Změřte souběžnost v běžném a vytíženém období.
- Naplánujte trvalou a dočasnou paměť.
- Zkontrolujte, zda lze práci CPU spouštět paralelně.
- Porovnejte tlak, využití a časování aplikace.
- Definujte, kdy konfiguraci revidovat.
Podrobnosti, na kterých záleží.
Mám velikost VPS dimenzovat podle měsíčních návštěvníků?+
Počet návštěvníků použijte jako kontext, poté změřte složitost požadavků, souběžnost, velikost dat a práci na pozadí. Stejný počet návštěvníků může vytvářet různou zátěž.
Zrychlí více RAM službu vždy?+
Ne. Pomůže, když je paměť omezujícím faktorem nebo umožní užitečné cachování, ale nevyřeší každé zpoždění způsobené CPU, úložištěm nebo externí závislostí.
Zdvojnásobí dvojnásobný počet vCPU výkon?+
Ne. O tom, kolik dodatečné kapacity je užitečné, rozhoduje paralelismus, vlastnosti procesoru, soupeření o prostředky a návrh aplikace.
Jděte ke zdroji.
Tyto zdroje podporují technické koncepty v tomto průvodci. Před změnou produkčního systému se řiďte aktuální dokumentací.
- Jádro Linux: Pressure Stall Information docs.kernel.org
- PostgreSQL: Spotřeba prostředků www.postgresql.org
- Projekt KVM: Kernel Virtual Machine www.linux-kvm.org
Redakční vedení od SwissOctet. Příklady jsou ilustrativní. Specifikace služeb, dostupné možnosti a smluvní podmínky je nutné ověřit samostatně.