, 01 2017 . 11:07
+
, (heavy hitters). . Qrator Labs
janatem .
, , , . , - NGINX , , , .
( ) . . , , , .
, . , .
, . , , .
Decay-based count, (. ), .
:
- Threshold-. , .
- Top-. .
- , .
.
, , . (, . .). , .
- , . , .
- , . , , , .
- . , . , , .
- . - : , , .
- , , , , top-, .
, , . . , , . . DRAM , DRAM . , , . L2 . , .
. - . , . , .
. ,
(exponential moving average, EMA) .
EMA. , . . -, . -, .
, ( ), . , . , - . , , , . , :
- Packet sampling
- Space saving algorithm
- HashParallel
- HashPipe
- Count-min sketch
, , .
,
.
:
, :
. :
, :
.
, , . .
:
,
, . . , ,
.
. , .
, ,
. , :
.
, ,
,
.
:
, .
:
. ,
, .
(, ,
),
.
,
.
:
,
,
( ). ,
.
:
,
, .
,
, , , .
. 1 ,
.
1:
, .
,
:
.
(). , , , ( , ), .
.
, :
,
, ( ). .
:
.
,
. .
,
,
:
.
:
,
.
:
, . , , ,
:
(. . 2), , , .
2:
( )
. , , .
, .
-, , .
.
, :
:
.
-, () :
,
.
, .
,
, . 64- , 100 . .
EMA , ( ) . :
,
, .
, ,
.
,
, .
, :
.
,
. ,
, L3 L2. , .
-, . ,
.
Decay-based count
:
:
,
. , , ,
, , :
, , . , - 0.5 .
, , , . , 10 , ,
:
.
: FPU
. 100 , .
:
, .
-,
.
-,
,
.
:
,
.
. 3. ,
.
3:
, . 0
,
.
:
1/2, .
:
1. EMA;
2. FPU ( exp() log() );
3. .
:
pastebin.com/wiiEe6MP.
update()
(
L1) 1, 2 3
125,
100,
11 , .
. , . , -, , -, , . : .
Qrator. , .
https://habrahabr.ru/post/334354/
:
author Shapelez
qrator labs
rate detector