none
Really bad IO performance when mounting Azure File Service on Linux

    Question

  • I'm experimenting with Azure File Service, which we want to use to give a large number of worker machines access to a common network share. To benchmark the IO, I created and mounted a share using a Windows Server 2012 instance and copied a file to it, which yields a transfer rate of about 40 MB/sec (this is less than the advertised 60 MB but still acceptable).

    However, if I mount the share on an Ubuntu 14.04 LTS machine, the transfer speed drops to 10 MB/s. I tried using different read/write cache sizes and turning off the caching, but nothing seems to help.

    Here's the mount command that I use

    mount -t cifs -o username=[...],password=[...],vers=2.1 //[...].file.core.windows.net/[...] /data

    I also added rsize=65536,wsize=65536 (and other values) to the options. Any ideas how I could improve performance and reach the promised 60 MB / second? BTW I ran the tests on a DS7 / A7 machine, so the transfer speed should not have been limited by the network bandwidth of the machine as far as I understand. I verified this by running multiple transfers to the SMB share in parallel, which yields an increase in the transfer speed to 35 MB / sec (for all transfers together).




    • Edited by AndreasDW Monday, June 29, 2015 4:33 PM
    Monday, June 29, 2015 4:17 PM

Answers

  • Hi,

    Is the Linux VM in the same Availability set  where the storage account is ? The performance might go low if both VM and Storage account are in the different region.

    You can use only the latest 2 Ubuntu images in the portal can support Azure Files. To mount the share from linux, you first need to install some client tools. One choice is cifs-utils. This is the command from Ubuntu to install cifs-utils:

         sudo apt-get install cifs-utils

            Next, you need to make a mount point (mkdir mymountpoint), and then issue the mount command that is similar to this:

         sudo mount -t cifs //myaccountname.file.core.windows.net/mysharename ./mymountpoint -o vers=2.1,username=myaccountname,password=StorageAccountKeyEndingIn==,dir_mode=0777,file_mode=0777

            You can also add settings in your /etc/fstab to mount the share.

    sudo mount -t cifs //myaccountname.file.core.windows.net/mysharename ./mymountpoint -o vers=2.1,username=myaccountname,password=StorageAccountKeyEndingIn==,dir_mode=0777,file_mode=0777

    For further queries you may also email : mastoragequestions@microsoft.com

    If the above steps doesn't help, I would recommend you to create a support ticket via https://azure.microsoft.com/en-us/support/options/

    Regards,

    Shirisha Paderu

    Tuesday, June 30, 2015 1:33 PM
    Moderator