Kako smanjiti troškove hostinga za vašu aplikaciju
Da biste smanjili troškove hostinga, pronađite što je zapravo pokrenuto i zašto, zatim pustite sve da spava kad nitko ne koristi. Na hostovima koji se skaliraju na nulu, neaktivna aplikacija i uspavana baza koštaju vrlo malo, pa se najveće uštede obično postižu uklanjanjem onoga što ih drži budnima, najčešće koda koji provjerava bazu podataka svakih nekoliko sekundi, a zatim smanjenjem prometa i brisanjem aplikacija koje nitko ne koristi.
Većina malih aplikacija nema problem s prometom. Imaju problem „nešto je uvijek uključeno”. Ovaj vodič pokazuje kako to pronaći i popraviti, uz upute koje možete dati AI graditelju aplikacija.
Za što zapravo plaćate
Računi za hosting malih aplikacija dolaze iz nekoliko stavki. Kad znate koja je velika, znate gdje tražiti.
| Trošak | Što ga pokreće | Uobičajeno rješenje |
|---|---|---|
| Računalna snaga (poslužitelj) | Koliko je stroj velik i koliko sati radi | Pustite ga da spava; odaberite ispravnu veličinu |
| Baza podataka | Njezina veličina i koliko je budna | Zaustavite stalne upite da bi mogla spavati |
| Promet | Koliko podataka posjetitelji preuzmu | Komprimirajte slike, predmemorirajte datoteke |
| Pohrana | Datoteke i podaci koje čuvate | Obrišite stare učitane datoteke, zapise i sigurnosne kopije koje ne trebate |
| API-ji trećih strana | Pozivi AI modelima, kartama, e-pošti, SMS-u | Predmemorirajte rezultate, postavite ograničenja |
Mnogi moderni hostovi, uključujući Mythex, skaliraju se na nulu: kad nitko ne koristi aplikaciju, poslužitelj se zaustavi i ne troši ništa za računalnu snagu, a zatim se probudi pri sljedećem posjetu. Time se pitanje mijenja iz „koliko je velik moj poslužitelj?” u „zašto je moj poslužitelj budan?”.
Korak 1: Pogledajte kamo odlazi novac
Prije nego što išta promijenite, otvorite stranicu s korištenjem vašeg hosta i pronađite:
- Koji projekt najviše košta. Često je jedna aplikacija većina računa.
- Koja kategorija: računalna snaga, baza, promet ili pohrana.
- Kada troši. Ravna linija tijekom noći, kad nemate korisnika, pokazatelj je da nešto drži aplikaciju budnom.
Na Mythexu, Usage details prikazuje zadnjih 30 dana podijeljenih na Build (AI agent) i Run (hosting, promet, baza podataka i pohrana datoteka), s raspodjelom po projektu.
Korak 2: Pustite neaktivne aplikacije i baze da spavaju
Ovo je pravi adut za većinu malih aplikacija. Baza koja spava kad je neaktivna i probudi se pri sljedećem zahtjevu gotovo ništa ne košta tijekom mirnih sati. Baza kojoj se pristupa svakih nekoliko sekundi nikad ne postaje neaktivna, pa plaćate cijeli dan.
Mythexova ograničenja hostinga detaljno opisuju kako to radi za objavljene aplikacije: spavajuća aplikacija ne troši ništa za računalnu snagu, baza počinje u najmanjoj veličini, raste dok je zauzeta, spava nakon 5 minuta neaktivnosti i naplaćuje se prema svojoj veličini pomnoženoj s vremenom dok je bila budna. Zato aplikacija koja pristupa bazi čak i jednom svakih nekoliko minuta, dan i noć, plaća se kao da je stalno zauzeta, dok ista aplikacija bez pozadinskog prometa košta vrlo malo.
Uobičajene stvari koje drže aplikaciju budnom:
- Anketiranje. Stranica koja poslužitelju svakih 2–5 sekundi postavlja pitanje „ima li što novo?”. Ostavite li tu karticu otvorenu na jednom laptopu, baza nikad ne spava.
- Automatski osvježavajuće nadzorne ploče koje ponovno učitavaju podatke na tajmeru, čak i kad ih nitko ne gleda.
- Praćenje dostupnosti koje svake minute pinga aplikaciju.
- Pozadinske petlje u kodu poslužitelja, na primjer
setIntervalkoji zauvijek čisti ili sinkronizira podatke. - Zakazani zahtjevi „keep-alive” koje je netko dodao da izbjegne sporo prvo učitavanje. Oni rade tako da sprječavaju spavanje, što je upravo ono što košta novac.
Zamolite AI da ih pronađe:
Pregledaj kod i pronađi sve što se izvršava na tajmeru ili stalno upita bazu podataka: anketiranje, setInterval, automatsko osvježavanje, pozadinske petlje. Popiši svaku, koliko često se izvršava i izvršava li se kad nitko nema otvorenu stranicu. Još ništa ne mijenjaj.
Zatim ih popravljajte jednu po jednu:
Nadzorna ploča anketira /api/orders svake 3 sekunde. Promijeni je tako da se osvježava samo dok je kartica preglednika vidljiva, i svakih 60 sekundi umjesto svake 3. Dodaj ručni gumb Refresh.
Ako vaša aplikacija zaista treba ažuriranja uživo (chat, live rezultat), pitajte može li poslati ažuriranja samo kad se nešto promijeni, umjesto da stalno pita. Za mnoge aplikacije dovoljno je „osvježi kad se korisnik vrati na karticu”.
Korak 3: Odaberite ispravnu veličinu poslužitelja
Veći strojevi koštaju više po satu. Mnoge aplikacije izrađene AI-jem počinju s zadanom veličinom koja je dovoljna; problemi nastaju kad se traži „više snage” za popravak sporosti koja je zapravo bila spor upit.
- Zadržite najmanju veličinu koja opslužuje vaš promet bez pogrešaka.
- Ako vidite rušenja zbog memorije, prvo pitajte AI učitava li aplikacija previše u memoriju (cijelu tablicu umjesto jedne stranice rezultata).
- Dodajte strojeve samo ako imate izmjereni promet koji ih traži.
Na Mythexu se veličina stroja bira pri objavi prema tome što aplikacija treba, a dodatni strojevi se pokreću samo kad je promet velik i vraćaju se na spavanje kad padne. Trošak prati veličinu, pa u chatu zatražite manju veličinu ako mislite da je prevelika.
Korak 4: Smanjite promet
Promet je ono što posjetitelji preuzimaju. Slike su obično najveći dio.
- Komprimirajte slike i koristite moderne formate poput WebP ili AVIF.
- Promijenite veličinu slika na veličinu u kojoj se prikazuju. Fotografija od 4.000 piksela prikazana kao sličica od 400 piksela troši većinu onoga što se preuzme.
- Lijeno učitavajte slike ispod preloma stranice.
- Predmemorirajte statične datoteke (skripte, stilove, slike) da se povratnici ne preuzimaju ponovno. Pogledajte što je predmemoriranje.
- Ne dopustite da aplikacija na svakom pregledu stranice šalje velike datoteke.
Provjeri svaku sliku u aplikaciji. Promijeni im veličinu na najveću veličinu u kojoj se prikazuju, pretvori ih u WebP i lijeno učitaj sve što je ispod prvog zaslona. Reci mi ukupnu veličinu prije i poslije.
Brže stranice i manji promet obično idu zajedno. Pogledajte kako ubrzati web stranicu.
Korak 5: Očistite što nitko ne koristi
- Uklonite objave starih aplikacija: testne objave, završene eksperimente, lanjsku stranicu za događaj.
- Obrišite stare učitane datoteke, zapise i izvoze koje ne trebate.
- Obrišite dijeljene poveznice za pregled koje više ne koristite. Na Mythexu otvaranje poveznice za pregled budi projekt i troši vaše kredite, pa zaboravljena poveznica koju netko stalno otvara i dalje košta.
- Uklonite neiskorištene usluge, poslužitelj API-ja ili worker koji aplikacija više ne poziva.
Korak 6: Razmislite o statičkoj stranici
Ako vaša stranica nema prijave, nema spremljenih korisničkih podataka i nema logiku na poslužitelju, na primjer marketinška stranica, portfolio ili jelovnik, može biti statička stranica: obične datoteke posluživane s CDN-a. Nema poslužitelja ni baze koju treba održavati. Na Mythexu statičke stranice ne troše kredite dok samo stoje.
Ova stranica nema prijave ni spremljene podatke. Može li se ponovno izraditi kao statička stranica bez poslužitelja? Što bismo izgubili?
Korak 7: Pazite na plaćene API pozive
Za aplikacije koje pozivaju AI modele, karte ili SMS, računi trećih strana mogu nadmašiti hosting.
- Zahtijevajte prijavu za sve što košta novac po pozivu.
- Dodajte ograničenje po korisniku (pogledajte što je ograničavanje brzine).
- Predmemorirajte odgovore koji se ne mijenjaju, na primjer geokodiranje iste adrese.
- Postavite ograničenja potrošnje ili upozorenja kod svakog davatelja.
Česte pogreške
- Pogađanje umjesto mjerenja. Prvo provjerite raspodjelu korištenja; skupi dio često nije ono što biste očekivali.
- Kupnja većeg poslužitelja za popravak sporosti. Nedostajući indeks baze ili učitavanje previše podataka obično je pravi uzrok.
- Anketiranje svega. Svaki tajmer od nekoliko sekundi razlog je da baza ostane budna.
- Pingiranje aplikacije da bi ostala „toplom”. To poništava uštedu koju daje skaliranje na nulu. Prihvatite kratko buđenje pri prvom posjetu ili svjesno platite stalnu dostupnost.
- Zaboravljene stare objave. Neiskorištene aplikacije s bazama i pozadinskim poslovima tiho se zbrajaju.
- Nekomprimirane slike. Često najveći trošak prometa na malim stranicama.
Popis za provjeru
- Znam koji projekt i koja kategorija (računalna snaga, baza, promet, pohrana) najviše košta.
- Ništa ne anketira bazu svakih nekoliko sekundi kad nitko ne gleda.
- Nadzorne ploče se osvježavaju u razumnom intervalu ili samo dok je kartica vidljiva.
- Nijedno praćenje dostupnosti ni pozadinska petlja ne drži aplikaciju budnom bez razloga.
- Poslužitelj je najmanja veličina koja radi.
- Slike su promijenjene u veličini, komprimirane i lijeno učitavane; statične datoteke su predmemorirane.
- Stare aplikacije su uklonjene iz objave, stare datoteke obrisane, neiskorištene poveznice za pregled uklonjene.
- Stranice bez podataka ili prijava su statične.
- Plaćeni API-ji imaju prijavu, ograničenja po korisniku i upozorenja o potrošnji kod davatelja.
Smanjenje troškova na Mythexu
Mythex koristi jedan saldo kredita za izradu i hosting, pa uštede na hostingu ostavljaju više kredita za izradu. Nekoliko točaka specifičnih za Mythex:
- Objavljene aplikacije i njihove baze spavaju kad su neaktivne i bude se pri sljedećem posjetu. Baza spava nakon 5 minuta neaktivnosti, pa je uklanjanje stalnog anketiranja obično najveći dobitak.
- Plan Pro plaća pola cijene Free plana za hosting, baze, promet, pohranu datoteka i pješčanik za pregled; AI košta isto na oba plana. Pogledajte Credits.
- Dobit ćete e-poruku prije nego što bi niski saldo pauzirao objavljenu aplikaciju, a pauzirane aplikacije zadržavaju svoju bazu i datoteke.
Za širu sliku troškova pogledajte koliko košta izrada aplikacije i što je web hosting.
Pitanja
Zašto je račun za hosting visok kad moja aplikacija ima malo korisnika?
Obično nešto drži aplikaciju budnom. Kod koji provjerava bazu podataka svakih nekoliko sekundi, praćenje dostupnosti koje svake minute šalje zahtjev ili zaboravljena pozadinska petlja mogu držati poslužitelj i bazu u radu cijeli dan, čak i bez posjetitelja.
Košta li spavajuća aplikacija novac?
Kod hostova koji se skaliraju na nulu, spavajuća aplikacija troši malo ili ništa za računalnu snagu; obično i dalje plaćate pohranjene podatke. Na Mythexu spavajuća objavljena aplikacija ne troši ništa za računalnu snagu, a njezina baza spava nakon 5 minuta neaktivnosti i naplaćuje se samo za vrijeme dok je bila budna.
Je li anketiranje loše za troškove hostinga?
Anketiranje svakih nekoliko sekundi znači da baza nikad nema neaktivno razdoblje, pa ne može spavati. Anketirajte rjeđe, samo dok netko gleda stranicu, ili šaljite ažuriranja umjesto da ih tražite.
Je li statička stranica jeftinija za hosting od web aplikacije?
Obično da. Statička stranica su samo datoteke posluživane s CDN-a, bez poslužitelja i baze podataka koje treba održavati. Ako vaša stranica nema prijave niti spremljene podatke, izrada statičke stranice jedna je od najvećih dostupnih ušteda.