# Производительность правил корреляции

### <span style="color: rgb(0, 0, 0);"><span data-position="8374" data-size="218">Написание правил</span></span>

<p class="callout warning"><span style="color: rgb(0, 0, 0);"><span data-position="8374" data-size="218"><span class="ui-provider ed bdu bdv bdw bdx bdy bdz bea beb bec bed bee bef beg beh bei bej bek bel bem ben beo bep beq ber bes bet beu bev bew bex bey bez bfa bfb" dir="ltr">В правилах корреляции очередность условий в селекторах имеет значение, НЕ актуально для **Коррелятора 2.0 (Correlator-NG)**</span></span></span></p>

<span style="color: rgb(0, 0, 0);"><span data-position="8374" data-size="218">Уникальные условия надо поднимать вверх в правиле корреляции, чем раньше условие «провалится», тем лучше:</span></span>

![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2024-06/scaled-1680-/cKpimage.png)

![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2026-01/scaled-1680-/gpdimage.png)

Операционные правила должны идти вначале:

![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2026-01/scaled-1680-/G2Eimage.png)

Еще, например, есть правило, в котором в переменную кладется значение из активного листа, а затем эта переменная сравнивается в условии. Так вот в этом случае очередность условий имеет большое значение, так как поменяв условия местами и отодвинув проверку по активному листу в конец, в метриках количество OPS с активным листом уменьшилось со 100000 OPS до 1,1 OPS.

<p class="callout warning">Все поля модели данных ищутся с одинаковой скоростью, а поля \*Extra, S, SA, N, NA, F, FA работают медленнее  
</p>

<p class="callout warning">При наличии условия с листами, словарями и т.д., отодвигайте их в конец.</p>

### <span style="color: rgb(0, 0, 0);"><span data-position="8374" data-size="218">Мониторинг произвоительности</span></span>

<span style="color: rgb(0, 0, 0);"><span data-position="8374" data-size="218">Для мониторинга производительности по корреляции есть метрики, градации веса по операциям в продукте нет, все выполняется быстро благодаря GoLang. Метрики по правилам можно увидеть в разделе метрики, нажав на название </span>*<span data-position="8593" data-size="17">“KUMA Collectors”</span>*<span data-position="8611" data-size="14"> затем выбрав </span>*<span data-position="8626" data-size="18">“KUMA Correlators”</span>*<span data-position="8645" data-size="1">:</span></span>

<span style="color: rgb(0, 0, 0);">[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/scaled-1680-/bBMimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/bBMimage.png)</span>

<span style="color: rgb(0, 0, 0);">Пример метрик по корреляции:</span>

<span style="color: rgb(0, 0, 0);">[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/scaled-1680-/4zKimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/4zKimage.png)</span>