Linux VPS: aplinka ir ištekliai jūsų programai
Linux VPS rinkitės pagal programos reikalavimus, o išteklius vertinkite pagal išmatuotą apkrovą. Vien procesoriaus branduolių skaičius ar NVMe žymėjimas nepasako, kaip veiks duomenų bazė, užklausos ir foninės užduotys.
VPSuntu · Atnaujinta · Skaitymas: apie 4 min.
Šiame gide
Aprašykite visą programos aplinką
Surašykite palaikomas operacines sistemas, programavimo kalbos vykdymo aplinką, duomenų bazę, plėtinius ir atsarginių kopijų įrankius. Atskirai pažymėkite oficialų kūrėjo palaikymą ir savo bandytas konfigūracijas. Veikiantis pradinis puslapis dar nepatvirtina, kad sėkmingai bus vykdomas importas ar atkuriami duomenys.
Ubuntu yra vienas iš Linux pasirinkimų. Patikrinkite tiekėjo siūlomą versiją, regioną ir architektūrą. amd64 skirtas dvejetainis failas nebūtinai veiks arm64 aplinkoje. Jei renkatės Ubuntu, pereikite per atvaizdo ir paketų patikrą.
Lyginkite vienodas darbo sąlygas
Kiekviename bandomajame VPS naudokite tą pačią programos versiją, duomenų kopiją, podėlio nustatymus ir foninių procesų skaičių. Rinkitės panašius regionus. Kita programos versija ar arčiau esanti duomenų bazė gali sukurti tariamą aparatinės įrangos pranašumą. Testams nenaudokite klientų asmens duomenų, jei jie nereikalingi.
Mažame ekrane slinkite lentelę į šoną, kad matytumėte visus stulpelius.
| Ką užrašyti | Kodėl tai svarbu |
|---|---|
| CPU paskirstymas | Bendri, dedikuoti ir trumpalaikį spartinimą leidžiantys ištekliai turi skirtingas ribas |
| RAM ir swap | Atmintimi dalijasi visi procesai |
| Disko talpa ir I/O | Laisva vieta neparodo skaitymo bei rašymo spartos |
| Regionas ir priklausomybės | Nuotolinė duomenų bazė gali lemti didžiąją atsako laiko dalį |
| Didinimas ir atkūrimas | Gali reikėti prastovos; padidinto disko gali nepavykti sumažinti |
| Apskaitos vienetai ir priedai | Ta pati VM kaina nebūtinai reiškia vienodą sąskaitą |
Patikrinkite nuolatinės apkrovos ir sąžiningo naudojimo taisykles. Pavyzdžiui, nedideliam katalogui su Nginx, programa, PostgreSQL ir importo užduotimi 2 vCPU bei 4 GB RAM gali būti pradinio bandymo biudžetas. Tai nėra išmatuota talpa ar pažadas apie lankytojų skaičių.
Užfiksuokite pradinius rodiklius
Ubuntu serveryje įdiekite sysstat, kad galėtumėte naudoti iostat. Mėginių rinkimo komandas paleiskite atskiruose terminaluose, kol programa vykdo pasirinktą darbo scenarijų. Ramybės būsena tinka pradinei būklei, bet ne apkrovos ribai nustatyti.
free -h
df -h /
sudo apt update
sudo apt install sysstat
vmstat 1 11
iostat -xz -y 1 10Pirmoji vmstat veiklos ataskaita apima laiką nuo paleidimo; šiam bandymui vertinkite paskesnius vienos sekundės mėginius. iostat parinktis -y praleidžia pirmąją ataskaitą. Komandoje free svarbus available: Linux gali atlaisvinti dalį podėlio, todėl mažas free skaičius savaime nereiškia RAM trūkumo.
Saugokite laiką, scenarijų ir išvestį. Importuojant bei darant kopijas stebėkite disko augimą. df -h / tikrina šakninę failų sistemą; atskirą duomenų bazės tomą patikrinkite atskirai.
Patikrinkite vartotojui svarbias operacijas
Savo valdomoje bandymų aplinkoje patikrinkite paiešką, prisijungimą, įrašymą, failų įkėlimą ir fonines užduotis. Iš anksto nustatykite priimtiną atsako laiką bei klaidų dalį. Atskirai išbandykite atsakymus su podėliu ir be jo.
Iš kompiuterio netoli tikslinių vartotojų vykdoma komanda parodo HTTP būseną, pirmojo baito ir visos užklausos laiką sekundėmis. Pakeiskite domeną bei kelią savo bandymo adresu.
curl -sS -o /dev/null --max-time 30 -w 'status=%{http_code} ttfb=%{time_starttransfer}s total=%{time_total}s\n' https://app.example.com/catalogueViena curl užklausa nepatikrina vienalaikės apkrovos. Kartojamam scenarijui naudokite atskirą klientą, užrašykite užklausų dažnį, vienalaikiškumą, trukmę, duomenų kiekį ir podėlio būseną. 95-asis procentilis nurodo laiką, į kurį telpa 95 % išmatuotų užklausų. Tuo pačiu metu stebėkite serverį.
Pirmiausia raskite ribojantį veiksnį
Mažame ekrane slinkite lentelę į šoną, kad matytumėte visus stulpelius.
| Pastebėjimas esant apkrovai | Ką tirti |
|---|---|
| Mažai available ir nuolatinis swap-in/out | Procesų skaičių, duomenų bazės atmintį ir RAM biudžetą |
| Užimtas CPU ir auganti procesų eilė | Brangias kodo operacijas, vienalaikiškumą ir CPU ribas |
| Pasikartojantis didelis steal time | Fizinio mazgo apkrovą ar plano ribojimus |
| Augantis disko await ir lėtos užklausos | I/O eilę, duomenų bazės užklausas ir disko ribas |
| Greitas vietinis, bet lėtas išorinis atsakas | Regioną, DNS, TLS ir tinklo kelią |
Tai tyrimo kryptys, ne automatinės plano didinimo taisyklės. Užimtas swap gali laikyti seniai nenaudotus puslapius. Await apima laukimą eilėje ir aptarnavimą. Duomenų bazės užraktas gali sulėtinti programą neišnaudojant CPU ar RAM. Susiekite rodiklius su žurnalais ir keiskite po vieną svarbų veiksnį.
Įvertinkite nuomą ir atkūrimą
Linux VPS nuoma apima ne tik VM kainą. Pridėkite reikalingą IP, atsargines kopijas, srautą ir administravimą. Bendros kainos pavyzdys parodo skaičiavimo būdą, o ne dabartinį pasiūlymą. Patikrinkite išeinančio SMTP apribojimus: atvertas sistemos prievadas nepanaikina tiekėjo blokavimo.
Pasirinkite pigiausią iš patikrintų variantų, kuris atitinka užduotį, augimą ir atkūrimo reikalavimus. Mokymuisi galima nagrinėti nemokamo Linux VPS kvotas, tačiau jos taip pat riboja architektūrą, vietą ir išteklius. Patvirtinus aplinką, tęskite svetainės paskelbimą.
Dažni klausimai
Kiek lankytojų atlaiko 2 vCPU?
Be programos ir apkrovos scenarijaus patikimo skaičiaus nėra. Statinis atsakymas iš podėlio ir duomenų bazės įrašymas naudoja skirtingus išteklius. Patikrinkite tikras funkcijas bei vienalaikes užklausas.
Ar NVMe garantuoja greitesnę svetainę?
Ne. Atsako laikui taip pat svarbios I/O ribos, užklausos, podėlis ir programos kodas. Lyginkite vienodos apkrovos rezultatus.