Zadejte hledaný výraz...

Ako obmedzit pocet requestov bez vplyvu na rychlost?

node
verified
rating uzivatele
(5 hodnocení)
14. 4. 2015 09:47:29
Ahojte.
Dajme tomu ze mam server z ktoreho zakaznici prostrednictvom RESTu cerpaju informacie v JSON formate. Kazdy zakaznik ma nejake povolene mnozstvo dopytov ktore moze urobit(ci uz za hodinu, den, mesiac..).
Ako riesit pocitanie requestov bez toho aby to oplyvnilo rychlost?
Pri par zakanzikoch je to prakticky jedno, ale co pri tisikach dopytov za sekundu(extremny pripad)?
Nasadit databazu(mysql?, mongo?, redis?) a logovat id zakaznika a timestamp a urobit count pri kazdom requeste mi pride ze by to mohlo byt pri vyssich poziadavkach nie moc optimalne riesenie. Alebo sa mylim?
14. 4. 2015 09:47:29
https://webtrh.cz/diskuse/ako-obmedzit-pocet-requestov-bez-vplyvu-na-rychlost#reply1106204
Petr Soukup
verified
rating uzivatele
(5 hodnocení)
14. 4. 2015 10:59:17
A co to dělat přímo na webserveru?
Module ngx_http_limit_req_module
14. 4. 2015 10:59:17
https://webtrh.cz/diskuse/ako-obmedzit-pocet-requestov-bez-vplyvu-na-rychlost#reply1106203
node
verified
rating uzivatele
(5 hodnocení)
14. 4. 2015 11:26:20
To by ale znamenalo vytvorit "zonu" pre kazdeho klienta zvlast ak tomu popisu rozumiem spravne. Plus asi by si to takzo vedelo vytiahnut konfiguraci uz DB cize by sa musel spravit nejaky skript ktory by vytiahol data z DB a na ic hzaklade nastavil toto nastavenie webserveru. Nepride mi to ako vhodne riesenie na tento konkretny pripad.
14. 4. 2015 11:26:20
https://webtrh.cz/diskuse/ako-obmedzit-pocet-requestov-bez-vplyvu-na-rychlost#reply1106202
Petr Soukup
verified
rating uzivatele
(5 hodnocení)
14. 4. 2015 11:33:59
Pak asi nějaký memcache/redis. Například by šlo mít pro každého uživatele položku s klíčem ve formátu - uživatel_datum_hodina a při každém přístupu přičíst jedničku (memcache na to má myslím rovnou příkaz). Položka by měla expiraci hodinu, takže by stačila minimální paměť.
Mechcache/redis jsou stavěné na takový způsob použití, takže to spotřebuje méně jak 1ms.
14. 4. 2015 11:33:59
https://webtrh.cz/diskuse/ako-obmedzit-pocet-requestov-bez-vplyvu-na-rychlost#reply1106201
Petr Soukup
verified
rating uzivatele
(5 hodnocení)
15. 4. 2015 02:00:56
Vedlejším efektem bude, že z toho půjdou krásně dělat grafy. Stačí udělat cron, který jednou za hodinu uloží hodinový součet pro každého uživatele do MySQL.
15. 4. 2015 02:00:56
https://webtrh.cz/diskuse/ako-obmedzit-pocet-requestov-bez-vplyvu-na-rychlost#reply1106200
Pro odpověď se přihlašte.
Přihlásit