Closed zoul closed 3 months ago
Našel jsem v logu, GET na diskutuj.digital/t/27.json vrací 429 / Too many requests. Což je asi fér postřeh. Zkusil jsem v 2fd588f56d8c97f01004f89fe48db0e560e8ec9f zlepšit kešování dotazů z Discourse.
Tohle nepomohlo, ale podle mě to bude souviset s #987 – špatně nám funguje kešování, takže to Discourse bombardujeme častěji, než bychom čekali?
Dělá to furt i po opravě kešování stránek na naší straně. Asi to bude dané tím, jak načítáme obsah postů pro titulku:
GET / 200 in 3641ms
│ GET https://diskutuj.digital/c/4.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/t/163.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/t/85.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/t/167.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/t/27.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/t/244.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/t/226.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/posts/440.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/posts/214.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/posts/450.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/posts/50.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/posts/667.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/posts/612.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/c/5.json 200 in 0ms (cache: HIT)
│ │ GET https://diskutuj.digital/t/214.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/t/252.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/t/191.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/t/223.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/t/83.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/t/153.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/posts/572.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/posts/686.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/posts/513.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/posts/600.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/posts/208.json 200 in 1ms (cache: HIT)
│ │ GET https://diskutuj.digital/posts/412.json 200 in 0ms (cache: HIT)
Nevím, možná před to Discourse strčit jednoduchou keš, třeba CloudFront, ať to načítání JSONů zbytečně nezlobí?
CloudFront spíš nepomůže, protože jde o hromadu různých endpointů, které by musel držet hodně dlouho. Ale našel jsem v adresáři Discourse soubor templates/web.ratelimited.template.yml
, kde jsou nastavení pro nginx, který ty limity hlídá. Zkusím limity zvýšit a uvidíme.
Tohle už se prakticky neděje.
Viz například tady, zhruba:
Tipuju Discourse, je potřeba to chytit lokálně nebo líp logovat, abychom to zjistili přesně. A pak tam asi dodělat retry?