Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Measure replay performance difference between current state and replay optimization disabled #297

Closed
Tracked by #291
stephenpdeos opened this issue Oct 6, 2022 · 3 comments
Assignees
Labels
OCI Work exclusive to OCI team

Comments

@stephenpdeos
Copy link
Member

No description provided.

@heifner
Copy link
Member

heifner commented Oct 10, 2022

Setup block log with 2500 TPS for 2500 seconds with 30 sec trx expiration

Runs with skip_recording head block time optimization (db mapped mode)

  • replayed 5594 blocks in 35 seconds, 6.31745682102628248 ms/block
  • replayed 5594 blocks in 34 seconds, 6.24119774718398013 ms/block
  • replayed 5594 blocks in 35 seconds, 6.27537511174682727 ms/block
  • replayed 5594 blocks in 35 seconds, 6.27880922581798639 ms/block

Runs with skip_recording head block time optimization (db heap mode)

  • replayed 5594 blocks in 36 seconds, 6.44068496334704044 ms/block
  • replayed 5594 blocks in 35 seconds, 6.26330842124083720 ms/block
  • replayed 5594 blocks in 34 seconds, 6.21657035580189454 ms/block
  • replayed 5594 blocks in 34 seconds, 6.20680618630430914 ms/block

Runs with skip_recording = false (db mapped mode)

  • replayed 5594 blocks in 44 seconds, 7.97567173252279638 ms/block
  • replayed 5594 blocks in 42 seconds, 7.60711210441623464 ms/block
  • replayed 5594 blocks in 42 seconds, 7.56795512247452073 ms/block
  • replayed 5594 blocks in 42 seconds, 7.55550885034865072 ms/block

Runs with skip_recording = false (db heap mode)

  • replayed 5594 blocks in 42 seconds, 7.51792955480064329 ms/block
  • replayed 5594 blocks in 40 seconds, 7.29372930448775314 ms/block
  • replayed 5594 blocks in 40 seconds, 7.28444984802431605 ms/block
  • replayed 5594 blocks in 40 seconds, 7.27672179510101902 ms/block

Runs with skip_recording = false non-chainbase trx hashed_unique multi-index. Also removed the hashed_unique index and only had index on expired, no difference in performance.

  • replayed 5594 blocks in 43 seconds, 7.78335651707491571 ms/block
  • replayed 5594 blocks in 42 seconds, 7.58282424459145332 ms/block
  • replayed 5594 blocks in 42 seconds, 7.67972680135884112 ms/block
  • replayed 5594 blocks in 43 seconds, 7.70128106561773595 ms/block

Percentage increase of skip_recording = false for mapped mode.
(7.56+7.56+7.61)/3 - (6.24+6.28+6.28)/3 / (7.56+7.56+7.61)/3 =
(7.58 - 6.27) / 7.58 = .17 = 17% increase in time

@heifner
Copy link
Member

heifner commented Oct 13, 2022

Test with EOS mainnet section to see how it compares to this.

@heifner
Copy link
Member

heifner commented Oct 14, 2022

Runs with skip_recording head block time optimization (db mapped mode) - eos mainnet 161598568 to 161609500.

  • replayed 10934 blocks in 420 seconds, 38.42357504801975665 ms/block
  • replayed 10934 blocks in 411 seconds, 37.64449108204518524 ms/block
  • replayed 10934 blocks in 417 seconds, 38.20364666605689052 ms/block

Runs with skip_recording = false (db mapped mode) - eos mainnet 161598568 to 161609500.

  • replayed 10934 blocks in 418 seconds, 38.26522573858959220 ms/block
  • replayed 10934 blocks in 417 seconds, 38.19811222903137349 ms/block
  • replayed 10934 blocks in 420 seconds, 38.45242568370986902 ms/block

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OCI Work exclusive to OCI team
Projects
Archived in project
Development

No branches or pull requests

3 participants