Big wallet, Flushing wallet.dat is quite slow #2511

Closed
007pig opened this Issue Apr 11, 2013 · 5 comments

Comments

Projects
None yet
5 participants

007pig commented Apr 11, 2013

I have a wallet with many transactions. It's around 200M. and each wallet flushing takes 4 seconds and blocks JSON RPC calls.

I think it should be improved.

This comment has been minimized.

Show comment Hide comment
@sipa

sipa Apr 11, 2013

Owner

Agree, this is a problem. It will likely be fixed when we move to non-BDB wallets.

Owner

sipa commented Apr 11, 2013

Agree, this is a problem. It will likely be fixed when we move to non-BDB wallets.

This comment has been minimized.

Show comment Hide comment
@007pig

007pig Apr 11, 2013

When will it happen do you know?

007pig commented Apr 11, 2013

When will it happen do you know?

This comment has been minimized.

Show comment Hide comment
@007pig

007pig Apr 12, 2013

CTxMemPool::accept() : accepted 8a01e91659 (poolsz 691)
ThreadRPCServer method=move
CTxMemPool::accept() : accepted 954115b276 (poolsz 692)
Flushed wallet.dat 5071ms
ThreadRPCServer method=getreceivedbyaddress
ThreadRPCServer method=getbalance
CTxMemPool::accept() : accepted 542b3860e4 (poolsz 693)
ThreadRPCServer method=listtransactions
Flushing wallet.dat
CTxMemPool::accept() : accepted 0b274c1c36 (poolsz 694)
Added 2 addresses from 68.119.78.5: 239 tried, 15033 new
CTxMemPool::accept() : accepted 24ca9ce2e4 (poolsz 695)
ThreadRPCServer method=move
Flushed wallet.dat 4546ms

You can see that the wallet.dat is keeping flushed and slow down everything. Can we make the flushing not so frequently? Can I increase 'dbcache' to speed it up?

007pig commented Apr 12, 2013

CTxMemPool::accept() : accepted 8a01e91659 (poolsz 691)
ThreadRPCServer method=move
CTxMemPool::accept() : accepted 954115b276 (poolsz 692)
Flushed wallet.dat 5071ms
ThreadRPCServer method=getreceivedbyaddress
ThreadRPCServer method=getbalance
CTxMemPool::accept() : accepted 542b3860e4 (poolsz 693)
ThreadRPCServer method=listtransactions
Flushing wallet.dat
CTxMemPool::accept() : accepted 0b274c1c36 (poolsz 694)
Added 2 addresses from 68.119.78.5: 239 tried, 15033 new
CTxMemPool::accept() : accepted 24ca9ce2e4 (poolsz 695)
ThreadRPCServer method=move
Flushed wallet.dat 4546ms

You can see that the wallet.dat is keeping flushed and slow down everything. Can we make the flushing not so frequently? Can I increase 'dbcache' to speed it up?

This comment has been minimized.

Show comment Hide comment
@Diapolo

Diapolo Apr 12, 2013

AFAIK that Wallet flush thread was introduced by @gavinandresen the way it is currently working with Git master, perhaps we need to re-think how often the wallet is flushed, dunno not my playground ^^.

Diapolo commented Apr 12, 2013

AFAIK that Wallet flush thread was introduced by @gavinandresen the way it is currently working with Git master, perhaps we need to re-think how often the wallet is flushed, dunno not my playground ^^.

This comment has been minimized.

Show comment Hide comment
@gmaxwell

gmaxwell Jul 14, 2016

Member

I believe this is currently fixed in master.

Member

gmaxwell commented Jul 14, 2016

I believe this is currently fixed in master.

@laanwj laanwj closed this Mar 6, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment