Tung belastning på API

User avatar
Drassen
Site Admin
Posts: 2425
Joined: 04 Aug 2010 11:46

Tung belastning på API

Post by Drassen »

Hej kära api-användare.

Precis som ni uppmärksammat tidigare så belastar API requests vår server en hel del. På sistone har känningarna ökat, vilket tyvärr lett till att det finns risk att det påverkar spelets stabilitet när spelare är ute och tar zoner.
Ett alternativ är att placera api på en helt egen server och låta API endast sega ner andra API-anrop. Detta är dock för dyrt i dagsläget, sett till hur mycket som doneras/månad. (privat donerade servrar är inte längre ett alternativ. Vi testade det på olika sätt tidigare, men det slutar bara med att det stjäl för mycket tid i underhåll på olika sätt. Nu kör vi bara Amazon, vilket är väldigt stabilt men dyrare.)

Ett annat alternativ är att se över hur API anrop ska göras, hur ofta, hur mycket, osv. Vilket vi avser börja med.

Det hela är lite av ett dilemma eftersom vi mer än gärna ser tredjepartsprodukter utvecklas, något som vi alla vet berikar turf. Samtidigt är det något som stjäl både tid och till viss del pengar från projektet. Vi måste ha ett bra förstående och lyssna på varandra som API skapare och API nyttjare för att det hela ska bli så bra som möjligt.

Jag tänkte att vi kan diskutera API-belastning i denna tråd.

Vi börjar med steg ett:
Hur använder ni API idag? Beskriv gärna anrop samt frekvens. (Vi har redan sett att det peakar med 10-minuts intervaller.)
--No Private Messages please, use contact@turfgame.com instead.--
User avatar
AJ_
Posts: 122
Joined: 27 Feb 2012 20:32
Country: Sweden
Location: Linköping

Re: Tung belastning på API

Post by AJ_ »

TurfWidget hämtar http://api.turfgame.com/v1/user/<email>. Det sker per default var 30:e minut eller manuellt på request av användaren. Intervallet kan ändras till 2min, 15min, 30min, 1h, 4h eller aldrig av användaren.
Enligt Plays statistik har den drygt 400 aktiva installationer.
TurfWidget
Image
Mobil: Nexus 5X | Stad: Linköping
User avatar
Drassen
Site Admin
Posts: 2425
Joined: 04 Aug 2010 11:46

Re: Tung belastning på API

Post by Drassen »

ok, känns snällt. fler?
--No Private Messages please, use contact@turfgame.com instead.--
User avatar
whiterocker
Posts: 29
Joined: 09 Feb 2013 13:57
Country: Sweden

Re: Tung belastning på API

Post by whiterocker »

Turf Locations kommer att hämta alla zoner (http://api.turfgame.com/v3/zones) vilket sker max en gång/24h (en viktig begränsning) och som dessutom något turfaren i sig måste utföra eftersom det bör göras över Wifi.

När appen väl är igång så kontrolleras de närmsta zonerna inom en km radie ifall de blockerade - vilket sker med 30 sekunder mellanrum på ickeblockerade zoner.

Det är viktigt att jag får synpunkter på detta innan just de funktionerna blir implementerade.
User avatar
GuteLappen
Posts: 328
Joined: 23 Sep 2012 10:13
Country: Sweden
Location: Gotland, Sweden
Contact:

Re: Tung belastning på API

Post by GuteLappen »

Turfplates Beta hämtar 6 användare var 5:e minut.
För närvarande hämtas varje användare och plate mett en egen request, vilket blir 9 plates * 6 användare = 54 requests per 5 minuter.
Jag har påbörjat en helt annan motor, som på ett effektivare sätt hämtar datat och cachar det i en databas. Tänker även göra en enda request för alla användare.
Hur många användare kan man fråga på per request? Borde finnas någon gräns, om inte annat i längden på requeststrängen?
turdus
Posts: 17
Joined: 16 Feb 2013 21:58
Country: Sweden

Re: Tung belastning på API

Post by turdus »

Länskampswidgeten (Seriespelswidgeten) hämtar inget direkt från turfs API utan går mot Serie spelssidan. http://turf.kng.se/serie/ och parsar ut info från den.
User avatar
Drassen
Site Admin
Posts: 2425
Joined: 04 Aug 2010 11:46

Re: Tung belastning på API

Post by Drassen »

Whiterocker: låter i grunden bra, sen får du gärna meddela om du märker att användandet skjuter i höjden.

Gutelappen: Ny motor låter toppen, en request är bättre och vi har i dagsläget ingen begränsning i antal användare. Fundera även på om det behövs var 5:e minut, räcker 10(gärna 9 eller 11 så slipper vi att alla peakar på samma minut.) eller kompromissar det dina funktioner för mycket? Jag misstänker att dina plates kommer att användas av ganska många...

Turdus: Uppfattat, vet du hur den sidan jobbar mot api?
--No Private Messages please, use contact@turfgame.com instead.--
User avatar
whiterocker
Posts: 29
Joined: 09 Feb 2013 13:57
Country: Sweden

Re: Tung belastning på API

Post by whiterocker »

Drassen wrote:Whiterocker: låter i grunden bra, sen får du gärna meddela om du märker att användandet skjuter i höjden.
Det kommer jag.

Ni borde egentligen ha API-nycklar så ni själva kan se i ert API vilket program/tjänst som eventuellt tynger ned era servrar.
affanicaffan
Posts: 605
Joined: 16 Nov 2012 00:27
Country: Sweden
Location: Umeå

Re: Tung belastning på API

Post by affanicaffan »

Drassen wrote: Turdus: Uppfattat, vet du hur den sidan jobbar mot api?
Sidan uppdateras var 10:e minut, ett tips är att fråga Knegge
I'M BACK!!! :D Åtminstone tills knät strejkar igen (augusti 2017) ;)
HaraldTH
Posts: 4
Joined: 10 Apr 2013 13:42
Country: Sweden

Re: Tung belastning på API

Post by HaraldTH »

Jag har experimenterat med att rita en graf över ens framsteg i Turf (finns tidig prototyp här som visar mina framsteg i den innevarande omgången).

För att få underlag till grafen anropar jag i första hand http://api.turfgame.com/v3/user/(användarnamn). Jag anropar även http://api.turfgame.com/v3/zones/id:(zo ... :(zonid_n) varje gång det första anropet returnerar en eller flera zoner som inte redan är cacheade i min databas. Tidigare anropades API:et så ofta som varannan minut men jag insåg att jag fick mycket mer data än jag behöver för att rita en graf då. Nu har jag dragit ner anropsfrekvensen till var sjuttonde minut men frekvensen kan förmodligen dras ner ytterligare, jag ska låta den nuvarande frekvensen vara ett tag för att se vilken inverkan det har på presentationen av grafen.
Post Reply

Return to “Tredje Part”