Vlákno názorů k článku Novinky v Knot Resolver 6: ochrana před DoS útoky – přehled pro operátory od Filip Jirsák - Proč je zvolen exponenciální pokles hodnoty čítačů v...

  • Článek je starý, nové názory již nelze přidávat.
  • 26. 7. 2024 15:48

    Filip Jirsák
    Stříbrný podporovatel

    Proč je zvolen exponenciální pokles hodnoty čítačů v čase a ne třeba lineární? Ne že by mi to připadalo špatně, ale zajímalo by mne, jaká za tím byla úvaha.

  • 26. 7. 2024 20:50

    Vladimír Čunát

    Lineární pokles by byl nejjednodušší na výpočet (odečtení konstanty za krok) i na konfiguraci (okamžitý limit by odpadl). Exponenciální pokles je asi druhá nejjednodušší možnost (vynásobení konstantou za krok).

    Mimochodem exponenciála není nějaká horká novinka pro podobné účely, čtenáři Rootu jistě znají load average. A matematicky je zajímavé, že aritmetický průměr za posledních X minut by byl mnohem dražší na paměť.

    Pro vysvětlení volby u nás je asi lepší se nedívat na to co s čítači děláme v jednom kroku, ale na to jaká je definice jeho hodnoty v daný moment (pomiňme zaokrouhlovací nepřesnosti). Tedy jakoby expandovat tu řadu operací z celé historie.

    S lineárním vidím potíž, že události co se děly teď mají stejnou váhu jako ty co se děly dříve, tedy až do situace kdy "spadneme na nulu" a tím se historie vymaže. S exponenciálním si jakoby pamatujeme celou historii, ale váha události hladce klesá dle jejího stáří.

    A proč takovou vlastnost tady vidím jako prospěšnou? Chci zvýhodnit uživatele co generují rovnoměrnější zátěž před těmi co posílají stejné množství práce v intenzivních pulzech. Je to prostě méně náchylné na chvilková přetížení.