Update.
The dnf update process is still very, very slow on the RPi3. It will take all night (8 hours) to run. For comparison, I installed F27 workstation on a Celeron N3000 machine with 2 GB of RAM and a 128 GB SSD earlier this week. A much larger (workstation versus minimal server) dnf update took in the order of 10 minutes on that machine. I don't think the I/0 speed and processing power difference is an order of 1000 between these two machines.
I ran $top in another console while #dnf update was running. dnf is rarely at the top of the top listing. And when it is, it is using ~40% of the CPU and only 12% of the memory. None of the swap memory is being used at all. 90% of the time $top itself is the largest resource user.
So why is the #dnf update process so slow ? Is it I/O bound ? Is it an I/O access algorithm problem ?