Tung belastning på API

jagduvi
Posts: 174
Joined: 13 Jun 2012, 14:20
Country: Sweden

Re: Sv: Tung belastning på API

Postby jagduvi » 12 Apr 2013, 09:44

Om fler takes sker under samma sekund, kan man då få samma take fler gånger eller tappa bort vissa takes?
... men när det sker flera TO samma sekund så tas väl alla TO med som har den TO tiden, så du lär få med samma svar i överlappet om du frågar på samma sluttid som ditt senaste sista svaret du fick.
Lösningen kan vara att lägga på en sekund på din nästa fråga på ditt senaste sista posten.
Det är just det som är frågan. Tas flera zoner under samma sekund i slutet av intervallet riskerar man att inte få med takes om man lägger på en sekund i nästa fråga om gränsen på 500 är konstant.
Jag skulle hellre sett ett id av något slag för att hantera "sidbrytningar".
För min del är det bara att överlappa med någon minut, det är ju så jag gör just nu. Jag får flertalet zoner som jag redan har lagrat men det sorterar jag bort på min sida.

Vad är det du vill ha api:et till?, nyfiken.

Skickat från min ZTE-BLADE via Tapatalk 2
Turf Divisions - Spela Turf i seriespel. http://turfdivisions.se/

User avatar
AJ_
Posts: 122
Joined: 27 Feb 2012, 20:32
Country: Sweden
Location: Linköping

Re: Tung belastning på API

Postby AJ_ » 12 Apr 2013, 09:45

Vad är det du vill ha api:et till?, nyfiken.
Jag kommer inte att använda detta API alls, försöker bara hjälpa till att identifiera svagheter i det. :)

Sent from my Nexus 7 using Tapatalk HD
TurfWidget
Image
Mobil: Nexus 5X | Stad: Linköping

User avatar
knegge
Posts: 178
Joined: 20 Sep 2012, 16:58
Country: Sweden

Re: Tung belastning på API

Postby knegge » 13 Apr 2013, 17:15

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.)
Lagturf pollar med cron: */10 * * * *. Alltså var 10:e minut.
Seriespel pollar med cron: 55 * * * *. Alltså fem i, varje timma.
Men det är ju en smal sak att ändra, frågan är ju bara till vad ?

Jag experimenterade redan från början med att hämta flera användare i stöten, men när det inte framgick exakt vilka begränsningar som existerar så valde jag 10 i stöten. Förhoppningsvis så är det lite effektivare med bulk-hämtning.
En GET-query kan ju kapas om den är för lång, allt från 255 byte till 8k är väl normalt. Om det dessutom cachas någonstans så kan ju även den ha en annan begränsning ?

En annan tanke jag haft är att ha lite delay mellan varje request, säg 5-10s, så att man inte genererar en så hög och smal peak utan istället sprider ut det över några minuter.

I vilket fall som helst så anser jag att API bör ha en självbegränsande egenskap, alltså neka på förfrågan och indikera att man får hejda sig lite, eller fördröja frågan lite. Detta ställer förståss mycket större krav på de som använder API't, att klienten måste hantera en "retry later" och nöja sig med gammal data.
Image

User avatar
knegge
Posts: 178
Joined: 20 Sep 2012, 16:58
Country: Sweden

Re: Tung belastning på API

Postby knegge » 14 Apr 2013, 20:32

Jag ändrade min cron på lagturf till: 7-57/10 * * * *
Jag lade till 5s delay på den efter varje 10-request jag gör, så att den tar typ 5-6 minuter att bli klar.
Normalt har den väl tagit 60-120s att bli klar.

För övrigt är det över 500 användare i Lagturf, samt över 100 i Seriespelet.
Image

Jimo
Posts: 586
Joined: 19 May 2012, 19:06
Country: Sweden
Location: Gurkstaden vid Mälaren

Re: Tung belastning på API

Postby Jimo » 14 Apr 2013, 20:59

Är det på sin plats att försöka skilja ut inaktiva i lagturfen, tex genom att med jämna mellanrum kräva en aktiv handling av en lagmedlem? Det är tråkigt om inaktiva genererar "dyrbar" trafik.

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

Re: Tung belastning på API

Postby Drassen » 14 Apr 2013, 21:44

Jag vill börja med att säga tack för att ni hjälper till att avlasta API:t. Det gör att vi kan fortsätta framåt på ett mjukt sätt istället för att strypa funktionalitet osv. Intressant att höra hur ni använder det också.

Just nu är det mycket inför bonanza, men vi får fortsätta fundera på hur vi ska utveckla API:t. Ge gärna konkreta förslag på bra lösningar som gynnar alla parter. Samt diskutera dessa inom "API-användargänget" för att förädla. Ställ dock inte krav, vi är tungt belastade som ni vet;)
--No Private Messages please, use contact@turfgame.com instead.--

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

Re: Tung belastning på API

Postby Drassen » 02 Jun 2013, 16:57

En ny fråga till er api-användare:
Är det ngn som kör mer anrop än vanligt just innan omgångsstart?
--No Private Messages please, use contact@turfgame.com instead.--

User avatar
GuteLappen
Posts: 328
Joined: 23 Sep 2012, 10:13
Country: Sweden
Location: Gotland, Sweden
Contact:

Re: Sv: Tung belastning på API

Postby GuteLappen » 02 Jun 2013, 20:46

Nope, inte från Gotland.
Var sjuk långsam omstart denna gång.
Nästan 10 minuter.

Skickat från min GT-I9305N via Tapatalk 2

User avatar
knegge
Posts: 178
Joined: 20 Sep 2012, 16:58
Country: Sweden

Re: Tung belastning på API

Postby knegge » 02 Jun 2013, 22:38

En ny fråga till er api-användare:
Är det ngn som kör mer anrop än vanligt just innan omgångsstart?
seriespelet slutar ju uppdatera efter rundstart dessutom.. men det är ju först 12:55 den kollar och drar bara en fråga innan den blockar resten av uppdateringarna. hittills så har det ju dröjt till eftermiddag eller kväll innan vi vevat igång den.

jag var in och kollade tvärt på random lag i lagturfen, verkar som den uppdaterade sakta eftersom många hade 0 poäng och en drös som hade gamla poäng. men det är ingen egenskap som ska förändras där vad jag vet, förutom att när det går segt så uppdaterar den ju automatiskt saktare (nästa cron blockas).
Image


Return to “Tredje Part”

Who is online

Users browsing this forum: No registered users and 1 guest