Перейти до основного контенту

Benchmarks

Накладні витрати на впровадження політики були протестовані в model_b_test.go. Конфігурація тестового середовища наступна:

Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz, 2601 Mhz, 4 Core(s), 8 Logical Processor(s)

Нижче наведено результати бенчмаркінгу, отримані шляхом виконання go test -bench=. -benchmem (op = виклик Enforce(), ms = мілісекунда, KB = кілобайти):

Тестовий випадокРозмір правилаЧасові накладні витрати (ms/op)Пам'яті накладні витрати (KB)
ACL2 правила (2 користувачі)0.0154935.649
RBAC5 правил (2 користувачі, 1 роль)0.0217387.522
RBAC (малий)1100 правил (1000 користувачів, 100 ролей)0.16430980.620
RBAC (середній)11000 правил (10000 користувачів, 1000 ролей)2.258262765.152
RBAC (великий)110000 правил (100000 користувачів, 10000 ролей)23.9167767,606
RBAC з ролями ресурсів6 правил (2 користувачі, 2 ролі)0.0211467.906
RBAC з доменами/орендарями6 правил (2 користувачі, 1 роль, 2 домени)0.03269610.755
ABAC0 правил (0 користувачів)0.0075102.328
RESTful5 правил (3 користувачі)0.04539891.774
Deny-override6 правил (2 користувачі, 1 роль)0.0232818.370
Пріоритет9 правил (2 користувачі, 2 ролі)0.0163895.313

Моніторинг бенчмарків

У вбудованій веб-сторінці нижче ви можете побачити зміни продуктивності Casbin для кожного коміту.

Ви також можете безпосередньо переглянути це за адресою: https://v1.casbin.org/casbin/benchmark-monitoring