Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Eric, I believe the concept you're trying to implement isn't really that effective for your core requirement, if I understand it correctly.</p> <p>Consider the following scenario:</p> <ol> <li>Keep your views in the blob storage.</li> <li>Implement Azure (AppFabric) Cache.</li> <li>Store any view file to the cache, if it's not yet there on a web request with unlimited(or a very long) expiration time.</li> <li>Enable local cache on your web role instances with a short expiration time (e.g. 5 minutes)</li> <li>Create a (single, separated) worker role, outside your web roles, which scans your blobs' ETags for changes in interval. Reset the view's cache key for any blob changed</li> <li>Get rid of those ugly "workers" inside of your web roles :-)</li> </ol> <p>There're a few things to think about in this scenario:</p> <ul> <li>Your updated views will get to the web role instances within "local cache expiration time + worker scan interval". The lower the values, the more distributed cache requests and blob storage transactions.</li> <li>The Azure AppFabric Cache is the only Azure service preventing the whole platform to be truly scalable. You have to choose the best cache plan based on the overall size (in MB) of your views, the number of your instances and the number of simultaneous cache requests required per instance.</li> <li>consider caching of the compiled views inside your instances (not in the AppFabric cache). Reset this local cache based on the dedicated AppFabric cache key/keys. This will raise the performance greatly for you, as rendering the output html will be as easy as injecting the model to the pre-compiled views.</li> <li>of course, the cache-retrieval code in your web roles must be able to retrieve the view from the primary source (storage), if it is unable to retrieve it from the cache for whatever reason.</li> </ul>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload