Jak zjistit reálný výkon CPU u VPS?

Jak zjistit reálný výkon CPU u VPS?
« kdy: 29. 01. 2020, 13:11:26 »
Ahoj všem,

prosím si o radu, pokusím se být stručný.

Cíl
Omezit CPU profilem jednotlivé VPS tak, aby při přetížení libovolného VPS nedocházelo k přetížení hostujícího fyzického serveru. Přičemž CPU profil umožňuje nastavit limit vCPU VPS pro využívání CPU fyzického serveru (např VPS1 smí využívat při uvažované utilizaci maximálně 12 % celkového výkonu fyzického CPU).

Co jsem zkusil
  • Vypočítal jsem si dle fyzického CPU, že na každou jednu vCPU připadá cca. 3 % CPU fyzického serveru.
  • Nasadil jsem profil 12 % CPU na VPS 4x vCPU.
  • A pozoroval jak unlimited server je podstatně rychlejší, než ten s aplikovaným CPU profilem s limitem 12 % CPU.

Potřebuji poradit
Jak ověřit, zda mnou vypočítaná hodnota 3 % je správná. Jak ověřit v jaké míře je VPS při konfiguraci 4x vCPU schopný využívat fyzicky CPU.


Všechny bechmarky co jsem našel fungují stylem, že zatěžují pomocí dd I/O spíš než CPU (jako třeba tar) a počítají za jak dlouho se příkaz dokončí. Já bych potřeboval spíše dokázat měřit, jak simulovat, kolika vlákny umí VPS komunikovat.

Děkuji všem zkušenějším za rady.


Re:Jak zjistit reálný výkon CPU u VPS?
« Odpověď #1 kdy: 29. 01. 2020, 14:42:49 »
Nerozumim tomu, ale na testovani se da pouzit `stress`
https://fedora.pkgs.org/29/fedora-x86_64/stress-1.0.4-21.fc29.x86_64.rpm.html

Re:Jak zjistit reálný výkon CPU u VPS?
« Odpověď #2 kdy: 29. 01. 2020, 15:31:21 »
Na jednoduché testy používám sysbench. Jinak při znalosti architektury budete vědět, kolik vlákny hostitelský CPU disponuje, ne? Každá virtualizační technologie má jiné možnosti omezení. Správnost nastavení ověříte pomocí testů a monitoringem reálného provozu. To samé budete muset řešit s IO zátěží a pamětí. To téma je dost obsáhlé, koukněte na nějaké přednášky od Pavla Šnajdra z VpsFree.


Re:Jak zjistit reálný výkon CPU u VPS?
« Odpověď #3 kdy: 29. 01. 2020, 16:00:54 »
Tohle omezeni mi prijde fakt spatne nastavene. Virtualni servery totiz nepouzivaji napr. v Tvem prikladu neustale 12% CPU vykonu, ale narazove vic, kdyz na ne prijde rada.

Opravdu tam mas pomer vCore/pCore 33 ku jedne? To je jako fakt hodne.

Pokud je to 33 vCore na jeden fyzicky procesor, tak zalezi kolik mas jader na tom fyzickem, nicmene pro virtual se 4 vCPU bych v tu chvili volil omezeni tak na 33-40% (pokud nepredpokladas ze vsichni budou zatezovat ty virtualky az na krev)

Re:Jak zjistit reálný výkon CPU u VPS?
« Odpověď #4 kdy: 29. 01. 2020, 18:44:48 »
@ Ondřej Kolín: Už jsem o tom četl, zkusím to. Děkuji za tip.

@ Ondrej Nemecek: Myslím, že tenhle myslím, že jsem použil a byl to přesně případ o kterém jsem psal v závěru. Mrknu na to. Že to musím ověřit vím, proto jsem založil toto téma. Zkusím od toho člověka dohledat nějaké
informace.

