Casbin

Casbin

  • ドキュメント
  • API
  • エディター
  • IDE プラグイン
  • Single Sign-On (SSO)
  • フォーラム
  • ヘルプ
  • ブログ
  • Pricing
  • Contact Sales
  • Languages icon日本語
    • English
    • 中文
    • 한국어
    • Русский
    • Français
    • Deutsch
    • 翻訳に協力する
  • GitHub

›高度な使い方

基本

  • 概要
  • はじめよう
  • 仕組み
  • チュートリアル

モデル

  • サポートされるモデル
  • モデルの構文
  • エフェクト
  • 関数
  • RBAC
  • RBAC with Pattern
  • ドメイン付きRBAC
  • Casbin RBAC v.s. RBAC96
  • ABAC
  • 優先モデル
  • スーパー管理者

ストレージ

  • モデル ストレージ
  • ポリシーストレージ
  • ポリシーサブセットの読み込み

拡張

  • Enforcers
  • アダプター
  • Watchers
  • 派遣者
  • ロールマネージャー
  • ミドルウェア
  • GraphQL Middlewares
  • Cloud Native Middlewares

API

  • API の概要
  • 管理API
  • RBAC API
  • Domains API による RBAC
  • RoleManager API
  • データ権限

高度な使い方

  • マルチスレッド
  • Benchmarks
  • パフォーマンス最適化
  • Kubernetes の承認
  • Envoyによるサービスメッシュの承認

管理

  • 管理者ポータル
  • カスビンサービス
  • ログとエラー処理
  • フロントエンドの使用法

エディター

  • オンラインエディター
  • IDE プラグイン

もっと見る

  • Adopters
  • コントリビューション
  • プライバシーポリシー
  • 利用規約
Translate

Benchmarks

Go
CPP
Lua (JIT)

model_b_test.go では、ポリシー施行のオーバーヘッドがベンチマークされています。 テストベッドは次のとおりです。

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

のベンチマーク結果 -bench=. -benchmem は以下の通りです (op = Enforce() コール, ms = ミリ秒, KB = kiloバイト):

テストケースルールのサイズオーバーヘッド時間 (ms/op)Memory overhead (KB)
ACL2つのルール(2ユーザー)0.0154935.649
RBAC5つのルール(2ユーザー、1ロール)0.0217387.522
RBAC (小)1100 ルール (1000 ユーザー、100 ロール)0.16430980.620
RBAC (medium)11000ルール(10000ユーザー、1000ロール)2.258262765.152
RBAC (大)110000ルール(100000ユーザー、10000ロール)23.9167767,606
RBAC with resource roles6つのルール(2人のユーザー、2つのロール)0.0211467.906
ドメイン/テナントとRBAC6 ルール (2 ユーザー, 1 ロール, 2 ドメイン)0.03269610.755
ABAC0 ルール (0 ユーザー)0.0075102.328
RESTful5 ルール (3 ユーザー)0.04539891.774
無効にする6つのルール(2ユーザー、1ロール)0.0232818.370
優先度9 ルール (2 ユーザー、2 ロール)0.0163895.313

Casbin CPP のポリシー執行のオーバーヘッドは、 tests/benchmarks ディレクトリで Googleのベンチマークツール の助けを借りてベンチマークされています。 これらのベンチマークのテストベッドは次のとおりです:

Intel(R) Core(TM) i5-6300HQ CPU @ 2.30GHz, 4 cores, 4 threads

Here is the benchmarking result of executing casbin_benchmark target built in Release configuration (op = an enforce() call, ms = millisecond):

テストケースルールのサイズTime overhead (ms/op)
ACL2つのルール(2ユーザー)0.0195
RBAC5つのルール(2ユーザー、1ロール)0.0288
RBAC (小)1100 ルール (1000 ユーザー、100 ロール)0.300
RBAC (medium)11000ルール(10000ユーザー、1000ロール)2.113
RBAC (大)110000ルール(100000ユーザー、10000ロール)21.450
RBAC with resource roles6つのルール(2人のユーザー、2つのロール)0.03
ドメイン/テナントとRBAC6 ルール (2 ユーザー, 1 ロール, 2 ドメイン)0.041
ABAC0 ルール (0 ユーザー)NA
RESTful5 ルール (3 ユーザー)NA
無効にする6つのルール(2ユーザー、1ロール)0.0246
優先度9 ルール (2 ユーザー、2 ロール)0.035

Lua Casbinの ポリシー執行のオーバーヘッドは、 bench.lua でベンチマークされている。 テストベッドは、CPUを備えたUbuntu VMでした。

AMD Ryzen(TM) 5 4600H CPU @ 3.0GHz, 6 コア, 12 スレッド

luajit bench.lua のベンチマーク結果は以下のとおりです (op = enforce() 呼び出し、ms = ミリ秒):

テストケースルールのサイズオーバーヘッド時間 (ms/op)
ACL2つのルール(2ユーザー)0.0533
RBAC5つのルール(2ユーザー、1ロール)0.0972
RBAC (小)1100 ルール (1000 ユーザー、100 ロール)0.8598
RBAC (medium)11000ルール(10000ユーザー、1000ロール)8.6848
RBAC (大)110000ルール(100000ユーザー、10000ロール)90.3217
RBAC with resource roles6つのルール(2人のユーザー、2つのロール)0.1124
ドメイン/テナントとRBAC6 ルール (2 ユーザー, 1 ロール, 2 ドメイン)0.1978
ABAC0 ルール (0 ユーザー)0.0305
RESTful5 ルール (3 ユーザー)0.1085
無効にする6つのルール(2ユーザー、1ロール)0.1934
優先度9 ルール (2 ユーザー、2 ロール)0.1437
← マルチスレッドパフォーマンス最適化 →
Casbin
Docs
Getting StartedManagement APIRBAC APIMiddlewares
Community
Who's using Casbin?Stack Overflow
Casbin          jCasbin
Node-Casbin   PHP-CasbinPyCasbin          Casbin.NETCasbin-CPP        Casbin-RS
Follow @casbinHQ
Copyright © 2022 Casbin Organization