如何准确测量Azure Web应用程序中的"数据输出"?

Lar*_*ard 10 .net c# performance azure azure-web-app-service

我在Azure中有一个Web应用程序,每月大约有10万访问者,页面浏览量不到2个(纯粹是SEO访问者).

我刚刚研究了我们的Azure账单,并且震惊地发现在上个月我们3.41 TB的数据输出了.

太字节.

这绝对没有意义.我们的平均页面大小小于3mb(很多,但数学不会说30mb).实际的总数据应该是:

3431000(mb)/ 150000(会话)= 23mb pr会话,这绝对是假的.Pingdom等服务的结果是:

Pingdom的结果

(似乎Stack.Imgur是临时链接:http://prntscr.com/gvzoaz )

我的图表看起来像这样,并不是刚刚出现的东西.我暂时没有分析我们的账单,所以这很容易就会持续一段时间:

Azure数据输出

(似乎Stack.Imgur是临时链接:http://prntscr.com/gvzohm )

我们访问次数最多的页面是一个自动生成的SEO页面,它从具有+ 3mio记录的数据库中读取,但它已经过优化,我们的数据库并不昂贵.主要的挑战是数据输出,这需要花费很多.

但是,我该如何进行任何测试呢?我从哪里开始?

我的架构:

老实说,我相信我所有的资源都在同一个区域.以下是我使用的主要杀手的截图 - 我的应用和数据库:

应用程序:

在此输入图像描述

在此输入图像描述

数据库:

在此输入图像描述

我的所有资源:

在此输入图像描述

Lar*_*ard 1

经过我在 Upwork 上找到的一位乌克兰开发者的大力帮助,我们终于解决了这个问题。

挑战在我们的 robots.txt 中。

事实证明,我们的页面上有如此多的请求 - 我们有 3.6 个工厂地址页面 - 请求数量非常巨大。这就是为什么输出的数据如此之大。

我们现在已经通过以下方式解决了这个问题:

  • 添加 robots.txt,禁止除 Google 和 Bing 之外的所有机器人
  • 调整了网站站长工具中的 Google 抓取速度
  • 将地址页面的站点地图从每月更改频率调整为每年更改频率,以避免重新抓取

我很高兴!