The first step is to benchmark your disk.
$ dd if=debian-10.5.0-amd64-DVD-1.iso of=zzDummy
7750848+0 records in
7750848+0 records out
3968434176 bytes (4.0 GB, 3.7 GiB) copied, 94.3688 s, 42.1 MB/s
This is going to be pretty close to the hard upper limit of what your current OS / filesystem / disk is capable of achieving.
Then profile what you have with real data.
If it's stuck doing some massive calculation, asio isn't going to solve anything.
If it's stuck waiting for the network, asio isn't going to solve anything.
If your program is already close to your 'dd' stats when it comes to writing to disk, asio isn't going to solve anything.
If you haven't already, get some source control.
So that when your latest attempt at trying to improve things either introduces bugs, or makes it worse, then you can revert back to a known working state with ease.