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

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 = килобайты):

Тестовый случайРазмер правилаВременные накладные расходы (мс/оп)Накладные расходы на память (КБ)
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