@cek_post.cz: Je tam 32 logických online jader, ale uvažujme ve výpočtu 2x8 fyzických jader (bez HT). Neumím ověřit jak se ten výpočet počítá, proto se ptám jak to měřit, abych ověřil, zda 3 % jsou OK či nikoliv. A nějakou rezervu není cílem, aby jedno VPS permanentně mělo CPU na 90 %. Nárazově to hádám asi chvilku nebude stíhat a odezva bude pomalejší, ale po chvilce by load toho VPS měl klesnout, až to přechroupe. Když budu mít 10x VPU (po 4x vCPU) a každé z nich bude mít limit 40 procent fyzického CPU, znamenalo by to, že když by 2 z 10 VPS bylo na 90 %, tak by docházelo k přetížení hosta, protože by jen ty dva servery udělali 80 % zatížení fyzického serveu a nedejbože kdyby byly další servery o něco více zatíženy. Nepředpokládám, že "všechny" servery budou na krev, ale minimálně dva z nich určitě ano.

@Všichni: Teorii už asi vím, možná si trochu připouštím, že tenhle limit bych zavádět neměl a kdyby jo, tak třeba v poměru 10 % na každé vCPU, ne pouze 3 %.

Zkusím ten stress + mrknu na ten sysbench a snad mi něco z toho pomůže  ověřit nastavení limitu a najít jeho ideální nastavení.


RDa

  • *****
  • 2 465
    • Zobrazit profil
    • E-mail
Re:Jak zjistit reálný výkon CPU u VPS?
« Odpověď #5 kdy: 29. 01. 2020, 19:02:57 »
A co to mate za system, ktery lehne kdyz se plne vytizi?

At pustite jakykoliv vypocetne narocny proces co je schopen vytvorit dost vlaken, aby cpu nikdy nebyl idle, tak to nelze nijak povazovat za kriticky stav. Proste az vznikne novy proces, bude mu pridelen taky nejaky procesorovy cas. Nejhur co cloveka v linuxu potka, je ze spici procesy budou mit vetsi latenci nez se probudi. Jestli nemate proces v nice rezimu, tak na nej vzdy nejak prijde rada.

Jaky scheduler tedy pouzivate? Mozna by stalo za to, aby jste pouzil nejaky jiny. Nebo spravne nastavil prioritu procesum ktere na host systemu mate.

Re:Jak zjistit reálný výkon CPU u VPS?
« Odpověď #6 kdy: 29. 01. 2020, 22:02:29 »
Přesně, pokud jde o vytížení CPU, tak 100% vytížení může být cílem (a často i je). Horší je, pokud se čeká na IO nebo dojde RAM - to může způsobit, že systém dlouhodobě nebude odpovídat nebo že dokonce spadne. Proto musíte brát v úvahu i konkrétní druh zátěže.

Re:Jak zjistit reálný výkon CPU u VPS?
« Odpověď #7 kdy: 30. 01. 2020, 08:09:07 »
Ostatní limity pro traffic/IO/RAM řeším taky, ale teď řeším vyloženě CPU, protože to jediné neumím otestovat.

Akorát jdu zkust ten stress a sysbech, co jste doporučovali.

Re:Jak zjistit reálný výkon CPU u VPS?
« Odpověď #8 kdy: 30. 01. 2020, 10:17:14 »
Stress a sysbench jsem zkusil, ale nezdá se mi, že by to umělo co potřebuji. Umí to akorát zatížit CPU, což mi je jako takové k ničemu. Nebo to neumím používat?

Potřebuji: Zjistit reálný výkon CPU, tedy kolik má k dispozici vláken, a do jaké míry je může využívat. Zjistit, co to se serverem udělalo /jak ho to omezilo), když nastavím CPU profil třeba na 40 %.

Věděl byste někdo prosím, jak toho docílit?


Re:Jak zjistit reálný výkon CPU u VPS?
« Odpověď #9 kdy: 30. 01. 2020, 10:54:39 »
... Zjistit reálný výkon CPU, tedy kolik má k dispozici vláken, a do jaké míry je může využívat. ...
?

