我只是在转移到Windows Azure的过程。 (纯粹是因为他们只有SQL Azure,而你无法打败它)。
我有一个托pipe的服务(部署的Web应用程序的实例),并很好地打勾。
我注意到它也创build了一个存储帐户。 我没有使用或从该存储帐户调用任何东西(或者我以为)。 我没有引用任何blob。 事实上,我的networking应用程序甚至不创build临时文件。
但看着我的账单,我正在积累Windows Azure存储的存储交易。 我只在Azure上工作了几天,已经有了12,000笔交易。
我的部署是否使用它,每次调用aspx页面时都会收取费用? 当我部署时,我是否收费(正如我已经testing了很多次)。
有人能让我知道这些费用是从哪里来的吗?
您的部署不会导致12,000个事务。 这可能导致5-10(因为可能有多个块读取,取决于部署包的大小)。
在部署到Windows Azure时,您需要一些方法来从外部监视应用程序。 这是Windows Azure诊断程序进入的地方。 所有的Windows Azure诊断日志,性能计数器,跟踪语句等都被写入到表存储器(或者对于IIS日志来说是blob存储器)。
如果你在3天内累计了12000笔交易,平均每分钟2-3笔。 按照这个速度,你每个月会累积大约12美分的费用。
如果你想减less交易的数量,你可以自己设置诊断,而不是依靠默认值(不pipe这些可能是什么)。 例如,这里有一个非常简单的设置,可以放在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);
虽然这些值是任意的,但关键的一点是,对表(或Blob)存储的传输现在每5分钟只发生一次,每个对象types一次。 注意:如果您有多个实例在运行,您还将有多个上传到存储 。
那么我终于发现了为什么这里是其他人遇到同样的问题的原因。
我通过Visual Studio上传。 为了上传,Visual Studio创build一个存储帐户并在那里加载部署包。
这是存储帐户的原因,以及为什么有活动。
部署完毕后,您可以自由删除存储帐户,而其他所有function都可以继续使用。 但是,您将需要在下次部署时再次创build它。