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

时间:2017-10-11 09:52:11

标签: c# .net performance azure azure-web-app-service

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

我刚刚研究了我们的Azure账单,并且震惊地发现在上个月我们有(deftype ClojureDistanceMeasure [^clojure.lang.IFn f] DistanceMeasure (compute [this ^doubles a ^doubles b] (let [result (f a b)] (double (+ result 0.0))))) 个数据。

太字节。

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

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

result from Pingdom

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

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

Azure data out

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

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

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

我的架构:

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

应用

enter image description here

enter image description here

数据库:

enter image description here

我的所有资源:

enter image description here

2 个答案:

答案 0 :(得分:1)

在我在Upwork上找到的乌克兰开发人员的一些非常好的帮助之后,我们终于解决了这个问题。

挑战在我们的robots.txt。

事实证明,我们的页面上有很多请求 - 我们有3.6个地址页面 - 它只是一个巨大的请求数量。这就是数据输出如此之大的原因。

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

  • 添加robots.txt,不允许所有机器人,但Google和Bing
  • 调整了网站管理员工具中的Google抓取速度
  • 将我们的站点地图从每月更改为年度更改为我们的地址页面以避免重新抓取

我很高兴!

答案 1 :(得分:0)

遵循Understand your bill for Microsoft Azure中给出的指导。 从订阅级别角度审核结算。

查明是否向其他地区的天蓝色服务发送/请求出口,或者是否主要向网站访问者请求出口。验证Web应用程序的备份面板或定期运行的任何其他备份。

查看性能监控或性能测试。其他地区负责大出口的任何测试?

查看出口是否在营业时间内跟随网站加载。如果不深入挖掘。 了解SEO访问者是否触发任何下载,如果是,则相应地调整链接。