O serviço hospedado do Windows Azure usa transações de armazenamento

1

Estou apenas no processo de transferência para o Windows Azure. (Simplesmente porque eles têm o SQL Azure e você não consegue vencê-lo).

Eu tenho um serviço hospedado (instância implantada de um aplicativo da web) e seu funcionamento é muito bom.

Percebi que ele também criou uma conta de armazenamento. Não estou usando ou chamando nada dessa conta de armazenamento (ou assim eu pensava). Eu não faço referência a nenhum blobs. Na verdade, meu aplicativo da web nem cria arquivos temporários.

Mas, olhando para o meu faturamento, estou acumulando transações de armazenamento para o Armazenamento do Windows Azure. Estou no Azure há apenas alguns dias e acumulei 12.000 transações.

Minha implantação está sendo usada e sou cobrado toda vez que uma página aspx é chamada para carregar? Sou cobrado ao implantar (como já fiz várias vezes enquanto o testei).

Alguém poderia me informar de onde vêm essas cobranças?

Adão
fonte
ligue para o suporte ao cliente Azure
tony roth
@tony - não há necessidade de ligar para o suporte ao cliente. Há uma explicação muito simples para isso.
David Makogon

Respostas:

2

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 .

David Makogon
fonte
Obrigado David. Agora que meu site inteiro está no Azure (e já passamos por esse horrível tempo de inatividade), estou aprendendo mais sobre ele todos os dias. O diagnóstico soa correto, junto com as implantações.
Adam
0

Bem, finalmente descobri o porquê e aqui está o motivo, caso outras pessoas se deparem com a mesma preocupação.

Estou enviando via Visual Studio. Para fazer o upload, o Visual Studio cria uma conta de armazenamento e carrega o pacote de implantação lá.

Esse é o motivo da conta de armazenamento e o motivo da atividade.

Depois que tudo é implantado, você fica livre para excluir a conta de armazenamento e tudo o mais continua funcionando. No entanto, você precisará criá-lo novamente na próxima vez que implantar.

Adão
fonte
11
Não é bem preciso. Obter 12.000 transações em alguns dias, isso significa 12.000 chamadas para o Armazenamento do Azure, o que não é causado pela captura de uma imagem de implantação. É devido ao diagnóstico.
David Makogon