Re:Jak zjistit reálný výkon CPU u VPS?
« Odpověď #10 kdy: 30. 01. 2020, 15:40:51 »
Potřebuji: Zjistit reálný výkon CPU, tedy kolik má k dispozici vláken, a do jaké míry je může využívat. Zjistit, co to se serverem udělalo /jak ho to omezilo), když nastavím CPU profil třeba na 40 %.
Věděl byste někdo prosím, jak toho docílit?

K dispozici má všechna zapnutá jádra/vlákna a využít je může na 100%.

Na hostitelském stroji získáte info o CPU takto:

Kód: [Vybrat]
cat /proc/cpuinfo
Pomocí benchmarku zjistíte relativní výkon pro daný typ úlohy a ten pak rozdělujete do virtuálek.

Ale myslím, že ten Váš dotaz vychází v základu z nějaké úplně mylné představy.


Re:Jak zjistit reálný výkon CPU u VPS?
« Odpověď #11 kdy: 30. 01. 2020, 19:23:23 »
To není pravda, protože při aplikování CPU profilu na omezení 1 % CPU hostitelského serveru se v TOP hostitelského serveru snížilo při benchmarku využití CPU VPS 1x vCPU ze stabilních 100 % na  stabilních 38 %.

Co se týká cat /proc/cpuinfo, tak tam najdu informace o hostitelském procesoru, ale to nemá žádnou vypovídající hodnotu o možnostech VPS přístupu k fyzickému CPU.

RDa

  • *****
  • 2 465
    • Zobrazit profil
    • E-mail
Re:Jak zjistit reálný výkon CPU u VPS?
« Odpověď #12 kdy: 30. 01. 2020, 19:53:48 »
Co je to za moderni trend, ze tazatele nejsou schopni ani popsat poradne sve prostredi kolem otazky.. co jsme vestci vsichni???

Co za host a guest OS pouzivate ? Vcetne verze! Napoveda: Linux nebo Windows neni odpoved.
Co za virtualizacni platformu provozujete a v jakem rezimu?
Jak se jmenuje presne option kterou nastavujete na ty vase procenta?
Dival jste se do manualu co ona option dela?

Ceho chcete dosahnout?? Zadny vysledek totiz nema vypovidaci hodnotu, kdyz to nemate s cim srovnavat!

Re:Jak zjistit reálný výkon CPU u VPS?
« Odpověď #13 kdy: 14. 02. 2020, 00:02:37 »
nastaveni hw-hypervisor-numa-vcpu chybí, co radit? každopádně ten bench na ničem nepojede to bude ladit týdny protože IO a paměť. bych na to šel od lesa a dal nějakej benchmark a postupně zaplňoval ten hypervisor dokud by nezačal výkon z benchu klesat pod hodnotu kterou bych si stanovil jako cil.

Re:Jak zjistit reálný výkon CPU u VPS?
« Odpověď #14 kdy: 14. 02. 2020, 00:07:31 »
To není pravda, protože při aplikování CPU profilu na omezení 1 % CPU hostitelského serveru se v TOP hostitelského serveru snížilo při benchmarku využití CPU VPS 1x vCPU ze stabilních 100 % na  stabilních 38 %.

Co se týká cat /proc/cpuinfo, tak tam najdu informace o hostitelském procesoru, ale to nemá žádnou vypovídající hodnotu o možnostech VPS přístupu k fyzickému CPU.

vps nema pristup k fyzickemu CPU proboha, hypervisor tam proste PWMkem pousti jednotlive hosty a ty jedou na tom cpu nativne nez mu ho zase sebere. tj pristup ma ke kolika mu povolite, nicmene nejsou jeho. v kvm a urcite i jinde je to index takze kdyz to overcommitnete tak máte prostě jen koeficient využití celku. By mě zajímalo hlavně co řešíte za kraviny když tam do toho provozujete neomezené hosty, neomezenej host neexistuje je to host s vcpu odpovídající nominálu hw příslušeného hypervisoru takže NIKDY nemá 100% (garantovaných)