Fórum Root.cz

Hlavní témata => Server => Téma založeno: Ħαℓ₸℮ℵ ␏⫢ ⦚ 18. 04. 2023, 15:22:33

Název: Je takýto výkon VPS OK?
Přispěvatel: Ħαℓ₸℮ℵ ␏⫢ ⦚ 18. 04. 2023, 15:22:33
Zdravím jsem rozpačitý z nového VPS. Když se k němu přihlásím po dlouhé době, spuštění prvního příkazu (journalctl, ip, lscpu) trvá tak 2 až 5 sekund, pak už normální opakovně (do nějaké doby - nevím 10 minut až hodina.) Disky tam jsou prý SATA a vlastně mi tam nebeží nic, co by dělalo diskové IO (v podstatě jen síťové služby bez zápisu na disku)

Ale dělá to jen někdy, vždy to není

Je to nejnižší tarif s nějakém omezením cpu na 1GHz, jednojádro. Hledali byste problém v pomalém disku nebo pomalém CPU? Skoro mám pocit, jako kdyby se tam rozjížděl zaparkovaný disk  ;D při každém loginu

Model name:                      Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
Stepping:                        2
CPU MHz:                         3586
CPU max MHz:                     3800,0000
CPU min MHz:                     1200,0000
BogoMIPS:                        6999.85
Název: Re:Je takýto výkon VPS OK?
Přispěvatel: RDa 18. 04. 2023, 16:16:31
Disk bude jenom rotacni a sdilenej.. dnes jsme moc rozmlsani temi SSD a zapomina se, kolik prace a iops vyzaduje kompletni a spravne slinkovani dynamicke binarky.
Název: Re:Je takýto výkon VPS OK?
Přispěvatel: jjrsk 18. 04. 2023, 17:12:33
Ja teda nevim, skoly na to nemam ... ale nechovaji se nahodou vsechny virtualy (mimo dalsich aspektu) bezne tak, ze vse co se nepouziva, proste neni v ramce, takze se to do ni musi nacist, coz bude nejakou dobu trvat i na ssd, natoz na o 3 rady pomalejsim mechanickym disku?

Ja kdyz poslu select do databaze, ktera se bezne vubec nepouziva (nebot je to testovaci DB) tak to co na ostre trva sekundu muze trvat klidne minutu, protoze to nejdriv musi nacist vsechna ta data z disku.

A navic si uvedom, ze to ze tobe nic nebezi neznamena ze neco nebezi nekomu jinemu. Pokud ti to nevyhovuje, tak neni nic snazsiho, nez si poridit nebo pronajmout HW, ktery bude jen a jen pro tebe. Jen to holt nebude stat pivo mesicne.
Název: Re:Je takýto výkon VPS OK?
Přispěvatel: Vít Šesták (v6ak) 18. 04. 2023, 17:49:35
Pokud je tam rotační HDD sdílený s ostatními, může přístup na něj docela trvat. Linux (a snad všechny běžné OS) cacheuje často používané soubory v RAM. Pokud ale se RAM využívá až na dřeň, mohou i některé často používané soubory vypadnout.

Tedy IMHO se sejdou dva faktory:

1. Soubor není v RAM cache, a je potřeba jej načíst s HDD. (Proto se to typicky nestane dvakrát hned po sobě.)
2. HDD dost vytěžuje i někdo další.

V CPU bych problém spíš nehledal, i když teoreticky je taky možné, že by jedno jádro sdílela hromada VPS. Ale to by asi nebyl problém jen prvního příkazu.
Název: Re:Je takýto výkon VPS OK?
Přispěvatel: z_sk 18. 04. 2023, 18:11:13
Koľko stalo VPS?

Aká je vtedy vyťažená RAM? CPU? Čo vypisuje cez príkaz
Kód: [Vybrat]
trace COMMAND? Čo je v dmesg vtedy?
Název: Re:Je takýto výkon VPS OK?
Přispěvatel: RDa 18. 04. 2023, 18:37:38
Pokud to VPS nepouzivas, tak muze byt ze host OS ti tu VM odswapuje. Takze je sice hezke, ze tvoje VM si mysli ze ma nejakou ram a v ni buffery.. v realite to zadna skutecne ram byt nemusi.
Název: Re:Je takýto výkon VPS OK?
Přispěvatel: Vít Šesták (v6ak) 18. 04. 2023, 18:48:19
Nejsem si jistý s tím odswapováním VM, ale může záležet na technologii virtualizace. Třeba Xen to IIUC nedovoluje. Intuice říká, že to nedává moc smysl, protože pro guesta je to docela past. Navíc virtualizační software (není-li to emulátor) nebývá obyčejná aplikace, ale typicky jede na úrovni kernelu, ne-li nad ním.
Název: Re:Je takýto výkon VPS OK?
Přispěvatel: BlackMagic 18. 04. 2023, 20:20:47
Nejlepší bude, když si výkon otestuješ

https://github.com/masonr/yet-another-bench-script

Výsledky odjinud jsou třeba na lowendtalk.com
Název: Re:Je takýto výkon VPS OK?
Přispěvatel: RDa 18. 04. 2023, 20:32:23
Nejsem si jistý s tím odswapováním VM, ale může záležet na technologii virtualizace. Třeba Xen to IIUC nedovoluje. Intuice říká, že to nedává moc smysl, protože pro guesta je to docela past. Navíc virtualizační software (není-li to emulátor) nebývá obyčejná aplikace, ale typicky jede na úrovni kernelu, ne-li nad ním.

Nevidim duvod proc by pamet pouzivana VM by nemela byt jako bezna pamet - swapovatelna. Neodswapovatelne stranky se pouzivaji jenom pro DMA HW. V podstate reseni co umozni over-commit rozhodne nedela fyzickou alokaci cele pameti pro virtualku.

Hypervisor se sve podstaty muze pak delat i jine optimalizace nad temi premapovanymi strankami - napr. deduplikaci (viz man qemu-system).
Název: Re:Je takýto výkon VPS OK?
Přispěvatel: Vít Šesták (v6ak) 19. 04. 2023, 10:05:34
Tak třeba v Xenu to tak zřejmě je. Resp. nejsem si 100% jistý, že to platí pro každou myslitelnou konfiguraci, ale moc mě nenapadá, jak docílit něčeho jiného. Xen běží nad „hostitelem“ (tzv. dom0), nebo-li hostitel je v podstatě první virtuálka, která má přístup ke všemu HW (dokud jej nepředá někomu jinému) a může spravovat další VM. Xen spravuje RAM – typicky hostitel se části RAM vzdá a nechá Xen ji přidělit jinému VM. O swap se pak stará až kernel, tedy každá VM zvlášť. Tak mi to funguje v QubesOS, což je OS založený na virtualizaci.

Podobnou situaci bych čekal u hypervizorů s podobnou architekturou, třeba HyperV, na kterém stojí mj. WSL.

A vlastně to dává smysl i u tradičnějších virtualizátorů jako VirtualBox a KVM. Jednak kvůli výkonu (přístup k paměti ve VM by si vyžádal průchod zbytečně mnoho vrstvami), jednak kvůli zmíněným překvapením, a jednak protože takovéto věci typicky běží v kernelu a mohou dělat různé psí kusy…

Zkoušel jsem se – s vědomím, že není vševědoucí a někdy kecá – na tuto otázku zeptat i ChatGPT. Tvrdí, že nezná virtualizátor, který by swapoval guesty, ale že je běžné udělat nějaký overcommit. Neberu to jako jednoznačný důkaz, ale přinejmenším nevyvrátil moji hypotézu.
Název: Re:Je takýto výkon VPS OK?
Přispěvatel: noob 19. 04. 2023, 13:30:46
Všechno je to otázka ceny.

6 jader, 16GB RAM a 400 GB SSD disk stojí u Contabo 10 EUR a po přihlášení přes SSH se disk chvíli tváří jako lenochod (přitom služby co na tom jedou nonstop jsou svižné přiměřeně dané konfiguraci) S 1.2TB rotačním diskem je to ještě víc patrné (12 EUR). Ale za tu cenu mě to fakt neuráží.

Podobná konfigurace VPS u Zoneru (rozdíl jen v 500GB SSD) je svižná za všech okolností. Ale taky se bavíme o cca 60 EUR. Stejně tak je v pohodě třeba Master nebo Superhosting v podobné ceně.

Na druhou stranu u Contabo funguje třeba VPN pres IPSEC, fungují LXC kontejnery apod. S tím jsem zase jinde neuspěl.
Název: Re:Je takýto výkon VPS OK?
Přispěvatel: RDa 19. 04. 2023, 19:30:54
... Xen spravuje RAM – typicky hostitel se části RAM vzdá a nechá Xen ji přidělit jinému VM. O swap se pak stará až kernel, tedy každá VM zvlášť. Tak mi to funguje v QubesOS, což je OS založený na virtualizaci.

Podobnou situaci bych čekal u hypervizorů s podobnou architekturou, třeba HyperV, na kterém stojí mj. WSL.

A vlastně to dává smysl i u tradičnějších virtualizátorů jako VirtualBox a KVM. Jednak kvůli výkonu (přístup k paměti ve VM by si vyžádal průchod zbytečně mnoho vrstvami), jednak kvůli zmíněným překvapením, a jednak protože takovéto věci typicky běží v kernelu a mohou dělat různé psí kusy…

Od nejake generace procesoru (cca xeon 5500 *1) existuje rozsireni TLB na dvojurovnove mapovani pameti (EPT), ktere proste dovoluje delat virtualizaci pohodlneji, a neni uz treba pouzivat baremetal hypervisor. A nektere verze vmware na tom zaviseli, takze ty novejsi nesli pustit na starem hw.

*1
https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.resmgmt.doc/GUID-69CDC049-8B42-4D26-8B47-94961B1777A4.html

EPT here:
https://en.wikipedia.org/wiki/Second_Level_Address_Translation
https://www.alibabacloud.com/blog/a-tribute-to-hackers-the-way-to-explore-memory-virtualization_599058

Citace
# cat /proc/cpuinfo | grep vmx\ flags
vmx flags       : vnmi preemption_timer invvpid ept_x_only ept_ad ept_1gb flexpriority tsc_offset vtpr mtf vapic ept vpid unrestricted_guest ple shadow_vmcs pml ept_mode_based_exec
model name      : Intel(R) Xeon(R) CPU E3-1220 v6 @ 3.00GHz

imho xen bylo "in" do doby nez prislo EPT, ktere pak umoznilo vznik reseni jako KVM
(pred 15 lety jsem xen zkousel, dnes s qemu-system/kvm neni duvod)
Název: Re:Je takýto výkon VPS OK?
Přispěvatel: Vít Šesták (v6ak) 19. 04. 2023, 19:54:33
Uf, přijde mi, že mícháte dohromady typ hypervizoru a způsob virtualizace. Xen již dávno není jen o paravirtualizaci (PV), umí i úplnou virtualizaci (HVM) a několik variant někde na půli cesty. V některých případech (z hlavy si nejsem jistý, kdy přesně) se EPT využije. Dokonce lze různé způsoby virtualizace kombinovat v jedné instanci Xenu, a QubesOS toho využívá – primárně používá PVH, potom HVM se stubdom (pro PCI passthrough nebo nepodporované OS), a nakonec pár PV (dom0 a stubdom). Nicméně je pravda, že se od původního módu (PV) spíše upouští, zvlášť po Spectre/Meltdown, kde po záplatách byl dopad na výkon celkem drastický.

Pro Xen stále jsou někdy dobré důvody, přinejmenším jsou o tom přesvědčeni autoři QubesOS, kteří u něj při vhodné konfiguraci vidí menší attack surface.
Název: Re:Je takýto výkon VPS OK?
Přispěvatel: RDa 19. 04. 2023, 20:08:39
Uf, přijde mi, že mícháte dohromady typ hypervizoru a způsob virtualizace.

Vubec. Bavim se pouze o ciste - HW nativni - virtualizaci (v mem pripade KVM)

Odchylky mimo - jako emulaci/jit uznavam pouze pro pripad cizi architektury - a paravirtualizace je mozna tak vhodna pro QubesOS, kde by ten IO/IPC overhead byl z plne virtualizace (a emulace hw virtualniho stroje skrze trapy) precejenom zbytecny.
Název: Re:Je takýto výkon VPS OK?
Přispěvatel: Vít Šesták (v6ak) 19. 04. 2023, 20:26:59
Emulace a JIT je ale něco poněkud jiného než PV. Při plné virtualizaci hostitel předstírá kompletní HW a guest se jej snaží ovládat. Při PV se nepředstírá reálný hardware, ale mezi guestem a hostitelem je nějaký protokol, se kterým lze pracovat efektivněji. Dříve to dávalo smysl i pro správu paměti (zejména na x86), ale později se to jednak zkomplikovalo (x64 znemožnily jeden hack) a jednak přibyly instrukce, které to vyřeší jednodušeji a efektivněji, čímž plné PV pozbylo smysl. V některých případech (disky, síť, boot, …) to ale stále dává smysl. BTW, paravirtualizaci pro některá zařízení (IIRC disky, síť a random) používá zdaleka nejen Xen – vizte třeba virtio.