Skip to content

[STORM-1662] Reduce map lookups in send_to_eventlogger - #1272

Closed
arunmahadevan wants to merge 1 commit into
apache:masterfrom
arunmahadevan:STORM-1662
Closed

[STORM-1662] Reduce map lookups in send_to_eventlogger#1272
arunmahadevan wants to merge 1 commit into
apache:masterfrom
arunmahadevan:STORM-1662

Conversation

@arunmahadevan

Copy link
Copy Markdown
Contributor

Reducing map lookup in send_to_eventlogger can improve performance when when a spout emits in a tight loop.

Reducing map lookup in send_to_eventlogger can improve performance when when a spout emits in a tight loop.
@arunmahadevan

Copy link
Copy Markdown
ContributorAuthor

@HeartSaVioR could you take a look ?

@HeartSaVioR

Copy link
Copy Markdown
Contributor

+1 if it's same to arunmahadevan@7eae5ec.

I already applied this patch from #1217 and test, and it looks good.

Btw, I may need to have dedicated server during test, cause when last performance test for me this patch doesn't increase throughput when eventlogger=1 but this patch increase throughput when eventlogger=0.
(Tested with roshan's topology, I didn't test with your topology. I can't even work while benchmarking since I should run that for my work machine... ;( )

event logger executors=1, origin

uptime: 540 duration: 30 secs
spout emitted: 24016500 (total: 420641440) emitted/sec (in duration): 800550.0
bolt emitted: 24016620 (total: 420639920) emitted/sec (in duration): 800554.0
uptime: 570 duration: 30 secs
spout emitted: 24392600 (total: 445034040) emitted/sec (in duration): 813086.6666666666
bolt emitted: 24392480 (total: 445032400) emitted/sec (in duration): 813082.6666666666
uptime: 600 duration: 30 secs
spout emitted: 24524700 (total: 469558740) emitted/sec (in duration): 817490.0
bolt emitted: 24524620 (total: 469557020) emitted/sec (in duration): 817487.3333333334

event logger executors=0, origin

uptime: 541 duration: 30 secs
spout emitted: 27652560 (total: 441035220) emitted/sec (in duration): 921752.0
bolt emitted: 27653040 (total: 441034260) emitted/sec (in duration): 921768.0
uptime: 571 duration: 30 secs
spout emitted: 25150820 (total: 466186040) emitted/sec (in duration): 838360.6666666666
bolt emitted: 25150280 (total: 466184540) emitted/sec (in duration): 838342.6666666666
uptime: 601 duration: 30 secs
spout emitted: 25021760 (total: 491207800) emitted/sec (in duration): 834058.6666666666
bolt emitted: 25021860 (total: 491206400) emitted/sec (in duration): 834062.0

event logger executors=1, applied arun's patch

uptime: 541 duration: 30 secs
spout emitted: 24319300 (total: 426107880) emitted/sec (in duration): 810643.3333333334
bolt emitted: 24319140 (total: 426106420) emitted/sec (in duration): 810638.0
uptime: 571 duration: 30 secs
spout emitted: 24394800 (total: 450502680) emitted/sec (in duration): 813160.0
bolt emitted: 24395420 (total: 450501840) emitted/sec (in duration): 813180.6666666666
uptime: 601 duration: 30 secs
spout emitted: 24425140 (total: 474927820) emitted/sec (in duration): 814171.3333333334
bolt emitted: 24424720 (total: 474926560) emitted/sec (in duration): 814157.3333333334

event logger executors=0, applied arun's patch

uptime: 541 duration: 30 secs
spout emitted: 26572320 (total: 464465820) emitted/sec (in duration): 885744.0
bolt emitted: 26572680 (total: 464464560) emitted/sec (in duration): 885756.0
uptime: 571 duration: 30 secs
spout emitted: 26573580 (total: 491039400) emitted/sec (in duration): 885786.0
bolt emitted: 26573140 (total: 491037700) emitted/sec (in duration): 885771.3333333334
uptime: 601 duration: 30 secs
spout emitted: 26586520 (total: 517625920) emitted/sec (in duration): 886217.3333333334
bolt emitted: 26587000 (total: 517624700) emitted/sec (in duration): 886233.3333333334

Super odd result anyway, so I'd really like to see stable numbers.

@arunmahadevan

Copy link
Copy Markdown
ContributorAuthor

@HeartSaVioR actually this patch has no effect with eventlogger=0. I assume you modified BasicTopology to emit a constant long. I also restart all the storm processes before each run and let it run for 12 mins and compare the last 10 min window stats.

@HeartSaVioR

Copy link
Copy Markdown
Contributor

@arunmahadevan
No effect with eventlogger=0 is what I assume, so I'm saying that's weird...
I tested on roshan's topology with no modifying.
Maybe I need to clean up something with each test, or test with your topology.

@arunmahadevan

Copy link
Copy Markdown
ContributorAuthor

I tested on roshan's topology with no modifying.

I also tried that and it was producing weird results, so I changed it to emit a constant long and restarted storm processes after each run.

@HeartSaVioR

Copy link
Copy Markdown
Contributor

@arunmahadevan
I've just done with performance test, and the result is a bit different than what I expected.

eventlogger-performance-test-storm-1662-graph

This patch affects the performance even though event logger is set to 0 which I can't understand.
This performance test is done with your topology + modification for logging performance.
(https://gist.github.com/HeartSaVioR/0e2555633a5f7d12cb68)
I restarted all Storm processes for every test.

eventlogger-performance-test-STORM-1662-excel.xlsx

Since test is done with my dev. machine (MBP), I really would like to borrow a dedicated machine and try this performance test again.

@HeartSaVioR

Copy link
Copy Markdown
Contributor

In result, sorry I changed my vote to +0 for now.
I think we should make the test result stable before taking any actions.

  • test several times and take average or mean
  • test longer
  • test with dedicated (idle, not dev., no GUI) machine

If we can get the stable result before releasing 1.0.0 is in progress, we can include this as 1.0.0. But it shouldn't block releasing 1.0.0.

d2r pushed a commit to d2r/storm that referenced this pull request Oct 16, 2018
We are closing stale Pull Requests to make the list more manageable.
Please re-open any Pull Request that has been closed in error.
Closesapache#608Closesapache#639Closesapache#640Closesapache#648Closesapache#662Closesapache#668Closesapache#692Closesapache#705Closesapache#724Closesapache#728Closesapache#730Closesapache#753Closesapache#803Closesapache#854Closesapache#922Closesapache#986Closesapache#992Closesapache#1019Closesapache#1040Closesapache#1041Closesapache#1043Closesapache#1046Closesapache#1051Closesapache#1078Closesapache#1146Closesapache#1164Closesapache#1165Closesapache#1178Closesapache#1213Closesapache#1225Closesapache#1258Closesapache#1259Closesapache#1268Closesapache#1272Closesapache#1277Closesapache#1278Closesapache#1288Closesapache#1296Closesapache#1328Closesapache#1342Closesapache#1353Closesapache#1370Closesapache#1376Closesapache#1391Closesapache#1395Closesapache#1399Closesapache#1406Closesapache#1410Closesapache#1422Closesapache#1427Closesapache#1443Closesapache#1462Closesapache#1468Closesapache#1483Closesapache#1506Closesapache#1509Closesapache#1515Closesapache#1520Closesapache#1521Closesapache#1525Closesapache#1527Closesapache#1544Closesapache#1550Closesapache#1566Closesapache#1569Closesapache#1570Closesapache#1575Closesapache#1580Closesapache#1584Closesapache#1591Closesapache#1600Closesapache#1611Closesapache#1613Closesapache#1639Closesapache#1703Closesapache#1711Closesapache#1719Closesapache#1737Closesapache#1760Closesapache#1767Closesapache#1768Closesapache#1785Closesapache#1799Closesapache#1822Closesapache#1824Closesapache#1844Closesapache#1874Closesapache#1918Closesapache#1928Closesapache#1937Closesapache#1942Closesapache#1951Closesapache#1957Closesapache#1963Closesapache#1964Closesapache#1965Closesapache#1967Closesapache#1968Closesapache#1971Closesapache#1985Closesapache#1986Closesapache#1998Closesapache#2031Closesapache#2032Closesapache#2071Closesapache#2076Closesapache#2108Closesapache#2119Closesapache#2128Closesapache#2142Closesapache#2174Closesapache#2206Closesapache#2297Closesapache#2322Closesapache#2332Closesapache#2341Closesapache#2377Closesapache#2414Closesapache#2469
d2r pushed a commit to d2r/storm that referenced this pull request Oct 16, 2018
We are closing stale Pull Requests to make the list more manageable.
Please re-open any Pull Request that has been closed in error.
Closesapache#608Closesapache#639Closesapache#640Closesapache#648Closesapache#662Closesapache#668Closesapache#692Closesapache#705Closesapache#724Closesapache#728Closesapache#730Closesapache#753Closesapache#803Closesapache#854Closesapache#922Closesapache#986Closesapache#992Closesapache#1019Closesapache#1040Closesapache#1041Closesapache#1043Closesapache#1046Closesapache#1051Closesapache#1078Closesapache#1146Closesapache#1164Closesapache#1165Closesapache#1178Closesapache#1213Closesapache#1225Closesapache#1258Closesapache#1259Closesapache#1268Closesapache#1272Closesapache#1277Closesapache#1278Closesapache#1288Closesapache#1296Closesapache#1328Closesapache#1342Closesapache#1353Closesapache#1370Closesapache#1376Closesapache#1391Closesapache#1395Closesapache#1399Closesapache#1406Closesapache#1410Closesapache#1422Closesapache#1427Closesapache#1443Closesapache#1462Closesapache#1468Closesapache#1483Closesapache#1506Closesapache#1509Closesapache#1515Closesapache#1520Closesapache#1521Closesapache#1525Closesapache#1527Closesapache#1544Closesapache#1550Closesapache#1566Closesapache#1569Closesapache#1570Closesapache#1575Closesapache#1580Closesapache#1584Closesapache#1591Closesapache#1600Closesapache#1611Closesapache#1613Closesapache#1639Closesapache#1703Closesapache#1711Closesapache#1719Closesapache#1737Closesapache#1760Closesapache#1767Closesapache#1768Closesapache#1785Closesapache#1799Closesapache#1822Closesapache#1824Closesapache#1844Closesapache#1874Closesapache#1918Closesapache#1928Closesapache#1937Closesapache#1942Closesapache#1951Closesapache#1957Closesapache#1963Closesapache#1964Closesapache#1965Closesapache#1967Closesapache#1968Closesapache#1971Closesapache#1985Closesapache#1986Closesapache#1998Closesapache#2031Closesapache#2032Closesapache#2071Closesapache#2076Closesapache#2108Closesapache#2119Closesapache#2128Closesapache#2142Closesapache#2174Closesapache#2206Closesapache#2297Closesapache#2322Closesapache#2332Closesapache#2341Closesapache#2377Closesapache#2414Closesapache#2469
bipinprasad pushed a commit to bipinprasad/storm that referenced this pull request Oct 17, 2019
YSTORM-5688 update storm package documentation links
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@arunmahadevan@HeartSaVioR