ZSTD Compression


  • Moderator

    Is there any way we could drop in zstd compression into fog and see if we get faster imaging/better compression ratios?

    http://facebook.github.io/zstd/


  • Testers

    @JJ-Fullmer Well it wasn’t actually phpipam that was slowing it down.
    I had some ssl logs running for a website running on that server. It was tracking access logs for every access of the ssl cert and site. Which was also adding up to over 400 GB of logs. I changed the apache configuration of the site to log much less. That solved the problem. So again, nothing wrong with zstd. Just wanted to have the right answer in case someone else happens to see a constant 5-8 Mbps transmit and receive on a storage node.


  • Testers

    Figured I should add, my speed issue was related to running PHPIPAM (a ip management tool) on my storage node server. It was slowing my image deploys down, not the zstd. It’s crazy fast at compression level 19 now.


  • Senior Developer

    @jj-fullmer and I had a remote session and the cause of the resize issue as described was found.

    The issue he was seeing was the resize allowed a partition to be sized larger than the boundary of the disk. This only occurred, as far as I could tell, in the case of 4k disks again, but I’ve added code to correct for this in ANY case of the chunk size passed in.

    Just thought I’d give an update to the “resize” issue as it was described and I’ve released RC-16 in an attempt to ensure this is corrected for.


  • Senior Developer

    @JJ-Fullmer What version of fog are you running?


  • Testers

    @Junkhacker Well deploy is where speed is more important to me.
    I gave 19 a go with the split and it actually had some weird error on the first deploy, I was in a meeting in my office so I didn’t really get to see the whole thing, but then it auto-retried the task and worked proper the second time. 2 minutes 18 seconds. The image size on the server seems to still be bigger than pigz was with 7.1 GB for a 15 GB image instead of 6.7 G for the old 18 GB image. But, don’t need to be too picky about it.

    @Tom-Elliott Two minor issues I noticed. The first time (the slow deploy) I queued the image after doing a full host inventory via the pxe boot on the host. I had not specified any snapins and it randomly added like 10 of them. The second time I queued it from the gui and deleted the snapins and the problem didn’t repeat itself. However in both instances the drive didn’t resize itself.


  • Developer

    @Tom-Elliott i’m going to disagree with tom on the speed sacrifice with -19 setting. deploy speed, you won’t sacrifice much, and maybe even gain, but on capture it’s going to take quite a while longer. for me, i use -11.


  • Senior Developer

    @JJ-Fullmer Either or, shouldn’t matter in terms of performance.


  • Testers

    @Tom-Elliott What about split vs not so split?


  • Testers

    @Tom-Elliott I will give it a try then


  • Senior Developer

    @JJ-Fullmer Not at all.


  • Testers

    @Tom-Elliott But at 19 are you sacrificing speed substantially?


  • Senior Developer

    @JJ-Fullmer ZSTD “mid” range is 11, compared to PIGZ “mid” range being 5-6.

    I set my images to 19 now and it’s pretty awesome.


  • Testers

    So I just updated to RC 15 and made a new image at zstd level 9. I was using gzip level 5 before. The image is still currently downloading, estimating the full time to be about 12 minutes. With gzip the download was taking around 3 minutes. This is a 6th gen i5 client and the fogserver is on a vm with 8 vcpus (intel xeon something something) and 16 GB ram. There is also a storage node on a older server with a little less power, but still imaged around 2-3 minutes.
    The size of the image uncompressed is ~15 GB and it is 7.5 GB compressed with zstd. My old image was ~18 GB and with gzip level 5 it compressed to 6.7 GB.

    So what did I do wrong? Is the difference between 9 and 11 really that substantial? Should I re-upload that image? Also split vs non split? I saw the post on the topic of it being better for multiple images, but are there any other considerations in regard to speed?


  • Moderator

    @Junkhacker Yes it was. All of my images are.


  • Developer

    @VincentJ “/tmp/pigz1” is just the name of the fifo that the data is being piped into to be sent to compression. maybe we should rename it for purely aesthetic reasons, but that’s working as it should. was the previous image also Multiple Partition Single Disk (non re-sizeable)?


  • Moderator

    So… Deploy with old fog, capture with new fog on a different image set to zstd 11

    I noticed on the upload, the screen still says:
    Starting to clone device (/dev/sda2) to image (/tmp/pigz1)

    The image is Multiple Partition Single Disk (non re-sizeable)

    On my old image it has two files… but the new one has three…

    I am pulling the image off the NAS now to unpack it and test it, but thought i would pitch in on what i’ve seen so far.

    svn revision 6066


  • Developer

    @loosus456 the image i was testing with here was 33.87 GB “on client”



  • @Junkhacker The majority of my images are ~55 GiB compressed, 85-115 GiB deployed. And yah, Autodesk and Adobe products suck it up real good.


  • Moderator

    Tom-Elliott said in ZSTD Compression:

    @loosus456 My base images with all software had a disk usage of 48gb at it’s largest, but that was EVERYTHING I could put on. My “average” was about 25gb.

    I use a single win7 image at my place (nearly all software etc.), it’s just under 30gb. Will make some time to do some tests


Log in to reply
 

470
Online

39.3k
Users

11.0k
Topics

104.6k
Posts

Looks like your connection to FOG Project was lost, please wait while we try to reconnect.