Github user revans2 commented on the issue:

    https://github.com/apache/storm/pull/2203
  
    Here are my numbers, and no I didn't do it headless but I was not doing 
anything on the laptop at the time it was running except looking at Activity 
Monitor to be sure nothing else was using too much CPU.
    
    The setup is
    
    MacBook Pro (Retina, 15-inch, Mid 2015)
    2.8 GHz Intel Core i7
    16 GB 1600 MHz DDR3
    macOS 10.12.6
    java version "1.8.0_121"
    Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
    
    
    The versions tested are 1.2.0-SNAPSHOT 
(b24f5d87cbcd4faeed651e45a8e673db52469a46)
    Metrics V2 (78d3de44cf0705efd199fb64b7ef092e23c3285b) which is 
1.2.0-SNAPSHOT + 99bcf68 merged in.
    
    The Numbers:
    
    1.2.0-SNAPSHOT
    ```
    ./bin/storm jar 
../../../examples/storm-starter/target/storm-starter-1.2.0-SNAPSHOT.jar 
org.apache.storm.starter.ThroughputVsLatency 50000 1 3 -c 
topology.max.spout.pending=500
    uptime:   30 acked:   602,660 acked/sec:  20,088.67 failed:        0 99%:   
  741,343,231 99.9%:     757,596,159 min:       3,639,296 max:     768,081,919 
mean:   95,373,435.91 stddev:  191,784,964.85 user:     71,070 sys:      4,565 
gc:        247 mem:     109.46
    uptime:   60 acked: 1,504,480 acked/sec:  50,149.33 failed:        0 99%:   
   13,320,191 99.9%:      15,794,175 min:       3,467,264 max:      30,490,623 
mean:    9,679,685.54 stddev:    1,394,068.49 user:     72,565 sys:      6,299 
gc:        728 mem:      43.30
    uptime:   90 acked: 1,510,500 acked/sec:  50,350.00 failed:        0 99%:   
   13,279,231 99.9%:      14,704,639 min:       3,352,576 max:      17,612,799 
mean:    9,650,125.87 stddev:    1,358,879.30 user:     72,788 sys:      6,360 
gc:        732 mem:      73.51
    uptime:  120 acked: 1,503,720 acked/sec:  50,124.00 failed:        0 99%:   
   13,352,959 99.9%:      14,745,599 min:       3,356,672 max:      16,973,823 
mean:    9,683,344.13 stddev:    1,361,582.42 user:     72,855 sys:      6,239 
gc:        740 mem:     101.27
    uptime:  150 acked: 1,654,820 acked/sec:  55,160.67 failed:        0 99%:   
   13,369,343 99.9%:      14,811,135 min:       3,473,408 max:      16,736,255 
mean:    9,695,874.65 stddev:    1,363,167.65 user:     72,671 sys:      6,327 
gc:        741 mem:     127.25
    uptime:  180 acked: 1,503,740 acked/sec:  50,124.67 failed:        0 99%:   
   13,377,535 99.9%:      14,811,135 min:       3,448,832 max:      17,711,103 
mean:    9,682,345.18 stddev:    1,370,041.64 user:     72,848 sys:      6,280 
gc:        756 mem:      41.83
    
    ./bin/storm jar 
../../../examples/storm-starter/target/storm-starter-1.2.0-SNAPSHOT.jar 
org.apache.storm.starter.ThroughputVsLatency 75000 1 3 -c 
topology.max.spout.pending=500
    uptime:   30 acked:   882,420 acked/sec:  29,414.00 failed:        0 99%:   
  746,586,111 99.9%:     763,363,327 min:       3,678,208 max:     768,081,919 
mean:  202,478,108.44 stddev:  266,947,569.24 user:     50,763 sys:      2,752 
gc:          0 mem:      38.93
    uptime:   60 acked: 2,497,720 acked/sec:  83,257.33 failed:        0 99%:   
  213,123,071 99.9%:     256,245,759 min:       3,672,064 max:     271,581,183 
mean:   46,314,967.38 stddev:   51,559,780.69 user:    118,361 sys:      7,777 
gc:      1,322 mem:      85.28
    uptime:   90 acked: 2,260,200 acked/sec:  75,340.00 failed:        0 99%:   
  129,826,815 99.9%:     152,698,879 min:       3,659,776 max:     160,432,127 
mean:   29,179,878.90 stddev:   29,586,943.44 user:    110,350 sys:      7,583 
gc:      1,323 mem:      30.47
    uptime:  120 acked: 2,255,680 acked/sec:  75,189.33 failed:        0 99%:   
  148,504,575 99.9%:     179,306,495 min:       3,700,736 max:     187,301,887 
mean:   16,040,979.89 stddev:   23,589,666.52 user:    103,839 sys:      7,031 
gc:      1,174 mem:      51.50
    uptime:  150 acked: 2,255,180 acked/sec:  75,172.67 failed:        0 99%:   
   81,002,495 99.9%:     117,309,439 min:       3,571,712 max:     123,994,111 
mean:   10,956,757.98 stddev:   11,465,433.32 user:    100,497 sys:      6,960 
gc:      1,136 mem:      90.77
    uptime:  180 acked: 2,256,380 acked/sec:  75,212.67 failed:        0 99%:   
   35,192,831 99.9%:      49,446,911 min:       3,608,576 max:      55,672,831 
mean:    9,647,021.99 stddev:    4,081,135.34 user:    100,516 sys:      6,771 
gc:      1,141 mem:     110.73
    
    ./bin/storm jar 
../../../examples/storm-starter/target/storm-starter-1.2.0-SNAPSHOT.jar 
org.apache.storm.starter.ThroughputVsLatency 100000 1 3 -c 
topology.max.spout.pending=500
    uptime:   30 acked: 1,023,620 acked/sec:  34,120.67 failed:        0 99%:   
1,427,111,935 99.9%:   1,442,840,575 min:     141,033,472 max:   1,448,083,455 
mean: 1,205,785,740.36 stddev:  167,013,014.66 user:     56,266 sys:      2,615 
gc:          0 mem:      53.83
    uptime:   60 acked: 2,820,000 acked/sec:  94,000.00 failed:        0 99%:   
4,177,526,783 99.9%:   4,320,133,119 min:   1,091,567,616 max:   4,353,687,551 
mean: 2,617,160,518.91 stddev:  618,922,278.84 user:    127,359 sys:      7,415 
gc:      1,565 mem:      88.42
    uptime:   90 acked: 2,665,280 acked/sec:  88,842.67 failed:        0 99%:   
7,541,358,591 99.9%:   7,918,845,951 min:   2,944,401,408 max:   7,948,206,079 
mean: 4,756,939,536.76 stddev: 1,117,314,866.53 user:    128,113 sys:      
7,796 gc:      1,593 mem:     115.03
    uptime:  120 acked: 2,919,360 acked/sec:  97,312.00 failed:        0 99%:  
12,683,575,295 99.9%:  12,784,238,591 min:   5,440,012,288 max:  12,792,627,199 
mean: 9,308,123,106.98 stddev: 1,615,564,564.30 user:    121,475 sys:      
7,534 gc:      1,567 mem:      47.30
    uptime:  150 acked: 2,877,200 acked/sec:  95,906.67 failed:        0 99%:  
14,646,509,567 99.9%:  14,763,950,079 min:   9,302,966,272 max:  14,789,115,903 
mean: 11,379,620,943.33 stddev: 1,593,183,614.74 user:    133,995 sys:      
7,393 gc:      1,616 mem:     133.84
    uptime:  181 acked: 2,859,340 acked/sec:  92,236.77 failed:        0 99%:  
16,366,174,207 99.9%:  16,424,894,463 min:  10,116,661,248 max:  16,450,060,287 
mean: 12,700,704,569.76 stddev: 2,014,006,250.70 user:    129,856 sys:      
7,147 gc:      1,592 mem:      90.25
    ```
    
    Metrics V2:
    ```
    ./bin/storm jar 
../../../examples/storm-starter/target/storm-starter-1.2.0-SNAPSHOT.jar 
org.apache.storm.starter.ThroughputVsLatency 50000 1 3 -c 
topology.max.spout.pending=500
    uptime:   30 acked:   751,560 acked/sec:  25,052.00 failed:        0 99%:   
  499,908,607 99.9%:     505,675,775 min:       4,108,288 max:     509,870,079 
mean:  107,075,292.72 stddev:  173,303,090.76 user:     47,136 sys:      2,570 
gc:          0 mem:      65.99
    uptime:   60 acked: 1,505,040 acked/sec:  50,168.00 failed:        0 99%:   
   86,835,199 99.9%:     127,336,447 min:       3,575,808 max:     134,873,087 
mean:   11,308,860.12 stddev:   11,073,472.42 user:     87,512 sys:      6,176 
gc:        763 mem:      67.76
    uptime:   90 acked: 1,503,580 acked/sec:  50,119.33 failed:        0 99%:   
   13,901,823 99.9%:      15,450,111 min:       3,684,352 max:      18,726,911 
mean:    9,930,800.24 stddev:    1,361,960.54 user:     86,289 sys:      6,234 
gc:        768 mem:      93.17
    uptime:  120 acked: 1,504,200 acked/sec:  50,140.00 failed:        0 99%:   
   39,190,527 99.9%:      92,864,511 min:       3,645,440 max:     100,859,903 
mean:   10,615,784.00 stddev:    6,838,619.84 user:     86,522 sys:      6,275 
gc:        787 mem:     114.78
    uptime:  150 acked: 1,503,880 acked/sec:  50,129.33 failed:        0 99%:   
   13,885,439 99.9%:      15,302,655 min:       3,964,928 max:      19,693,567 
mean:    9,949,763.37 stddev:    1,350,149.76 user:     86,026 sys:      6,226 
gc:        789 mem:     136.70
    uptime:  180 acked: 1,503,840 acked/sec:  50,128.00 failed:        0 99%:   
   13,967,359 99.9%:      15,515,647 min:       3,670,016 max:      19,316,735 
mean:    9,921,255.02 stddev:    1,380,147.00 user:     85,840 sys:      6,307 
gc:        814 mem:      61.50
    
    ./bin/storm jar 
../../../examples/storm-starter/target/storm-starter-1.2.0-SNAPSHOT.jar 
org.apache.storm.starter.ThroughputVsLatency 75000 1 3 -c 
topology.max.spout.pending=500
    uptime:   30 acked:   810,700 acked/sec:  27,023.33 failed:        0 99%:   
1,469,054,975 99.9%:   1,484,783,615 min:     110,428,160 max:   1,490,026,495 
mean: 1,103,688,559.63 stddev:  218,353,127.14 user:     59,994 sys:      2,680 
gc:          0 mem:     110.42
    uptime:   60 acked: 1,580,040 acked/sec:  52,668.00 failed:        0 99%:   
2,017,460,223 99.9%:   2,138,046,463 min:     305,135,616 max:   2,151,677,951 
mean: 1,271,180,309.48 stddev:  349,131,056.74 user:    130,862 sys:      7,058 
gc:      1,521 mem:      80.61
    uptime:   90 acked: 2,279,900 acked/sec:  75,996.67 failed:        0 99%:   
2,208,301,055 99.9%:   2,262,827,007 min:      13,189,120 max:   2,271,215,615 
mean:  876,751,968.81 stddev:  666,332,632.22 user:    128,889 sys:      7,008 
gc:      1,531 mem:      69.38
    uptime:  120 acked: 2,305,340 acked/sec:  76,844.67 failed:        0 99%:   
2,138,046,463 99.9%:   2,298,478,591 min:       4,882,432 max:   2,317,352,959 
mean:  440,761,887.25 stddev:  592,545,096.04 user:    130,032 sys:      6,988 
gc:      1,491 mem:      84.19
    uptime:  151 acked: 2,277,980 acked/sec:  73,483.23 failed:        0 99%:   
   60,391,423 99.9%:      72,155,135 min:       3,788,800 max:      80,216,063 
mean:   21,421,869.58 stddev:   13,674,045.52 user:    123,179 sys:      6,837 
gc:      1,367 mem:     128.93
    uptime:  181 acked: 2,254,200 acked/sec:  75,140.00 failed:        0 99%:   
  214,433,791 99.9%:     238,551,039 min:       4,816,896 max:     247,332,863 
mean:   52,724,728.68 stddev:   43,440,715.92 user:    124,503 sys:      6,916 
gc:      1,454 mem:      46.17
    
    ./bin/storm jar 
../../../examples/storm-starter/target/storm-starter-1.2.0-SNAPSHOT.jar 
org.apache.storm.starter.ThroughputVsLatency 100000 1 3 -c 
topology.max.spout.pending=500
    uptime:   30 acked: 1,123,900 acked/sec:  37,463.33 failed:        0 99%:   
2,592,079,871 99.9%:   2,600,468,479 min:      73,465,856 max:   2,652,897,279 
mean: 1,690,311,396.11 stddev:  480,273,985.78 user:     57,811 sys:      2,666 
gc:          0 mem:      61.51
    uptime:   60 acked: 2,262,680 acked/sec:  75,422.67 failed:        0 99%:  
10,208,935,935 99.9%:  10,536,091,647 min:   2,415,919,104 max:  10,594,811,903 
mean: 6,285,873,303.48 stddev: 2,142,972,667.99 user:    127,730 sys:      
6,723 gc:      1,482 mem:     117.42
    uptime:   90 acked: 2,313,860 acked/sec:  77,128.67 failed:        0 99%:  
17,834,180,607 99.9%:  18,052,284,415 min:   9,596,567,552 max:  18,102,616,063 
mean: 13,442,454,586.16 stddev: 1,991,956,204.06 user:    131,847 sys:      
7,115 gc:      1,534 mem:      70.55
    uptime:  120 acked: 2,334,940 acked/sec:  77,831.33 failed:        0 99%:  
24,964,497,407 99.9%:  25,316,818,943 min:  16,315,842,560 max:  25,350,373,375 
mean: 20,534,292,592.51 stddev: 2,142,432,639.60 user:    130,283 sys:      
6,860 gc:      1,499 mem:      73.80
    uptime:  150 acked: 2,355,160 acked/sec:  78,505.33 failed:        0 99%:  
32,061,259,775 99.9%:  32,413,581,311 min:  22,749,904,896 max:  32,463,912,959 
mean: 27,008,051,127.76 stddev: 2,183,882,755.64 user:    129,694 sys:      
6,936 gc:      1,496 mem:      68.42
    uptime:  180 acked: 2,346,800 acked/sec:  78,226.67 failed:        0 99%:  
38,889,586,687 99.9%:  39,258,685,439 min:  29,024,583,680 max:  39,292,239,871 
mean: 33,518,848,499.25 stddev: 2,297,910,092.43 user:    131,058 sys:      
6,849 gc:      1,514 mem:      71.15
    ```
    
    At 50,000 sentences per second on a single worker both can keep up, but the 
mean latency appears to be about 200 to 300 microseconds slower 9.6 ms vs 9.9 
ms.  The bigger issue in my mind is the CPU time as it went up from about 79 
seconds (max 30 second period) every 30 seconds to 92 seconds (min 30 second 
period after stabilizing). That was at least a 16% increase in CPU usage.
    
    At 75,000 sentences per second metrics v2 was just able to keep up with 
that throughput while 1.2.0-SNAPSHOT could handle it easily. I will not compare 
the latency because metrics v2 didn't stabilize enough for me to feel good 
reporting the numbers, but the CPU time went up from 118 seconds every 30 
seconds to 130 seconds.  That was an increase of at least 9%.
    
    When I tried to do 100,000 sentences per second neither of the two could 
keep up, but 1.2.0-SNAPSHOT hit a maximum of 97k while metrics V2 hit a maximum 
of 78k or 20% less maximum throughput.  Only here did we see the CPU usage be 
lower for metrics V2 with 134 seconds vs 141 for 1.2.0-SNAPSHOT, but if we take 
into account the actual throughput and look at CPU seconds needed to process 1k 
sentences per second it is 1.7 for metrics v2 vs 1.5 for 1.2.0-SNAPSHOT.
    
    If you need me to run the numbers again on different hardware I can, but it 
may take me some more time to get access to bare metal as I find VMs produce 
less reliable numbers than my laptop does.
    
    I am not saying that these changes are a blocker for the code going in, but 
I really want to understand what is happening here



---

Reply via email to