Github user HeartSaVioR commented on the issue:
https://github.com/apache/storm/pull/2502
Here's my test result: TVL with rate 85000 and max spout pending 5000.
spouts/splitters/counters are set to same as worker count.
Again, this is just to see if there's clear performance regression from TVL
which we have been using. Full analysis like [google doc in
STORM-2306](https://docs.google.com/document/d/1A5k41UjVFY8jZg01BHc1fFxmI0AcFz5jRiKhNjhOj7I/edit?usp=sharing)
would require so much efforts and resources (dedicated machines). If we could
update the numbers with latest master vs latest patch of STORM-2306 it would be
really great, but we should be OK if we postpone measuring numbers just before
releasing Storm 2.0.0 comparing with latest Storm 1.x release.
> 4 workers
>> master (ab7b4ca)
1.
```
(s) rate(tuple/s) mean(ms) 99%ile(ms) 99.9%ile(ms)
cores mem(MB) failed
0 56,660.500 1,482.288 3,808.428 3,942.646
6.554 329.044 0
30 82,245.581 10.817 27.607 50.430
5.093 364.626 0
61 85,022.500 10.495 21.316 36.405
5.192 242.701 0
91 84,994.733 10.365 19.186 29.688
5.152 399.110 0
121 85,008.333 10.385 19.595 29.016
5.195 269.351 0
151 84,999.867 10.367 19.005 29.000
5.156 361.585 0
181 85,006.133 10.361 18.285 24.953
5.215 319.568 0
211 85,007.433 10.373 18.547 26.018
5.227 374.250 0
241 84,978.300 10.390 19.153 29.852
5.107 240.743 0
271 85,025.733 10.351 18.366 28.934
5.134 308.930 0
```
2.
```
(s) rate(tuple/s) mean(ms) 99%ile(ms) 99.9%ile(ms)
cores mem(MB) failed
0 24,746.933 2,497.621 3,498.050 3,571.450
4.175 480.104 0
30 88,589.100 160.265 1,622.147 1,778.385
5.883 329.437 0
60 85,012.833 10.494 20.120 31.326
5.211 421.895 0
90 84,993.867 10.394 18.956 26.132
5.185 434.169 0
120 85,008.100 10.474 20.201 31.523
5.194 440.354 0
150 85,001.067 10.396 18.776 28.574
5.238 449.158 0
180 85,005.633 10.477 20.283 35.127
5.289 441.979 0
210 84,994.833 10.390 18.678 29.295
5.136 419.486 0
240 85,011.167 10.370 18.219 26.051
5.219 308.977 0
270 85,007.600 10.438 19.317 27.804
5.158 403.509 0
```
3.
```
(s) rate(tuple/s) mean(ms) 99%ile(ms) 99.9%ile(ms)
cores mem(MB) failed
0 56,648.833 1,368.022 3,565.158 3,682.599
6.476 405.396 0
30 85,045.067 10.725 23.446 44.007
5.249 448.851 0
60 85,002.400 10.527 19.874 28.901
5.209 452.087 0
90 84,997.800 10.412 19.694 34.341
5.136 356.300 0
120 84,995.033 10.451 20.267 29.802
5.174 379.923 0
150 85,019.533 10.413 19.153 30.556
5.193 398.516 0
180 85,001.367 10.371 18.448 25.182
5.191 331.490 0
210 85,004.400 10.386 18.874 24.101
5.195 368.889 0
240 84,991.367 10.368 18.416 25.018
5.132 392.701 0
270 85,004.367 10.469 19.808 35.586
5.147 443.393 0
```
>> STORM-2306 (5b54809)
1.
```
(s) rate(tuple/s) mean(ms) 99%ile(ms) 99.9%ile(ms)
cores mem(MB) failed
0 28,098.000 1,549.653 3,183.477 3,227.517
4.041 192.208 0
30 85,306.133 13.650 270.795 406.585
8.958 275.171 0
60 85,007.067 5.466 17.449 28.836
9.023 287.177 0
90 92,084.333 5.483 17.269 26.280
9.004 212.465 0
120 84,999.400 5.561 17.662 29.458
9.739 368.272 0
150 85,005.367 5.593 17.449 37.126
8.979 293.334 0
180 92,082.733 5.584 18.219 28.787
8.981 334.805 0
210 85,008.000 5.571 18.022 29.213
8.962 363.184 0
240 84,992.867 5.604 17.662 39.191
9.020 271.483 0
270 92,094.467 5.590 17.351 24.953
8.939 320.613 0
```
2.
```
(s) rate(tuple/s) mean(ms) 99%ile(ms) 99.9%ile(ms)
cores mem(MB) failed
0 56,779.467 728.445 2,967.470 3,066.036
7.032 308.975 0
30 84,986.933 5.851 21.037 33.489
9.101 404.124 0
60 85,021.833 5.593 18.301 29.049
9.104 377.985 0
90 85,000.500 5.577 17.465 26.853
9.101 343.799 0
120 85,009.300 5.714 18.661 29.196
9.084 252.083 0
150 84,998.533 5.532 16.957 26.460
9.114 252.234 0
180 85,005.300 5.588 16.810 26.165
9.102 227.976 0
210 84,997.633 5.708 19.055 32.096
9.157 294.213 0
240 84,994.433 5.692 18.481 30.261
9.046 365.903 0
270 85,015.500 5.590 18.022 28.197
9.080 401.871 0
```
3.
```
(s) rate(tuple/s) mean(ms) 99%ile(ms) 99.9%ile(ms)
cores mem(MB) failed
0 34,802.167 1,451.699 3,227.517 3,275.751
4.887 358.051 0
30 99,803.667 26.173 740.295 880.804
9.226 349.733 0
60 92,079.433 5.790 20.398 34.800
11.521 254.316 0
90 85,002.100 5.590 17.220 27.361
9.218 333.207 0
120 84,998.033 5.750 18.432 28.066
9.179 325.581 0
150 84,993.500 5.745 18.792 29.966
9.190 323.914 0
180 85,011.500 5.828 17.269 25.444
9.217 352.495 0
210 85,005.200 5.761 18.514 32.899
9.244 338.353 0
240 84,983.900 5.756 20.546 33.374
9.165 346.788 0
270 85,018.133 5.516 17.138 32.915
9.206 404.615 0
```
> 1 worker
>> master (ab7b4ca)
1.
```
(s) rate(tuple/s) mean(ms) 99%ile(ms) 99.9%ile(ms)
cores mem(MB) failed
0 56,667.633 96.401 944.767 972.030
2.220 115.121 0
30 85,012.833 6.684 21.283 27.427
2.616 27.433 0
60 85,003.867 6.715 22.315 28.967
2.600 48.685 0
90 85,009.633 7.003 24.855 30.261
2.650 56.965 0
120 85,008.167 6.765 22.331 35.750
2.651 75.872 0
150 84,997.767 6.788 22.430 31.998
2.597 99.166 0
180 85,004.633 6.658 21.905 26.755
2.574 123.478 0
210 85,011.633 6.661 21.070 26.460
2.573 34.217 0
240 84,961.500 6.658 21.955 29.606
2.593 38.743 0
270 85,062.533 6.715 22.790 28.492
2.597 76.703 0
```
2.
```
(s) rate(tuple/s) mean(ms) 99%ile(ms) 99.9%ile(ms)
cores mem(MB) failed
0 56,666.067 100.076 956.301 968.884
2.289 90.811 0
30 84,985.100 6.886 24.461 30.654
2.644 43.144 0
60 85,033.667 6.738 21.725 30.786
2.613 44.536 0
90 85,006.833 6.827 24.183 28.361
2.636 123.622 0
120 85,003.100 6.767 21.807 27.967
2.700 111.695 0
150 85,007.800 6.564 21.365 33.194
2.574 104.018 0
180 85,004.067 7.089 24.527 29.688
2.669 80.106 0
210 85,009.400 6.673 21.348 27.853
2.617 53.960 0
240 84,999.367 7.159 24.216 29.131
2.668 134.561 0
270 85,064.100 7.168 24.773 28.393
2.670 115.301 0
```
3.
```
(s) rate(tuple/s) mean(ms) 99%ile(ms) 99.9%ile(ms)
cores mem(MB) failed
0 56,651.067 104.108 983.040 999.293
2.245 94.063 0
30 82,287.774 7.086 23.364 43.221
2.574 106.583 0
61 85,002.000 6.953 23.396 29.213
2.642 113.673 0
91 85,013.500 6.913 22.839 29.393
2.628 129.253 0
121 85,008.667 6.775 22.348 31.982
2.650 153.746 0
151 85,003.467 6.576 19.956 27.017
2.560 56.378 0
181 85,015.300 6.837 22.692 31.408
2.607 79.616 0
211 85,004.100 6.879 25.346 31.097
2.581 94.896 0
241 85,005.867 6.891 23.609 29.278
2.594 116.510 0
271 85,010.800 6.760 21.987 28.541
2.575 125.168 0
```
>> STORM-2306 (5b54809)
1.
```
(s) rate(tuple/s) mean(ms) 99%ile(ms) 99.9%ile(ms)
cores mem(MB) failed
0 56,666.333 18.022 330.564 346.030
2.079 46.405 0
30 85,017.400 3.748 20.791 24.805
2.686 107.791 0
60 85,020.833 3.466 20.120 24.068
2.679 46.481 0
90 85,009.833 3.470 19.988 23.118
2.639 63.486 0
120 85,007.600 3.676 21.250 26.542
2.708 76.022 0
150 85,006.733 3.395 20.283 23.904
2.636 80.490 0
180 85,009.333 3.632 21.086 26.231
2.657 78.360 0
210 85,003.300 3.643 20.840 26.362
2.670 87.437 0
240 85,007.733 3.735 21.545 25.788
2.686 98.075 0
270 85,008.000 3.675 21.430 29.606
2.647 93.264 0
```
2.
```
(s) rate(tuple/s) mean(ms) 99%ile(ms) 99.9%ile(ms)
cores mem(MB) failed
0 56,684.100 15.841 314.835 371.196
2.051 52.854 0
30 84,998.900 3.343 20.464 24.134
2.624 95.248 0
60 85,014.100 3.600 21.299 24.363
2.665 43.992 0
90 85,000.533 3.539 20.726 23.839
2.650 100.354 0
120 85,006.567 3.483 20.251 23.347
2.665 40.798 0
150 84,992.467 3.562 20.791 26.001
2.666 102.680 0
180 82,297.839 3.655 20.890 27.378
2.590 51.539 0
211 85,007.333 3.567 21.299 26.640
2.650 107.193 0
241 85,012.467 3.604 20.955 27.460
2.646 50.419 0
271 85,001.333 3.288 19.726 24.543
2.604 103.526 0
```
3.
```
(s) rate(tuple/s) mean(ms) 99%ile(ms) 99.9%ile(ms)
cores mem(MB) failed
0 56,680.200 14.695 299.893 340.263
2.096 100.239 0
30 85,012.833 4.007 21.512 27.427
2.719 67.345 0
60 85,003.900 3.921 22.233 31.228
2.709 43.670 0
90 85,009.467 3.881 22.249 26.722
2.683 23.378 0
120 85,027.600 3.955 21.840 25.772
2.717 108.810 0
150 85,009.300 4.049 22.479 36.405
2.724 80.150 0
180 85,005.933 3.381 20.283 23.478
2.639 43.224 0
210 85,007.733 3.798 21.053 24.199
2.717 115.814 0
240 85,007.800 4.275 22.266 26.608
2.751 106.709 0
270 85,005.867 3.507 20.644 24.297
2.700 59.038 0
```
In overall, this patch shows half of mean latency, whereas 99%ile/99.9%ile
of latencies are close to. It also shows this patch consumes more CPU. The gap
is fairly small for single-worker but becomes somewhat huge on 4 workers. I
might be wrong about testing so it would be really nice if someone also runs
the multi-workers test and shares the result.
Even my test result is not wrong I'm +1, because this patch introduces
better design of backpressure which should have been enabled by default but we
disabled. We could file some follow-up issues if there're something we should
address.
---