-
Notifications
You must be signed in to change notification settings - Fork 206
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
Captive-cores should use bucketlistdb #490
Comments
@sreuland I gave this a go by enabling bucketlistdb on Horizon's captive core in the quickstart image. CPU usage was higher by ~5%. It's unclear to me if this is a better outcome as I couldn't see any other measure of improvement. There's a few resources we could measure impact on, but increased CPU seems pretty bad for devices that run on batteries like laptops. What sort of performance improvements should we see on captive-core? Does captive-core use on disk db? I thought it'd be in memory anyway? Could you share some examples of the performance improvement you see? |
Hello @leighmcculloch ,
when the captive core db is located on disk, which is done in quickstart by default for horizon, the savings are in less round-trips to the db from core process, as the bucklist acts like a read cache first, it was enabled on horizon cc config by default on horizon/4733 whenever 'use disk' is also enabled via
yes, for horizon cc in quickstart, it runs on disk mode,
@urvisavla , has actually done some recent horizon benchmarking for docs updates which included cc on disk and bucketlistdb which may provide more data. the findings are posted here - stellar/go#4960. |
@sreuland Are you able to open a PR or share a diff of what would change in the quickstart image to use this different setup you were proposing? I suspect when I tested it I was not using the configuration you proposed. |
i'm trying out two runs locally using --pubnet to observe, one with current quickstart:testing from dockerhub which has no bucketlist enabled, and the other built with this config, will watch activity monitor and see if any spikes on cpu/ram horizon attempts to enable bucketlist by default, but it does so based on core's version string, looking for a semver of 19.6 or above, and since horizon built from source on quickstart image, I think it's not getting this automatically, so would have to add the enablement directly in the core .cfg |
… of --stellar-core-db-url, it's deprecated anyways
I gave this a whirl using testnet, which I think is more representative of a developers use of quickstart. Pubnet is more data than a user is likely to use. The difference between the two doesn't seem that meaningful. Here's the resource usage of the docker container: The only differences I see from this run is that:
Seems fine to move ahead with this change then. |
ok, when you run quickstart are you including
|
Ah, I missed that. Thanks. When we merge #498 then this won't be such an easy mistake to make. I'll rerun and see what it is like on my system with it enabled. |
cool, #498 looks good, maybe can just add the bucketlist enablement in there as it's closely related to captive core anyways? - ac9088a I ran with |
Ok, I got similar results to what I mentioned the first time I tested this (#490 (comment)): Running without bucket list change: Running with bucket list change: The differences appear to be:
|
This issue is stale because it has been open for 30 days with no activity. It will be closed in 30 days unless the stale label is removed. |
Originally posted by @sreuland in #486 (comment)
At the moment we only use it in soroban-rpc, but we could apply it to horizon's too of all networks in the image.
The text was updated successfully, but these errors were encountered: