Chuyu-Team / Dism-Multi-language

Dism++ Multi-language Support & BUG Report
MIT License
14.76k stars 1.01k forks source link

试用小计 #599

Closed Hochiss closed 5 years ago

Hochiss commented 5 years ago

Sorry If I was too direct in the title==> 耗时长,CPU占比高,写入慢

I have been searching for B&R for Windows (10) for long and frustrated by Wx internal B&R which always failed. I tried True image and Aomei, ghost... But

in short, my ultimate B&R solution would be like MacOS Time machine.

Dism++ sounds a good candidate.

But as I have just tested/tesing... I got the impression: 耗时长,CPU占比高,写入慢, while make a backup of my Wx drive to an external USB3 HDD.

  1. It took too long time to index the files, while I saw it screening the files but no change in HDD size;
  2. while copying, the HDD(int & ext) the max. W&R speed is too low, mostly < 20MB/s, it should be ~100MB/s
  3. CPU% is high to >40%~80%;
  4. whole process took too long time comparing to Aomei or Time machine(their W&R speed quite high)

BUT I still look forward to your newer versions, hence I also donated even before my D/L.

Great work! head up! many thanks!

verdy-p commented 5 years ago

It seems that you're limited by the CPU performing data compression, instead of I/O. You may want to reduce the compression level to get higher performance.

Anyway 20MB/s is not a bad performance on external USB drives (even if they are sold as being USB3 compatible, the high thoughput is only to its internal RAM buffer then it gets limited by the hardware, notably if it is a physical rotating harddrive): many USB drives offer only ~7-10 MB/s for large data volumes transferred.

Most USB3 drives are sold which state "extreme" performances but not much when you start putting more than about 1 megabyte of data on them (the size limit of its input buffer).

You should test the real performance of your USB drive using a benchmark tool: for fast backup, you need to look at benchmarks targetting linear writes (these benchmarks are writing large repcomputed buffers of random data, so that CPU is no longer an issue, but you'll measure the effective bandwidth of the USB bus and the harddrive itself (generally the USB bus is much faster than harddrive). Also be careful not connecting your USB3 drive to an USB2 only port!

Make sure also that your system is not too busy with many apps taking RAM (otherwise the OS will constantly swap significant part of them to make the disk write buffer fit).

If your Disk benchmark test really gives you the 100MB/s for linear writes, then definitely the limiting factor is your CPU, unless the source of backup is a slow RAID array and it is highly fragmented (in which case you're limited by the read speed from the source volume.

Usually backup is faster when performing data compression so that the time waiting for I/O completion is used by the CPU to compress more data. The backup normally uses multiple threads and may be tuned to use more CPU cores to get faster compression, some backup software can also use the GPU for even faster compression (so you can increase the compression level).

To make sure that all is working well, open the performance monitor of your windows installation: look at the disk I/O usage percentages for the source and target volumes and the CPU usage (how many cores are used: if you have an 8-core CPU or 4-core with 2-thread hyperthreading, and the CPU usage is about 15%, the backup software uses a single thread for compressing data and is limited in throughput.

Reducing the compression level has the effect of reducing the internal buffer size for dictionary lookups and table sizes, so that it avoid exhausting the CPU L2 memory cache and maximize the hit rate in the CPU L1 data cache.

You may also be impacted by some OS security enforcement introduced to mitigate Meltdown attacks on the CPU cache (this depends on your CPU model, not all CPUs are impacted the same way by the mitigation) which avoids a single thread to exhaust the cache resources used by internal threads of the OS itself or of other competing programs and services.

Finally you should look at the hardware configuration settings made in drivers (verify your BIOS settings, check that drives are properly detected with their maximum accelerated bandwidth).

Le jeu. 13 déc. 2018 à 16:01, Hochiss notifications@github.com a écrit :

Sorry If I was too direct in the title==> 耗时长,CPU占比高,写入慢

I have been searching for B&R for Windows (10) for long and frustrated by Wx internal B&R which always failed. I tried True image and Aomei, ghost... But

in short, my ultimate B&R solution would be like MacOS Time machine.

Dism++ sounds a good candidate.

But as I have just tested/tesing... I got the impression: 耗时长,CPU占比高,写入慢, while make a backup of my Wx drive to an external USB3 HDD.

  1. It took too long time to index the files, while I saw it screening the files but no change in HDD size;
  2. while copying, the HDD(int & ext) the max. W&R speed is too low, mostly < 20MB/s, it should be ~100MB/s
  3. CPU% is high to >40%~80%;
  4. whole process took too long time comparing to Aomei or Time machine(their W&R speed quite high)

BUT I still look forward to your newer versions, hence I also donated even before my D/L.

Great work! head up! many thanks!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Chuyu-Team/Dism-Multi-language/issues/599, or mute the thread https://github.com/notifications/unsubscribe-auth/ABUqG3U3pEnOSDctsr25uSWPBopDEnF9ks5u4muygaJpZM4ZRzUn .

Hochiss commented 5 years ago

@verdy-p Thanks for your prompt feedback!

But sorry I cannot agree, the testing machine was X1 Carbon 6th with i7+16G, and only browser was occasionally used. In fact. DISM++ was lately the only app because I let it run alone because it takes too long. (This transfer performance reminds me of ghost)

W.r.t. the USB3 speed (common sense?), I did again with AJA system benchmarking app, all W&R results >100MB/s with 1GB or 4GB data transfer. I did observe AOMEI or TM, both > 100MB/s. EDITed/add screenshot: screen shot 2018-12-21 at 10 19 08

BTW: even my WiFi <=>NAS is 20~40MB/s, but I would skip the NAS backup by now. I would expect DISM++ has the same or above performance as Aomei wrt. speed in same compress ratio.

I am testing again :

  1. Cancelling task takes too long time (for health check or mount/umount backup.wim)
  2. Currently I choose "system backup" with the FAST option( which would be less compression ratio) , I still notice the screening of files takes very long, status line refresh/0.5s. comparing to e..g AOMEI, I can hardly read any file listing there.
  3. CPU% ~ 20% for indexing only, not copying yet (1kb file reserved at USB3HDD)

There must be something wrong. By now I would cease to test further waiting for any updates. On the other side, please let me know if any best practice setup let me recheck.

Sorry if i am using a wrong place to give feedback.

mingkuang-Chuyu commented 5 years ago

直接说中文就可以了,其实吧你100MB吞吐的硬盘能发挥个20MB/s并不算慢。测试工具连续IO跟程序实际使用发生的随机IO完全就是2马事情。你换个ssd,速度就上去了。

Hochiss commented 5 years ago

多谢@mingkuang-Chuyu的回复。一直在关注你们!刚才差点找不到以为删除了,呵呵。 请勿误解用英文,GitHub是international的平台,请秉承包容开放的初衷。(Frankly speaking, I prefer to discuss in EN since ~20 years abroad studying and working in this environment) . 如前所述,我的测试机器是X1C6,通过USB3接外置HDD,不管是Time Machine还是AOMEI的Backup & Restore都可达到近100MB/s的W&R的速度(见上截图)。外置硬盘使用SSD是不切实际的。目前我的测试还有CPU占比高的问题。

我会一直关注你们(已捐助),一直在寻找一个在Windows里能够媲美MacOS的Time Machine的B&R工具。加油!谢谢!

mingkuang-Chuyu commented 5 years ago

感谢你的支持,但是实际是备份功能就是这样的。40%~80% CPU占用率已经算低了,我估计是 IO速度阻止了CPU性能发挥。不然一般CPU占用率应该在98%左右徘徊。

对于一个HDD,随机存取速度真的不可能达到100MB/s,发挥个15MB/s就不错了。Dism++的备份文件是按文件进行的,不是按扇区,然后文件还要压缩,压缩还要查询历史,来提高压缩率。

所以 按文件备份的速度肯定不及按扇区复制,但是按文件备份好处就是备份的文件体积会小一点。