주요 콘텐츠로 건너뛰기

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
리소스 역할이 있는 RBAC6개의 규칙 (2명의 사용자, 2개의 역할)0.0211467.906
도메인/테넌트를 가진 RBAC6개의 규칙 (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