Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: nimnul on February 12, 2013, 06:00:21 PM



Title: Too many disk writes during blockchain sync
Post by: nimnul on February 12, 2013, 06:00:21 PM
Has this been discussed before? Bitcoin client seems to perform way too many disk writes under Windows - Task Manager reports 4 millions of write calls to sync 3k blocks.

Can't we buffer writes to bring them down to dozens per second from hundreds per second? My hard drive seeks like crazy during sync.


Title: Re: Too many disk writes during blockchain sync
Post by: Pieter Wuille on February 12, 2013, 08:22:22 PM
Please try v0.8.0rc1 (https://bitcointalk.org/index.php?topic=142151.0).


Title: Re: Too many disk writes during blockchain sync
Post by: nimnul on February 12, 2013, 11:51:42 PM
It used 72M writes to reindex :( Still reindexing


Title: Re: Too many disk writes during blockchain sync
Post by: grue on February 13, 2013, 12:25:14 AM
use 0.8 rc with a large cache size (-dbcache=1024)


Title: Re: Too many disk writes during blockchain sync
Post by: nimnul on February 13, 2013, 12:38:15 AM
It takes 20M+ writes to start with -dbcache=1024. Indexing is not over yet.


Title: Re: Too many disk writes during blockchain sync
Post by: gmaxwell on February 13, 2013, 06:37:15 AM
It takes 20M+ writes to start with -dbcache=1024. Indexing is not over yet.
Then it sounds like 'write calls' doesn't mean what we think it means here.... or leveldb is doing something crazy on win32. In strace output it's pretty clear that it's being batched as expected under Linux.


Title: Re: Too many disk writes during blockchain sync
Post by: nimnul on February 13, 2013, 07:40:40 AM
It has the same meaning as strace write syscall count.

How many writes I'm supposed to get? If the issue is supposed to be fixed I can look closer at it.

Now it finished reindexing and syncing remaining 2k blocks or so, used "only" 30k writes to start and then about 10k writes per block.