The MyCloud has a system daemon that runs in the background when cloud access is turned on. This daemon does indexing and thumbnail generation of media files, among other things. It is known to have issues, and to sometimes spend DAYS doing the thumbnail generation. During that time, it consumes high CPU, and lots of the very limited memory available inside the MyCloud. (It even has problems with certain types of image file, where it can spend HOURS trying to parse a single image, before producing a broken thumbnail.
The recent firmware release has a pretty banal looking “Improve latency on thumbnail display for cloud access” keypoint.
At this point, I strongly suspect that they “Improved the latency” by increasing the process priority of the thumbnailer/indexer daemon. Again, this daemon ALREADY was consuming inordinate amounts of system resources to do its task. Increasing the process’ priority would make it harder for other tasks to wrest the CPU away from this process to do something you actually want it to do-- like network or file IO.
I am not brazen enough to install this firmware to do analysis myself, but I strongly suspect this to be the root cause. Personally, I would have LOWERED the priority of the thumbnailer, so that the system functions more reliably as a NAS when cloud access is enabled, and just ignored the lack of thumbnail images… but that’s me. (I rather prefer having reliable access to my data than reliably having pretty thumbnails in my browser…)
One of the things that WD could have done INSTEAD of dumbly inreasing the process priority, would be to add zram compressed swap to the device. (Currently, when the system runs low on RAM, it swaps to a swap partition on the hard drive. This is painfully slow compared to zram compressed ram swap. Both swap devices can be be enabled at the same time. so that when the zram swap is full, it uses the HDD backed swap, so really there is not a reasonable explanation for why they did not enable it on this device’s kernel.) which would reduce the IO contention issues of the device under load considerably. Currently, the device spends lots of time “waiting” to get data into memory from the HDD. This slows the entire system down to a crawl. Throw high CPU requirement on top of it all, and you have a recipe for trouble.
I dont think that WD spends a lot of time actually trying to tune the software of these devices at all.
I have silently wondered about taking every FW release they make, tearing into it myself, and reconfiguring it to be less insane, then releasing a community fix firmware based on it. I really dont have the time to reliable perform such a service though.