MessagePub+
性能測定データ詳細
スループット
スレッドの効果
MessagePub+はマルチスレッドに対応していて、動作スレッド数の増加に合わせてスループットが向上する。
シングル broker のスループット性能限界値は次の通り。
条件
- メッセージサイズ: 205Byte
- keep:false (clean session:true)
- delive-use-db: false (メッセージ配信前にストレージに記憶しない)
- broker スペック
Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz(cpu cores 6)
Memory: 32GBytes
Ethernet Ctl: Intel I219-V
スレッド数 | qos | publish/秒 | min | avg | max |
---|---|---|---|---|---|
1 | 0 | 30000 | 1 ms | 6 ms | 23 ms |
2 | 0 | 32000 | 1 ms | 5 ms | 18 ms |
4 | 0 | 74000 | 1 ms | 2 ms | 4 ms |
6 | 0 | 102000 | 1 ms | 12 ms | 25 ms |
8 | 0 | 118000 | 1 ms | 5 ms | 25 ms |
10 | 0 | 132000 | 1 ms | 3 ms | 11 ms |
12 | 0 | 142000 | 2 ms | 4 ms | 12 ms |
1 | 1 | 30000 | 1 ms | 38 ms | 150 ms |
2 | 1 | 32000 | 1 ms | 2 ms | 13 ms |
4 | 1 | 74000 | 1 ms | 4 ms | 18 ms |
6 | 1 | 102000 | 1 ms | 20 ms | 40 ms |
8 | 1 | 118000 | 1 ms | 13 ms | 51 ms |
10 | 1 | 132000 | 1 ms | 8 ms | 33 ms |
12 | 1 | 142000 | 1 ms | 3 ms | 21 ms |
1 | 2 | 14000 | 1 ms | 23 ms | 37 ms |
2 | 2 | 14000 | 1 ms | 19 ms | 29 ms |
4 | 2 | 32000 | 1 ms | 11 ms | 41 ms |
6 | 2 | 44000 | 1 ms | 37 ms | 100 ms |
8 | 2 | 58000 | 1 ms | 16 ms | 37 ms |
10 | 2 | 64000 | 20 ms | 28 ms | 35 ms |
12 | 2 | 68000 | 31 ms | 49 ms | 79 ms |
※ミリ秒は約2分間において、1メッセージの送信にかかったおおよその最小時間(min)、平均時間(avg)、最大時間(max)を表している。
スレッドの効果(AWSの場合)
条件
- メッセージサイズ: 205Byte
- keep:false (clean session:true)
- delive-use-db: false (メッセージ配信前にストレージに記憶しない)
- broker スペック
AWS EC2 c5.2xlarge
Memory: 16GBytes
thread | qos | pps | min | avg | max |
---|---|---|---|---|---|
1 | 0 | 24000 | 1 ms | 1 ms | 50 ms |
2 | 0 | 24000 | 1 ms | 1 ms | 50 ms |
3 | 0 | 32000 | 1 ms | 1 ms | 50 ms |
4 | 0 | 38000 | 1 ms | 1 ms | 50 ms |
5 | 0 | 44000 | 1 ms | 5 ms | 50 ms |
6 | 0 | 52000 | 4 ms | 8 ms | 58 ms |
7 | 0 | 54000 | 20 ms | 4 ms | 55 ms |
8 | 0 | 60000 | 7 ms | 14 ms | 20 ms |
9 | 0 | 64000 | 45 ms | 7 ms | 62 ms |
10 | 0 | 62000 | 45 ms | 11 ms | 112 ms |
1 | 1 | 14000 | 1 ms | 1 ms | 50 ms |
2 | 1 | 14000 | 1 ms | 1 ms | 10 ms |
3 | 1 | 20000 | 1 ms | 1 ms | 9 ms |
4 | 1 | 26000 | 1 ms | 1 ms | 50 ms |
5 | 1 | 30000 | 1 ms | 5 ms | 20 ms |
6 | 1 | 36000 | 18 ms | 4 ms | 51 ms |
7 | 1 | 38000 | 18 ms | 29 ms | 51 ms |
8 | 1 | 42000 | 52 ms | 58 ms | 69 ms |
9 | 1 | 42000 | 38 ms | 48 ms | 93 ms |
10 | 1 | 42000 | 24 ms | 38 ms | 65 ms |
1 | 2 | 8000 | 1 ms | 1 ms | 50 ms |
2 | 2 | 8000 | 1 ms | 1 ms | 8 ms |
3 | 2 | 12000 | 1 ms | 1 ms | 8 ms |
4 | 2 | 16000 | 1 ms | 1 ms | 50 ms |
5 | 2 | 19000 | 6 ms | 11 ms | 60 ms |
6 | 2 | 20000 | 1 ms | 8 ms | 16 ms |
7 | 2 | 22000 | 11 ms | 18 ms | 33 ms |
8 | 2 | 22000 | 7 ms | 12 ms | 52 ms |
9 | 2 | 22000 | 11 ms | 19 ms | 39 ms |
10 | 2 | 20000 | 4 ms | 9 ms | 19 ms |
※ミリ秒は約2分間において、1メッセージの送信にかかったおおよその最小時間(min)、平均時間(avg)、最大時間(max)を表している。
複数 broker の効果
MessagePub+は複数の broker インスタンスでクラスタを構成することができる。
broker インスタンスの追加によってスループットが向上する。
条件
- メッセージサイズ: 205Byte
- keep:false (clean session:true)
- delive-use-db: false (メッセージ配信前にストレージに記憶しない)
- broker のスレッド数(num-of-thread)は 6
- broker 間のコネクション数(ib-connections)は 2
- broker 間のコネクション数に割り当てる総スレッド数(ib-num-of-threads)は 2
broker 数 | qos | publish/秒 | min | avg | max |
---|---|---|---|---|---|
1 | 0 | 50000 | 1 ms | 1 ms | 5 ms |
1 | 1 | 36000 | 1 ms | 2 ms | 5 ms |
1 | 2 | 20000 | 1 ms | 1 ms | 5 ms |
2 | 0 | 68000 | 1 ms | 1 ms | 50 ms |
2 | 1 | 44000 | 1 ms | 3 ms | 50 ms |
2 | 2 | 32000 | 1 ms | 1 ms | 50 ms |
3 | 0 | 104000 | 1 ms | 2 ms | 60 ms |
3 | 1 | 68000 | 1 ms | 5 ms | 230 ms |
3 | 2 | 44000 | 1 ms | 3 ms | 25 ms |
4 | 0 | 132000 | 1 ms | 1 ms | 50 ms |
4 | 1 | 90000 | 1 ms | 2 ms | 250 ms |
4 | 2 | 58000 | 1 ms | 2 ms | 90 ms |
5 | 0 | 164000 | 1 ms | 2 ms | 110 ms |
5 | 1 | 110000 | 1 ms | 2 ms | 23 ms |
5 | 2 | 74000 | 1 ms | 30 ms | 60 ms |
6 | 0 | 196000 | 1 ms | 2 ms | 50 ms |
6 | 1 | 134000 | 1 ms | 2 ms | 150 ms |
6 | 2 | 86000 | 1 ms | 13 ms | 29 ms |
8 | 0 | 260000 | 1 ms | 3 ms | 60 ms |
8 | 1 | 170000 | 1 ms | 2 ms | 50 ms |
8 | 2 | 106000 | 1 ms | 10 ms | 300 ms |
10 | 0 | 320000 | 1 ms | 4 ms | 20 ms |
10 | 1 | 220000 | 1 ms | 5 ms | 16 ms |
10 | 2 | 134000 | 1 ms | 3 ms | 90 ms |
12 | 0 | 380000 | 1 ms | 2 ms | 100 ms |
12 | 1 | 250000 | 1 ms | 2 ms | 60 ms |
12 | 2 | 162000 | 1 ms | 5 ms | 160 ms |
14 | 0 | 430000 | 1 ms | 5 ms | 60 ms |
14 | 1 | 280000 | 1 ms | 2 ms | 50 ms |
14 | 2 | 182000 | 1 ms | 3 ms | 60 ms |
※ミリ秒は約1分間において、1メッセージの送信にかかったおおよその最小時間(min)、平均時間(avg)、最大時間(max)を表している。
broker スペック
AWS EC2 c5.2xlarge
Memory: 16GBytes
※この記事に掲載されている内容、および製品仕様、所属情報(会社名・部署名)は公開当時のものです。予告なく変更される場合がありますので、あらかじめご了承ください。