Tung belastning på API

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

Tung belastning på API

Postby Drassen » 07 Apr 2013, 11:59

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

Postby AJ_ » 07 Apr 2013, 17:38

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: 2412
Joined: 04 Aug 2010, 11:46

Re: Tung belastning på API

Postby Drassen » 07 Apr 2013, 18:50

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

Postby whiterocker » 07 Apr 2013, 20:54

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

Postby GuteLappen » 08 Apr 2013, 12:58

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

Postby turdus » 08 Apr 2013, 13:51

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: 2412
Joined: 04 Aug 2010, 11:46

Re: Tung belastning på API

Postby Drassen » 08 Apr 2013, 17:45

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

Postby whiterocker » 08 Apr 2013, 20:01

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

Postby affanicaffan » 08 Apr 2013, 20:23

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

Postby HaraldTH » 10 Apr 2013, 14:22

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.


Return to “Tredje Part”

Who is online

Users browsing this forum: Google [Bot] and 1 guest