none
How to use Azure Drive,some Worker Role updates files once a minute,some Web Role uses those by user requests. RRS feed

  • Question

  • Hi,quys.

    I wanna ask a proper way to use Azure Drive.

    My system like below.

    ・Some Worker Role updates 20-30 files once a minute from the request on the queue.Some Web Role enumerates and finds proper file then reads it when user requests come.

    ・Total counts of files is about 500.  size of each file is about 20k.

    First question is Azure Drive is quite slow compared to local drive?As a sample,I put 60 files on the drive.Then tried to enumerate and find then read file,it took 8 second on azure drive ,it took 2 milisecond on develop environment.

    Second question is how to mount/unmount.First,I thought to call mount/unmout pair for each update or read,but it took about 8 second also to mount.It's overwhelmingly slow to do like that.

    For Web Role ,who is reader,Snapshot is more appropriate?Snapshoting doesn't waste time?

    Updating isn't so often,shapshoting in every minute may work on this system.

    For Worker Role, who is writer,they have to call  mount/unmount pair for each request?

    Usint Azure Drive isn't appropriate for the reader/writer system like mine?

    Anyway ,any your advice is helphul.

    Regards.


    cyclops

    Tuesday, August 28, 2012 10:11 AM

Answers

All replies

  • Hi cyclops2,

    Have you consider using Windows Azure Blob Storage instead? Are there specific reasons where you need a NTFS drive to work in your Windows Azure solution? Going for simple Blob Storage, It would eliminate the Azure Drive mount and un-mount overhead. It would speed things up for you, a lot! 



    Best Regards,
    Carlos Sardo

    Tuesday, August 28, 2012 10:28 AM
  • The reason is that I wanna use same binary for on-premise and for Azure with slight change.

    But if overhead of mount/unmount is significant,using Blob and making some bridge to blob may be better.


    cyclops

    Tuesday, August 28, 2012 11:01 AM
  • The reason is that I wanna use same binary for on-premise and for Azure with slight change.


    you can use Blob storage from on-premise as well
    Tuesday, August 28, 2012 11:32 AM
  • This system has been working as On-Premise already.

    Including performance issue,there is no plan to move those files to Blob.


    cyclops

    Tuesday, August 28, 2012 2:17 PM
  • Hi,

    Actually Azure Drive is a special Page Blob Storage that can be mount as drive disk of Azure VM, so the performance may not as good as local drive, do you ever use Azure local storage for achieveing your goal?

    http://msdn.microsoft.com/en-us/library/windowsazure/ee758708.aspx

    Your second question, every drive could be mount a read/write once, in other words, only 1 copy of drive has read/write permission and other snapshots only has read permission, so if you need multiple work role instances to write something, that's not supported senario.

    It looks like you want a frequent file read/write and high performance application, right? Perhaps you can consider Role-Base caching service, maintain something will be access frequently in a single work role memory:

    http://msdn.microsoft.com/en-us/library/windowsazure/hh914153.aspx

    Best Regards,

    Arwind


    Please mark the replies as answers if they help or unmark if not. If you have any feedback about my replies, please contact msdnmg@microsoft.com Microsoft One Code Framework

    Wednesday, August 29, 2012 4:04 AM
    Moderator
  • I think that Azure local storage is just local storage,then I can't use it to share data among several roles,right?

    On my trial,mounting to drive took 8 seconds,it mean it's not possible to call mount/unmount pair for each write access.But this mounting time is normal?If it should be shorter in normal case,mounting per write access is possible in some situation,it may permit for some role to access to same drive in turns.

    I used Azure caching service in another system,it's fast as you say,but it brings another problem,considering cache data life cycle and bla bla bla.

    So I changed my system to use Blob,it works well until now.

    What is the typical usage of Azure Drive?Is it possible to use Azure Drive to high performance data storage like a storage of data base?If only one role access to drive,is it possible?


    cyclops

    Wednesday, August 29, 2012 7:17 AM
  • Hi,

    You can consider involve internal endpoint for local storage, i think. Then the local storage file can be share around these instances. Blob Storage is used for these situation, and the hosted service and storage account must be in the same region will improve performance. For azure drive, refer to this link:

    http://msdn.microsoft.com/en-us/wazplatformtrainingcourse_exploringwindowsazurestoragevs2010_topic5#_Toc310346241

    Hope this helps.


    Please mark the replies as answers if they help or unmark if not. If you have any feedback about my replies, please contact msdnmg@microsoft.com Microsoft One Code Framework

    Wednesday, August 29, 2012 7:32 AM
    Moderator