Brzina diska: baseline i burst
Kako se računa ograničenje brzine diska po tier-u, zašto je potreban burst od 30 sekundi, kako da izmeriš stvarnu brzinu i šta da radiš ako je prekoračiš.
Ažurirano 23. avgust 2026.
Disk na VPS-u je NVMe, ali brzinu ograničava tier tako da jedna mašina ne pojede deljeni resurs čvora. Razumevanje ovih brojeva spasava te od pitanja „zašto je baza spora kad je CPU slobodan”.
Kako se izračunava
Osnova za upis je 60 MB/s po jezgru, ali ne manje od 60 i ne više od 400 MB/s. Čitanje je duplo veće od osnove za upis. Iznad osnove, dostupan je burst od tri puta veće vrednosti u trajanju od 30 sekundi.
| Tier | Jezgra | Osnova za upis | Osnova za čitanje | Burst upisa (30 s) |
|---|---|---|---|---|
| VDS-1 | 1 | 60 MB/s | 120 MB/s | 180 MB/s |
| VDS-2 | 2 | 120 MB/s | 240 MB/s | 360 MB/s |
| VDS-3 | 4 | 240 MB/s | 480 MB/s | 720 MB/s |
| VDS-4 | 6 | 360 MB/s | 720 MB/s | 1080 MB/s |
| VDS-5 | 8 | 400 MB/s | 800 MB/s | 1200 MB/s |
| VDS-6 | 10 | 400 MB/s | 800 MB/s | 1200 MB/s |
Burst pokriva ono što i treba: pokretanje aplikacije, raspakivanje arhive, primenu migracije. Stalni tok upisa — kopiranje gigabajta, build, skeniranje velike baze — radi na osnovi.
Kako da izmeriš
sudo apt install -y fio
fio --name=w --rw=write --bs=1M --size=2G --numjobs=1 \
--runtime=60 --time_based --end_fsync=1 --directory=/var/tmp
Prve sekunde će pokazati burst, a zatim će brzina pasti na osnovu — to je normalna i očekivana slika, a ne kvar.
Brza gruba provera bez instaliranja paketa:
dd if=/dev/zero of=/var/tmp/testfile bs=1M count=2048 oflag=direct
rm /var/tmp/testfile
Ne pokreći testove diska na produkcionoj mašini tokom radnog vremena. Test će zaista potrošiti ceo dostupni propusni opseg, a tvoj sajt će tokom tih nekoliko minuta odgovarati po nekoliko sekundi. I ne ostavljaj test fajlove za sobom: dva gigabajta na disku od 40 GB je primetan deo, vidi prostor na disku.
Kako da prepoznaš da je disk usko grlo
sudo apt install -y sysstat
iostat -x 2 5
vmstat 2 5
Gledaj dva pokazatelja: %util blizu 100 i await u desetinama milisekundi ukazuju na red čekanja na disku. U vmstat je znak isti — rastuća kolona b (procesi koji čekaju) uz nizak procenat iskorišćenosti CPU-a.
Još jedan simptom: visok load average uz skoro neiskorišćen CPU. Linux load average takođe broji procese koji čekaju na disk.
Ko tačno upisuje:
sudo iotop -o -b -n 3
Šta da radiš ako si udario u usko grlo
- Rasporedi ih u vremenu. Kopiranja, buildovi registra, izveštaji — noću i ne u isto vreme. Vidi zakazane zadatke.
- Ograniči pozadinske zadatke.
rsync --bwlimit,nice -n 19 ionice -c3 <command>za sve što nije hitno. - Smanji upise. Ograniči veličinu logova, isključi preteranu detaljnost u aplikaciji, prebaci keš u memoriju (
tmpfs) ako će preživeti restart. - Podesi bazu. U PostgreSQL-u i MySQL-u lavovski deo upisa čini transakcioni log. Više memorije za buffere znači manje pristupa disku.
- Pređi na viši tier. Osnova raste sa jezgrima: od VDS-1 na VDS-2 se duplira. Planirana nadogradnja je moguća samo naviše, uz dodatno plaćanje za preostale dane plaćenog perioda.
Česte greške
- Merenje brzine sa
ddbezoflag=direct. Podaci se smeste u page cache, a brojevi ispadnu naduvani. - Tretiranje bursta kao stalne brzine. Prvih 30 sekundi je brzo, zatim osnova — to je tako po dizajnu.
- Držanje swap-a na aktivnom disku i swapovanje u njega. Kad memorije nedostaje, swap pretvara disk u usko grlo: bolje ograniči kontejnere, vidi ograničenja resursa.