Praktinis gidas / Aplinka ir apkrova

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.

· 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šytiKodėl tai svarbu
CPU paskirstymasBendri, dedikuoti ir trumpalaikį spartinimą leidžiantys ištekliai turi skirtingas ribas
RAM ir swapAtmintimi dalijasi visi procesai
Disko talpa ir I/OLaisva vieta neparodo skaitymo bei rašymo spartos
Regionas ir priklausomybėsNuotolinė duomenų bazė gali lemti didžiąją atsako laiko dalį
Didinimas ir atkūrimasGali reikėti prastovos; padidinto disko gali nepavykti sumažinti
Apskaitos vienetai ir priedaiTa 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 10

Pirmoji 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/catalogue

Viena 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 apkrovaiKą tirti
Mažai available ir nuolatinis swap-in/outProcesų 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 timeFizinio mazgo apkrovą ar plano ribojimus
Augantis disko await ir lėtos užklausosI/O eilę, duomenų bazės užklausas ir disko ribas
Greitas vietinis, bet lėtas išorinis atsakasRegioną, 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.

Išteklių pavyzdžiai skirti planavimui. Šiame gide nėra tiekėjų reitingo ar tariamų našumo matavimų.

Susiję gidai