Mounting an ISO file takes very long
Hi Feodor
As you suggested earlier, I've uploaded the files I need for building my projects to Azure, East US region. Furthermore, I have packaged all bits into a single ISO, with the intent to mount it to save on installation times. (No registry settings need to be applied.)
Downloading < 400 MB takes about 20 secs, which is
acceptable, although I'd have expected it to be even faster. I
think I can still compress the image for storage and decompress on
the fly. However, the main issue is that mounting the ISO using
Mount-DiskImage in PowerShell takes almost one minute! See an
example
build, and look for the progress indicators that begin with
==
. (This used to be less when the image was still
smaller.)
I can't replicate this on a fresh Windows 8.1 VM in VirtualBox.
Do you see a reason for this terrible delay? Is anything scanning the whole disk? Will a VHD be faster?
Thanks again.
Cheers
Kirill
Comments are currently closed for this discussion. You can start a new one.
Keyboard shortcuts
Generic
? | Show this help |
---|---|
ESC | Blurs the current field |
Comment Form
r | Focus the comment reply box |
---|---|
^ + ↩ | Submit the comment |
You can use Command ⌘
instead of Control ^
on Mac
Support Staff 1 Posted by Feodor Fitsner on 14 Aug, 2014 03:34 PM
Hi Kirill,
I've never tried both ISO and VHD and your experience here is very valuable. You should give VHD a try and see the how that works.
For me bringing 400 MB of stuff for additional 1,5 minutes sounds great :)
2 Posted by Kirill Müller on 14 Aug, 2014 04:36 PM
Thanks for the feedback. It's an extra effort to set up VHD, but doable.
I just wanted to know if a virus scanner (or something else that scans the whole disk after mounting) is running on the build slaves. Without a remote desktop access to the slaves, it's difficult for me to find out. (Do you think it's possible to RDP into a running build session, perhaps after changing user password and adding permission? You haven't replied to my earlier post.)
I think it's possible to cut the time required to a few seconds. Everyone would benefit.
Support Staff 3 Posted by Feodor Fitsner on 14 Aug, 2014 04:57 PM
It's a standard Windows Server 2012 R2 and it has Windows Defender on board: http://technet.microsoft.com/library/hh831778.aspx Whether it's ON or OFF - I will check that out.
Regarding RDC - we especially put additional efforts towards making workers inaccessible from outside :) Maybe we could catch your VM while it's running and prevent it from being disposed after build?...
4 Posted by Kirill Müller on 14 Aug, 2014 06:18 PM
Thanks, catching the VM sounds great, but how to manage it? The repo of interest is r-appveyor, I can open a branch for this exercise.
If I wanted to create a VM in Azure that looks as similar as possible to the AppVeyor VM, which setting would you suggest?
Something else occurred to me: Perhaps it is some form of auto-run that is enabled?
5 Posted by Kirill Müller on 14 Aug, 2014 07:33 PM
I have now created a "tiny" A0 VM in Azure (Windows Server 2012 R2), mounting the ISO file in question using PowerShell takes only about 7 seconds there. Will investigate more.
Support Staff 6 Posted by Feodor Fitsner on 14 Aug, 2014 07:36 PM
Interesting. Keep me posted.
- Feodor
Support Staff 7 Posted by Feodor Fitsner on 14 Aug, 2014 07:41 PM
I can give you an URL for AppVeyor image, but you should copy it to a storage in East US region to avoid traffic charges.
- Feodor
8 Posted by Kirill Müller on 14 Aug, 2014 07:42 PM
That would be marvelous, thanks. All my stuff is in East US now.
Support Staff 9 Posted by Feodor Fitsner on 14 Aug, 2014 08:13 PM
Great, will send it later today.
- Feodor
Support Staff 10 Posted by Feodor Fitsner on 15 Aug, 2014 02:41 AM
Sent details by email.
11 Posted by Kirill Müller on 16 Aug, 2014 09:16 PM
Perhaps a different path: Would it work to attach a VHD that is hosted in Azure directly to the virtual machine, via some Azure API?
Support Staff 12 Posted by Feodor Fitsner on 16 Aug, 2014 09:26 PM
Yeah, then VHD blob and disk should be on the same subscription with VMs.
- Feodor
Support Staff 13 Posted by Feodor Fitsner on 18 Aug, 2014 10:34 PM
You can give Azure Files a try: http://blogs.msdn.com/b/windowsazurestorage/archive/2014/05/12/intr... Make sure your storage account is in East US region.
14 Posted by Kirill Müller on 26 Aug, 2014 10:14 PM
FYI: Mounting a 500 MB-ish VHD also takes just over one minute.
Unfortunately, I seem to need write access for at least some of the files, so I don't think Azure Files is an option currently. They aim at providing around 1000 IOPS, though, (and 60 MB/s for continuous reads), which means that in theory this can also work for lots of small files.
Support Staff 15 Posted by Feodor Fitsner on 27 Aug, 2014 10:38 PM
What code have you used to mount VHD?
16 Posted by Kirill Müller on 28 Aug, 2014 05:46 AM
I'm using
Mount-DiskImage -ImagePath $ImageFullPath
in PowerShell.Support Staff 17 Posted by Feodor Fitsner on 28 Aug, 2014 11:33 PM
OK, then we should live with that.
I'll be experimenting with running builds with user profile loaded and we'll see if it makes any difference.
18 Posted by Kirill Müller on 29 Aug, 2014 07:42 AM
Thanks. Please do let me know if I can do anything.
Ilya Finkelshteyn closed this discussion on 25 Aug, 2018 01:47 AM.