11. 11Copyright?2016 NTT corp. All Rights Reserved.
? Read only ではあるものの、80万TPSまで出ること
を確認
? PostgreSQL9.5は9.4と比較して、クライアント数が
、共有バッファに乗るDBサイズで1.5倍、共有バッフ
ァを超えるDBサイズで2倍までスケールすることを確
認
? PostgreSQL9.5は40コア程度までスケールすること
を確認。CPUを40コア程度まで効率よく使える。
ここまでのまとめ
12. 12Copyright?2016 NTT corp. All Rights Reserved.
USLによる解析
The Universal Scalability Law (USL) とは?
? コンピューターシステムのスケーラビリティを
モデル化、定量化
? 特定のシステムに依らず適応可能
? ハードウェア、ソフトウェアに関わらず
スケーラビリティを評価可能
詳しくはこちらを見て下さい。
[Gun08] Neil J. Gunther. A general theory of computational scalability based on rationalfunctions.
CoRR, abs/0808.1431, 2008. http://arxiv.org/pdf/0808.1431v2.pdf
13. 13Copyright?2016 NTT corp. All Rights Reserved.
USLによる解析
? Universal Scalability Law
? Relative Capacity
X(N):NクライアントまたはN個のCPUコア時のスループット
X(1):1クライアントまたは1CPUコア時のスループット
T:処理時間 n:処理するタスクの数
S(N):Speedup
C N( )=
N
1+s N -1( )+kN N -1( )
C N( )=
X(N)
X(1)
=
n
TN
T1
n
=
T1
TN
= S N( )
14. 14Copyright?2016 NTT corp. All Rights Reserved.
USLによる解析
? クエリの実行実行時間とσ,κパラメータの関係
上記の式をごにょごにょすると
C N( )=
N
1+s N -1( )+kN N -1( )
C N( ) =
T1
TN
=
T1
sT1 + 1-s( )
T1
N
+kN N -1( )
T1
N
TN =sT1 + 1-s( )
T1
N
+kN N -1( )
T1
N
よって、クライアントからのクエリをN並列で処理した場合の処理時間は、
15. 15Copyright?2016 NTT corp. All Rights Reserved.
USLによる解析
? σ, κ =0のとき、タスクをN並列で実行した時の実行時間は1/Nに短縮される
TN =
T1
N
(理想的な並列処理)
σ, κ =0のときのTPS例
22. 22Copyright?2016 NTT corp. All Rights Reserved.
PostgreSQL 9.6
「PostgreSQL Scalability: Towards Millions TPS」
http://akorotkov.github.io/blog/2016/05/09/scalability-towards-millions-tps/!!!