Sua implantação não está causando 12.000 transações. Isso está causando entre 5 e 10 (como pode haver várias leituras de bloco, dependendo do tamanho do pacote de implantação).
Ao implantar no Windows Azure, você precisa de uma maneira de monitorar seu aplicativo externamente. É aqui que o Diagnóstico do Windows Azure entra em cena. Todos os seus logs de diagnóstico, contadores de desempenho, instruções de rastreamento etc. do Windows Azure são gravados no armazenamento de tabelas (ou armazenamento de blob, no caso dos logs do IIS).
Se você acumulou 12.000 transações em, digamos, 3 dias, a média é de 2 a 3 por minuto. Nesse ritmo, você acumularia cobranças de cerca de 12 centavos de dólar por mês.
Se você deseja reduzir o número de transações, você mesmo pode configurar os diagnósticos, em vez de confiar nos valores padrão (sejam eles quais forem). Por exemplo, aqui está uma configuração muito simples que pode ser encontrada no seu OnStart()
:
DiagnosticMonitorConfiguration diag = DiagnosticMonitor.GetDefaultInitialConfiguration();
var perfCounter = new PerformanceCounterConfiguration()
{
CounterSpecifier = @"\processor(*)\% Processor Time",
SampleRate = TimeSpan.FromSeconds(30)
};
diag.PerformanceCounters.DataSources.Add(perfCounter);
diag.PerformanceCounters.ScheduledTransferPeriod = TimeSpan.FromMinutes(5);
diag.DiagnosticInfrastructureLogs.ScheduledTransferLogLevelFilter = LogLevel.Error;
diag.DiagnosticInfrastructureLogs.ScheduledTransferPeriod = TimeSpan.FromMinutes(5);
diag.Logs.ScheduledTransferLogLevelFilter = LogLevel.Error;
diag.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(5);
DiagnosticMonitor.Start(CloudStorageAccount.DevelopmentStorageAccount, diag);
Embora esses valores sejam arbitrários, o ponto principal é que as transferências para o armazenamento de tabela (ou blob) agora ocorrem apenas uma vez a cada 5 minutos, por tipo de objeto. Nota: Se você tiver várias instâncias em execução, também terá vários uploads para armazenamento .