When you RDP to your Web or Worker Role, you might see AzureAgentIntegrator.exe process consuming 70-80% CPU

I was recently working on a problem in which Windows Azure user reported the following issue:

 

              When Windows Azure user RDP to their Web Role they found that, AzureAgentIntegrator.exe process consuming 70-80% CPU which cause a significant amount of performance degradation. 

After more investigation we collected the following interesting information on this regard:

- To enable "Windows Azure Connect" to your Web or Worker Role, you do the following:

- Once you enable "Windows Azure Connect" with Worker or Web Role, it adds up these following settings in your ServiceConfiguration.cscfg

     <ConfigurationSettings>
      <Setting name="Microsoft.WindowsAzure.Plugins.Connect.ActivationToken" value="" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Connect.Refresh" value="" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Connect.Diagnostics" value="" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Connect.WaitForConnectivity" value="" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Connect.Upgrade" value="" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Connect.EnableDomainJoin" value="" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainFQDN" value="" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainControllerFQDN" value="" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainAccountName" value="" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainPassword" value="" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainOU" value="" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DNSServers" value="" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Connect.Administrators" value="" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Connect.DomainSiteName" value="" />
    </ConfigurationSettings>

  

 

 

Possible reason for this problem and Solution:

If you leave above fields empty and deploy your project to Windows Azure Cloud, that will cause AzureAgentIntegrator.exe process to start when the Role Starts. Now because most of these Windows Azure Connect settings are empty, that will cause AzureAgentIntegrator.exe process to try to configure empty content that will result excessive CPU consumption by AzureAgentIntegrator.exe process. 

In our case these Windows Azure Connect settings were included in Service Configuration and even when the final Application Solution did not have "Windows Azure Connect" enabled. So it is best to check the Service Configuration file before deploying the package for any last minute inconsistencies. After removing all the empty settings in Service Configuration, and redeploying the configuration fixed the problem. 

[Update: 05/12/2011]

1) I had discussion with Windows Azure Connect team and I was suggested that they know this regression issue, and it will be fixed in next CTP refresh

2) Please be sure that if you don’t intent to use Windows Azure Connect, you must leave “Activate Windows Azure Connect” uncheck in VS role properties
page positively.

3) If you decide to check “Activate Windows Azure Connect” however don’t provide an activation toke then you can enter a NULL GUID as “ActivationToken”, see below:

            e.g. <Setting name="Microsoft.WindowsAzure.Plugins.Connect.ActivationToken"
value="00000000-0000-0000-0000-000000000000" />

    and leave all other Connect entries empty in CSCFG. This
will avoid re-deployment and fix the issue for them.