Why Clydesdale?
Expertise
Blog
Contact
Home
Clydesdale Software Logo


Follow Us: Twitter RSS



Go Back

Umbraco - Membership Login Slow SOLVED

The last post on this topic showed how to get Umbraco 4 running in Azure without using the accelerator.


Since then there have been some discoveries, the main one being a very slow login for members.  As shown in the previous post the Umbraco settings are updated when the role starts with the ip address of the instances in the deployment.  This all works fine and dandy until the role instance count is changed. 


Each time a login happens the distributed servers in the list are pushed to and when an ip is invalid it takes time for that call to fail.  You can see this error in the umbracoLog table or you can implement your own external logger and use something like Unified Logging so all logging information can be seen.


Fortunately there is an easy fix, handle the  RoleEnvironment.Changed event and if a change of type RoleEnvironmentTopologyChange occurred run UmbracoAzureSetup.Setup() again which will update the servers in the distributedCall list.


private void RoleEnvironment_Changed(object sender, RoleEnvironmentChangedEventArgs e)
{
            var topoChanges = e.Changes.OfType<RoleEnvironmentTopologyChange>();

            if (topoChanges.Any() == true)
            {
                //The distributed server list needs to updated
                UmbracoAzureSetup.Setup();
            }
}

Facebook Twitter DZone It! Digg It! StumbleUpon Technorati Del.icio.us NewsVine Reddit Blinklist Add diigo bookmark