Milyen esetekben fogyhatnak el az erőforrásaink?

Sokkoló volt hallani, hogy az Egyesült Királyságban amiatt veszett el csaknem 16 ezer Covid-pozitív betegről szóló bejegyzés, mert a Public Health England Excel táblája betelt, és az 1.048.576 sort meghaladó pozitív esetekről szóló bejegyzések eltűntek a rendszerből. Ennek kapcsán azt gondoltuk, érdemes lenne utánajárni, hogyan és hányféleképpen “fogyhat el” az online tevékenységünk, és mit tegyünk, ha ilyen, vagy ennél azért talán szofisztikáltabb probléma elé kerülünk.

Lássuk, milyen esetekben fogyhat el a rendelkezésünkre álló erőforrás.

  1. Nem megfelelő adatbázis

Jelen esetben a Public Health England pont ebbe a hibába futott bele, már ha adatbázisnak nevezhetünk egy Excel táblát. Ahogy a The Guardian írta, a PHE a laboroktól kapott teszteredményeket eredetileg korlátlan hosszúságú CSV fájlokban kapta, amiket azonban valamiért korlátozott hosszúságot feldolgozni képes Excel táblázatba másoltak, vagy azzal nyitottak meg. Ilyenkor a Microsoft programja az 1.048.576-dik sor utáni bejegyzéseket levágja, és azokat nem mutatja.

https://www.theguardian.com/politics/2020/oct/05/how-excel-may-have-caused-loss-of-16000-covid-tests-in-england

Talán erre mondták annak idején, hogy az emberiség nem állt készen egy járványhelyzetre.

Mindenesetre érdemes egymással adatokat cserélő szervezetek között egy megfelelő, limit nélküli adatátvitelt, vagy közösen használt informatikai rendszert alkalmazni, ez egyébként attól függetlenül jó dolog, hogy épp egymillió tesztelés történik-e rövid idő alatt, vagy csak ezer.

  1. Elfogy a tárhely és nincs tárhelyfigyelés

Tárhelyszolgáltatás esetében a cpanelen minden esetben van tárhelyfigyelés, és 80%-os használtságnál már emailben is megy a figyelmeztetés. Csakhogy az a tény, hogy van szoftveres tárhelyfigyelés, még nem jelenti azt, hogy van humán tárhelyfigyelŐ is. Amennyiben elmulasztjuk észrevenni, hogy elértük a maximumot, jó esetben csak nem tudjuk feltölteni a webshopunkba a következő termék nagyfelbontású fotóját, rossz esetben nem kapjuk meg a fontos email-eket, mert ezek mérete is beletartozik a tárhelylimitbe.

Ha észrevesszük, hogy közelítünk az általunk elérhető maximum foglaltság felé, érdemes mielőbb váltani másik tárhely vagy VPS szolgáltatásra, egy gombnyomással adható az előfizetésünkhöz plusz SSD terület, amivel már nyugodtabban dolgozhatunk.

  1. Maximumra járatott processzor

Tárhelyszolgáltatás esetében, amikor egy 12 magos processzor dolgozik normál esetben akár 400, prémium tárhely esetében legfeljebb 12 user kiszolgálása érdekében, el tudjuk képzelni, mi történik, ha egyszerre sokan fognak szokatlanul aktív tevékenységbe. A cpanel szerverek éppen ezért limitálják egyes felhasználók tevékenységét, méghozzá a maximális folyamatok és entry process-ek száma vagy lemezsebesség alapján. Ha egy oldalunkra látogató ügyfél már belefut ebbe a limitbe, és őt már nem tudja kiszolgálni a tárhely, 508 vagy 503-as hibát kap vissza.

Ha VPS-ünk van, és maximumra járatjuk a processzormagot, akkor egyszerűen csak nagyon lassan töltődik be a tartalmunk, vagy ha egy bizonyos idő eltelik (60 másodperc, amit manapság már senki nem vár ki, és inkább megy a konkurenciához), akkor timeout miatt leáll a kommunikáció.

Mit tehetünk? Először is számoljuk ki, egyidejűleg hány ügyfélre számítunk a legforgalmasabb időszakban, erre számoljunk rá biztonsági tartalékot, és nézzük meg, az oldalunk futási sebessége mellett mivel tudjuk ezt kiszolgálni. Lehet a kódot finomítani, vagy egy optimalizálatlan kódhoz egy nagyobb erőforrást bepakolni, bár nyilván jobb az előbbi.

VPS esetében nincs entry process megkötés, itt a CPU terhelést érdemes figyelni. Mindenképp rendeljünk terheléses tesztet, hogy tudjuk, milyen szcenáriók mellett kell új csomagra váltanunk, amit azonban akkor már gyorsan megtehetünk.

  1. Elfogy a RAM

Szintén kiszámolható, hogy az alkalmazásunk vagy oldalunk hány felhasználó esetében éri egy a rendelkezésre álló memória betelítődését. Ha a RAM elfogy, egy OOM Killer nevű folyamat (Out Of Memory Killer) dönti el, hogy milyen processzt gyilkol le, és dob ki nagy lendülettel a kukába. Rossz esetben egy sshd-t (aminek kicsi az esélye, mert kicsi a memórialábnyoma), nagyobb valószínűséggel egy php folyamatot dob el. Aki épp ott várt, az úgy járt.

VPS esetében gyorsan allokálhatunk plusz memóriát a szerverünkhöz, amit szinte azonnal elkezdhetünk használni, így végül ki tudunk szolgálni mindenkit, akik hozzánk jönnek. Mert nem jó egy hosszú folyamattal és sok pénzzel becsalogatott vásárlót olyan banális és olcsó dolog miatt elveszíteni, mint a nem jól megválasztott mennyiségű memóriamodul.

  1. Elfogy a sávszélesség

A RackForestnél mondjuk ilyen nem fordul elő, mert bőven van nálunk belföld és külföld is, de van, hogy elképesztően megnő a sávszélesség-igénye egy-egy ügyfélnek. Nemrég, amikor megnövekedett forgalom miatt egy teli cpanel szerverről egy új, üres szerverre kellett kiemelni egy ügyfelet, láttuk, hogy a tipikusan 10 mbps-ot vivő, 400 useres tárhely helyett egy reklámkampány miatt megtáltosodott ügyfél egymaga 100 mbps-ot igényelt az új helyen (gondolhatjuk, hogy nem ez vezetett számára az elsődleges problémához, mert előbb fogyott el a CPU és a RAM az olcsó tárhelyén).

Mindenesetre érdemes tájékozódni, hogy a szolgáltatónk milyen sávszélességet tud biztosítani, sőt azt is látni kell, hogy a garantált sávszélességet milyen tényleges előfizetéssel a zsebében tudja “garantálni”. Mert előfordul, hogy széttárja a kezét, és ezzel nagyobb kárt okoz, mint azzal előre számoltunk.