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

Performance of RPC #1093

Open
MajorChump opened this issue Dec 8, 2017 · 2 comments
Open

Performance of RPC #1093

MajorChump opened this issue Dec 8, 2017 · 2 comments

Comments

@MajorChump
Copy link

MajorChump commented Dec 8, 2017

I've just moved over from using bitcoind as I was running into IO problems and have been told frankly its not much good for scale.

I've started using RPC with btcd but the performance isn't great. For example running getrawtransaction seems to spin a core up to 100% to get a response. With about 8 threads (Machine is a dedicated box with quad core, SSD's and plenty of RAM) I'm able to max the CPU while averaging about 125 responses per second.

Is btcd no good for this? Shouldn't it just be quickly looking up rows from the SSD and returning them considering everything is indexed already?

If btcd isn't right for this, does anyone have any suggestions that would be good for analysing a large amount of blockchain data quickly? I need access to pretty much everything blocks and transactions

@jleskovar
Copy link

jleskovar commented Dec 9, 2017

I suppose you could use the database go package to read directly from the LevelDB block database that btcd maintains, if you were so interested. Not sure if it would help. I'd love to know the answer to this myself, actually.

@Roasbeef
Copy link
Member

Do you have any profiling dumps of your getrawtransaction attempts? On my active nodes I have no performance issues when running that RPC. Or perhaps the particular transaction you're attempting to fetch?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants