it just has got 9% of the blockchain in total. why is this slow as hell?
From what I've seen you can improve performance by:
- Using SSD instead of HDD
- Having 16 GB RAM
- Setting dbcache (database cache) to 4096
- Using Linux instead of Windows (I've never tested Windows myself)
- Having a fast CPU if that becomes the new bottleneck
- Enough bandwidth tot download 350 GB in a few hours
Bandwidth speed won't usually be the bottleneck because from my experience the downloads are done in bursts of a few megabits/second, and my node has a 1Gbps line.
Server processors such as Intel Xeons are usually good for sustained CPU activity but when running an intense single-threaded task like syncing, high-end consumer CPUs are faster because they can do busts of around 4.something GHz before reverting to about 2.x or 1.x GHz speeds, while server CPUs usually only run at a constant 2.x GHz clock rate.
My node has 16GB of RAM although I have almost never seen Core use more than 2GB at once. I can't speak for Linux vs Windows but the Windows build is compiled with MinGW gcc which does not know anything about optimizations used in Windows' compiler (msbuild). But the Linux version wouldn't be much different anyway.
CPU, hard disk and RAM are really the only major bottlenecks in syncing. Also check the RAM access speed, because older DDR2 and DDR3 sticks have slower access times than modern DDR4 sticks.
(By the way, wouldn't it be more efficient if Core downloaded blocks during the sync using multiple threads, since that can be parallelized safely?)