Portál AbcLinuxu, 2. května 2025 07:23
Odhadnout kolik paměti je potřeba pro provoz vlastního VPS je opravdu velmi náročné. Přitom ceny VPS tarifů se odvíjejí zejména podle garantované RAM, a tak je tento odhad dost zásadní. Abych si dokázal na tuto otázku sám sobě odpovědět, pokusil jsem se nasimulovat si VPS u sebe doma.
Virtuální server jsem postavil na distribuci Debian (Lenny). Pro virtualizaci jsem použil VirtualBox. Abych mohl jednoduše připojit síťovku hosta do rozhraní hostitele, nepoužil jsem VirtualBox OSE (2.0.4), ale VirtualBox od Sunu (2.1.4), kde je to mnohem jednodušší. Serveru jsem nejprve poskytl 256MB RAM.
Nainstalován byl Apache(WWW), Bind(DNS), ProFTPd(jako standalone server), Exim4(MTA), MySQL, PHP jako modul Apache, PostgreSQL, SSHd a pár síťových drobností. Vše v nejnovějších stabilních verzích.
Systém nastartoval s necelými 90MB, ale po pár zacvičeních s Apachem si ukousl celých 100MB.
Nějáké lehké cvičení nás ale samozřejmě nezajímá, potřebujeme to serveru pořádně osolit, a tak jsem stáhl Magento E-shop. Magento je neuvěřitelný moloch postavený nad jiným molochem (Zend Framework). Ve výsledku si pak shop při zobrazení úvodní stránky načte 208 skriptů a spotřebuje 5MB RAM (memory_get_peak_usage). Po instalaci Magenta se ručička spotřebované paměti zastavila na hodnotě 245MB, což už moc příznivé není. Většinu paměti si držel Apache a MySQL. Po restartu Apache paměť klesla na 173MB. Zbytek (cca. 73MB) si drželo MySQL. MySQL si po vytvoření tabulek Magenta tuto paměť drželo už nastálo, restart ho nijak neodlehčil.
Následně jsem zkusil plnou zátěž serveru, tedy nástrojem Apache Bench jsem vytvořil 10 dotazovacích vláken, která celkově provedla co možná nejrychleji tisíc dotazů na úvodní stránku Magenta. Po deseti sekundách došla operační paměť a začalo se swapovat.
Jako ukázku Nette jsem spustil Akrabat forms. Při plné zátěži se paměť tentokrát zastavila na 175MB a více už nerostla.
Radakční systém NORS4 se při plné zátěži také choval rozumně. Použitá paměť se zastavila u 110MB.
Dalším paměťovým testem byla práce s fotkami. V PHP skriptu jsem načetl 1,5MB velkou fotku, ořízl ji a nakonec zmenšil na 100x100px náhled. S pětinásobným spuštěním skriptu si systém během několika sekund poradil, jakmile ale byl skript spuštěn 10x, byla RAM okamžitě zaplněna a následovalo téměř minutové zoufalé swapování.
Z testů celkem zřejmé vyplývá, že pokud nechcete hostovat pouze jeden paměťově nenáročný web, je 256MB RAM opravdu drasticky málo. Pro další sérii testů zkusíme tedy dvojnásobek.
U této velikosti paměti lze očekávat, že VPS nebude určen pouze jedné stránce. Proto jsem změnil běh PHP z modulu na FastCGI, u kterého jde lépe pracovat s bezpečností, výkonem i stabilitou. S 512MB paměti systém zvádl 1 dotaz za sekundu na úvodní stránku Magenta. Využití paměti sice dosáhlo téměř vrcholu a bylo použito 200MB swapu, ale systém běžel reletivně hladce a stabilně. Nette i Nors běžely zcela bez obtíží i při zátěži několika dotazů za sekundu. Podle těchto výsledků bych tedy 512MB doporučil pouze pro jeden paměťově náročný web s návštěvností do 10 000 shlédnutí za den nebo pro několik paměťově málo náročných webů.
Při plné zátěži úvodní stránky Magenta se paměť vyšplhala na 670MB a dále už byla rychlost odezvy závislá pouze na procesoru. Swap nebyl použit. Server přitom zvládl vyřídit 1,3 požadavku za sekundu, což není v případě Magenta špatné. Pokud budeme hostovat více náročných webů a nebudeme mít nijak závratně velikou návštěvnost, bude 1024MB správná volba.
Na serveru Hostmonsteru, kde mám účet, je 30 uživatelů a celkem používáme cca. 14 GB paměti. To tedy vychází na necelých 500MB na jednoho uživatele. U některých typů virtualizace se do Vaší využité RAM ale počítá i linuxový kernel. Proto je potřeba počítat s tím, že pro VPS potřebujete minimálně o 100MB operační paměti více než pro sdílený hosting. Mimoto sdílený hosting umožňuje lépe přelévat nevyužitou paměť. Proto bych raději připočetl dalších 100MB jako zálohu, čímž se dostáváme na celkových 700MB.
Většina hostingů nenabízí za rozumný peníz (do 500/měs.) ani 500MB paměti. Jediná světlá vyjímka je ASPone, který nabízí za 400/měs. dokonce 2GB paměti.
Tiskni
Sdílej:
ladicek@fenix:~$ aptitude show virtualbox-ose Balík: virtualbox-ose Nový: ano Stav: nainstalovaný Automaticky instalovaný: ne Verze: 2.1.4-dfsg-1 ...
U porovnavani nabidek VPS je potreba davat pozor na technologii virtualizace, protoze neni 2GB jako 2GB RAM.
ASPone nabizi VPS na bazi virtuozzo, kde se pamet sdili. Tedy treba 256MB je garantovanych a 2048MB je mozny max.
Tzn. ze lze 16GB host server preprodat treba 40 klientum s 2GB tarifem.
Strucne (muj nazor nikonu nevnucuji) doporucuji pouzit google pro dalsi info:
virutozzo - na oko pekne, u hosteru oblibene prave z duvodu jednoduche instalace a prave moznosti oversellingu ve stejnem stylu jako klasicky webhosting
xen - nelze aplikovat overselling, pamet je vyhrazena jen pro dany VPS - idealni pro linux,
hyper-v - podobna technologie jako xen, opet je pamet vyhrazena - idealni pro win
vmware - lze aplikovat overselling, pomalejsi nez hyper-v a xen (u hosteru malo pouzivana - licence)
Bla bla bla... A ve skutečnosti jich běží 50 na jednom serveru se 4GiB RAM... to už ti nikdo neřekne..
>s možností zabrat až 2048 MB
Coz znamena, ze by v tu chvili taky nekdo tu pamet musel uvolnit :).
Ja s timhle typem virtualizace nemam zkusenosti, ale provozuju na nekolika pocitacich Xen. Tam mi 720MB staci na docela velky webovy server na 4x apache a nekolik desitek domen. Pokud bych mel mensi naroky, nebal bych se ani 256MB RAM...
Obecne bych se virtuozzu radeji vyhnul, prece jen jde o rozsireny jail
sdileny swap
omezene mnozstvi procesu
nemoznost mit vlastni moduly jadra jako tun/tap
prakticky nelze udelat funkcni firewall na urovni vps
chovani pod zatezi je ponekud nevyrovnane
...
ad 1:20 a "prakticky nabizeji 512MB" - a kdo rika ze tech 20 VPS bude mit garantovano pouze 256MB?
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.