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
Account history: option to prune old data (#292) #297
Conversation
excellent work. anything to have options to reduce ram i think is good. i confirmed some of the statements made in the pull request of memory reductions but with some differences, not sure how are you measuring it, i am doing
instead of the 3.5 gigs stated this setup is consuming around 16 gigs of ram(same as without , i was expecting a deeper decrease but actually this have sense to me, by having 1000 operations per account should be like an 80%-90% of the history). a new test was made with:
i was expecting significant lower memory here however after sync the witness node is consuming 16 gigs as well. am i starting the node the wrong way ?
|
@oxarbitrage your startup command is not correct, |
silly error, sorry about that, testing again, thanks. |
this is awesome, i am running the node with the last 100 ops per account as:
and the node is consuming 3.4 gigs. are you sure you got 3.5 with 1000 and not with 100 ? i pointed the explorer code i have to the node with the changes and i have all the functionality for that ram, perfect for my needs that i am just pulling the last 20 operations of each account while developing. thanks you very much for this, i think it can be merged. |
1000 or 100 doesn't matter much right now. When the option isn't enabled, most of memory is consumed by only a small number of accounts who have made hundreds of thousands or even millions of transactions:
|
Yep i see now most of the history is market making/trading bots.
El jun. 4, 2017 6:36 PM, "Abit" <notifications@github.com> escribió:
… 1000 or 100 doesn't matter much right now. When the option isn't enabled,
most of memory is consumed by only a small number of accounts who have made
hundreds of thousands or even millions of transactions:
- witnesses: price feeds
- trading bots: market orders
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#297 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AUrjaehCkjhlckRPr6-BpYno2KlQE5VEks5sAyNmgaJpZM4NujZr>
.
|
Wow! this is awesome progress! |
PR for #292.
Changes:
max-ops-per-account
option toaccount_history
plugin, when set, the plugin will keep at most that number of entries per account. Set it to0
to store no history. Set it to a big number to keep all histories.partial-operations
option is set totrue
at the same time, oldoperation_history_object
data (1.11.x) will be removed as wellremoved_ops
field toaccount_statistics_object
to track removed number of entries, behavior oftotal_ops
field didn't change.account_transaction_history_multi_index_type
container, to help tracking references tooperation_history_object
entriesget_relative_account_history
node API to adapt the changeuse_next_id()
instead of creating then removing for (proposed) operations that didn't pass validation, to keep1.11.x
numbering consistent.add_account_history
functiontrack-account
andpartial-operations
are both set, now won't create anoperation_history_object
entry when a non-tracking new account is created.Effects:
max-ops-per-account = 1000
andpartial-operations = true
, and withouttrack-account
set, a BitShares node now consumes around 3.5G of RAM. So it will be easier to provide common API service.Limitations / Cons:
Review / test needed.