...
本書は、冗長化したShibboleth-IdPのパフォーマンス計測の結果報告書です。
本書にてパフォーマンス計測のシステム構成と計測内容、計測結果を記載します。
アンカー | ||||
---|---|---|---|---|
|
パフォーマンス計測の対象となる冗長化方式は下記とします。
Terracotta方式アンカー _Ref272941422 _Ref272941422 - 認証情報は、冗長化したサーバー間で同期されるため、tomcatおよびTerracottaの方系がダウンしても再認証は求められない。
- 参考ページ
https://wiki.shibboleth.net/confluence/display/SHIB2/IdPCluster
- memcached方式(No Replication)
- 認証情報は、ログインしたtomcatと設定された各memcachedサーバーに認証情報を分割し振り分けて保管する。memcachedの方系がダウンした場合は、ログインしたことのあるサーバーへのアクセスではtomcatに認証情報が残っていれば、再認証は求められない。しかし、ログインしていないサーバーへのアクセス、もしくは、tomcatに認証情報が残っていない状態でのアクセスでは、再認証が求められる。
- 参考ページ
https://wiki.shibboleth.net/confluence/display/SHIB2/Memcached+StorageService
- repcached方式(replication)
- 認証情報は、冗長化したサーバー間で同期されるため、tomcatおよびrepcachedの方系がダウンしても再認証は求められない。
- 全サーバーが停止した場合、認証情報が失われるので、再認証が求められる。
- 参考ページ
https://wiki.shibboleth.net/confluence/display/SHIB2/Memcached+StorageService
- IdP Stateless Clustering方式
- 認証情報暗号化しCookieに入れてブラウザが持つ。サーバーに依存しないため、サーバーがダウンしても再認証は求められない。
- 参考ページ
https://wiki.shibboleth.net/confluence/display/SHIB2/IdPStatelessClustering
アンカー | ||||
---|---|---|---|---|
|
...
No | ソフトウェア | バージョン | 対象サーバー | 備考 |
---|---|---|---|---|
1 | Apache HTTP Server | 2.2.3 | 1,2,3,4,5,6,7 |
|
2 | Shibboleth-SP | 2.4.3-2.2 | 1 |
|
3 | Shibboleth-IdP | 2.3.5 | 2,3,4,5,6,7 |
|
4 | memcached | 1.4.10 | 4,5 | メモリーの割り当ては512MB |
5 | repcached repcached | 2.2 | 4,5 | メモリーの割り当ては512MB |
6 | Osuidpext | 1.1 | 6,7 | Stateless Clustering用ライブラリ |
7 | Terracotta | 3.6.0 | 2,3 |
|
8 | JDK | 1.6.0_30 | 2,3,4,5,6,7 |
|
9 | Apache Tomcat | 7.0.23 | 2,3,4,5,6,7 |
|
10 | OpenLDAP | 2.3.43 | 2,4,6 | 各IdPサーバーの1台に構築 |
※ 対象サーバーに記述する値は、表 1 1 検証に使用したサーバー一覧 に記載するNoです。
アンカー | ||||
---|---|---|---|---|
|
...
- 検証環境と同一ネットワーク内にあるSPサーバーに負荷テストツールを置き、各計測対象サーバーへ負荷をかけてパフォーマンスを測定します。
アンカー | ||||
---|---|---|---|---|
|
- 冗長化した各サーバーへのロードバランシングは、計測対象ではない冗長化方式のサーバーにApacheモジュールのmod_proxy_balancer を使いリクエスト毎に分散する方式とします。
アンカー | ||||
---|---|---|---|---|
|
- 負荷テストツールを使い、下記のパターンでの測定を行います。
- パターン1: 2スレッド×1000回
- パターン2: 10スレッド×200回
- パターン3: 20スレッド×200回
- 助走期間として、各測定前に1分程度負荷ツールを実行します。
- Teracottaのみ各測定後に再起動を実施します。
- 計測は、1認証処理にかかる時間、および1秒間の認証処理回数を計測します。
- スレッドは毎アクセス新しいセッションを張る方法で行います。(常に認証処理が走る)
- 認証に利用するアカウントはひとつとします。
アンカー | ||||
---|---|---|---|---|
|
...
- Grinder
Grinder(グライダー)は、オープンソースの負荷テストツールです。Jythonで認証の動作を書いて実行します。
参考:https://wiki.shibboleth.net/confluence/display/SHIB2/IdPProdLoadTest
アンカー | ||||
---|---|---|---|---|
|
- 認証アカウントは学認で公開されているサンプルユーザをLDAPに設定しています。
https://www.gakunin.jp/docs/fed/technical/idp/customize/idpInst4
アンカー | ||||
---|---|---|---|---|
|
...
テスト1 | それぞれのサーバーについて、テストアカウントで認証できること、および認証結果がSPへ送信されること |
テスト2 | 一方のサーバーで認証後、他方のサーバーに認証要求を送った場合、認証済みとして正常に処理されること |
テスト3 | 未認証の状態で一方のサーバーでパスワード要求画面(いわゆるログイン画面)を表示した後、他方のサーバーにその応答を送った場合、正常に処理されること ※1 |
アンカー | ||||
---|---|---|---|---|
|
...
図 4-1 #T1-1の測定結果グラフ
図 4-2 #T1-2の測定結果グラフ
図 4-3 #T1-3の測定結果グラフ
アンカー | ||||
---|---|---|---|---|
|
...
図 4-4 #T2-1の測定結果グラフ
図 4-5 #T2-2の測定結果グラフ
図 4-6 #T2-3の測定結果グラフ
アンカー | ||||
---|---|---|---|---|
|
...
図 4-7 #T3-1の測定結果グラフ
図 4-8 #T3-2の測定結果グラフ
図 4-9 #T3-3の測定結果グラフ
アンカー | ||||
---|---|---|---|---|
|
...
図 4-10 #M1-1の測定結果グラフ
図 4-11 #M1-2の測定結果グラフ
図 4-12 #M1-3の測定結果グラフ
アンカー | ||||
---|---|---|---|---|
|
...
図 4-13 #M2-1の測定結果グラフ
図 4-14 #M2-2の測定結果グラフ
図 4-15 #M2-3の測定結果グラフ
アンカー | ||||
---|---|---|---|---|
|
...
図 4-16 #M3-1の測定結果グラフ
図 4-17 #M3-2の測定結果グラフ
図 4-18 #M3-3の測定結果グラフ
アンカー | ||||
---|---|---|---|---|
|
...
図 4-19 #R1-1の測定結果グラフ
図 4-20 #R1-2の測定結果グラフ
図 4-21 #R1-3の測定結果グラフ
アンカー | ||||
---|---|---|---|---|
|
...
図 4-22 #R2-1の測定結果グラフ
図 4-23 #R2-2の測定結果グラフ
図 4-24 #R2-3の測定結果グラフ
アンカー | ||||
---|---|---|---|---|
|
...
図 4-25 #R3-1の測定結果グラフ
図 4-26 #R3-2の測定結果グラフ
図 4-27 #R3-3の測定結果グラフ
アンカー | ||||
---|---|---|---|---|
|
...
図 4-31 #S2-1の測定結果グラフ
図 4-32 #S2-2の測定結果グラフ
図 4-33 #S2-3の測定結果グラフ
アンカー | ||||
---|---|---|---|---|
|
...
図 4-34 #S3-1の測定結果グラフ
図 4-35 #S3-2の測定結果グラフ
図 4-36 #S3-3の測定結果グラフ
アンカー | ||||
---|---|---|---|---|
|
...
# | 方式 | パターン1 | パターン2 | パターン3 |
---|---|---|---|---|
1 | Terracotta | 12.76 | 15.64 | 15.22 |
2 | memcached | 19.38 | 31.52 | 39.46 |
3 | repcached | 19.35 | 31.65 | 38.89 |
4 | Stateless Clustering | 25.83 | 42.09 | 47.20 |
アンカー | ||||
---|---|---|---|---|
|
...