Azure区域 - 网站上的性能差异

时间:2014-11-06 13:25:41

标签: c# asp.net-mvc performance azure web

Azure中的2个相同网站,它们具有相同的设置。 两者都在标准模式下运行,实例大小为Small。没有自动缩放。

一个网站在北欧地区运行,另一个在西欧。

我在网站上遇到25%的性能差异。西欧是“慢慢的”#。

  • 任何人都有此相关信息吗?
  • 亲身体验从地区到地区的表现差异 区域?
  • 有相同设置的人可以尝试相同的测试吗?

贝娄是我为检查表现而进行的简单压力测试。

    public ActionResult StressTest(int loopCount, int dbLoopCount)
    {
        var sw = new System.Diagnostics.Stopwatch();
        sw.Start();
        if (user.IsAdmin)
        {
            var hashTable = new Hashtable();
            var list = new List<int>();
            var random = new Random();
            for (var x = 0; x <= loopCount; x++)
            {
                list.Add(x);
                for (var i = 0; i <= loopCount; i++)
                {
                    hashTable[i] = list.Where(d => d == random.Next(0, x)).Count(); ;
                    hashTable[i] = list.Where(d => d == random.Next(0, x)).Count(); ;
                    hashTable[i] = list.Where(d => d == random.Next(0, x)).Count(); ;
                    hashTable[i] = list.Where(d => d == random.Next(0, x)).Count(); ;
                    hashTable.Remove(i);
                }
            }
        }
        sw.Stop();
        var loopTime = sw.ElapsedMilliseconds;
        sw.Restart();
        #region DBLoop
        .........
        #endregion
        sw.Stop();
        var dbTime = sw.ElapsedMilliseconds;
        return Json(new
        {
            WS = new
            {
                Loops = loopCount.ToString("N0"),
                Seconds = (loopTime / 1000.0),
                Milliseconds = loopTime
            },
            DB = new
            {
                Loops = dbLoopCount.ToString("N0"),
                Seconds = (dbTime / 1000.0),
                Milliseconds = dbTime
            }
        }, JsonRequestBehavior.AllowGet);
    }

数据库服务器是Linux和MongoDB的VM。西欧的VM比北欧的VM慢约35%。由于Linux发行版,分区和副本设置不同,测试不如网站测试有效。很难用任何设置因素来解释DB性能降低35%。我认为减速的25%与我在网站上看到的减少量相同是很诱人的。

我删除了DB压力测试代码,它只包含简单的读取/计数。 记录:我在西欧创建了2个不同的网站,性能较慢是一致的。还有几天,我在星期二首次测试了这个,今天也是如此。

2 个答案:

答案 0 :(得分:0)

欢迎来到公共云!嘈杂的邻居,资源限制,瞬态故障和未预见的硬件故障!

虽然所有服务(Azure和其他服务)都提供可用性上的SLA,但大多数服务都不会为服务提供最低性能阈值,除非将其作为高级权益特别出售(例如Azure Premium Storage可提供最低磁盘IOPS保证) 。提供商将根据您满足基本设计概念保证可用性,但很少提供有保证的性能。

您可以尝试在看起来很慢的DC中重新部署解决方案。这可能意味着您已部署到DC中的另一台主机,并避免出现嘈杂的邻居或遇到问题的主机。如果您发现重新部署无法解决问题,则可能需要打开有关此问题的支持服务单。

答案 1 :(得分:0)

我感觉不那么孤单......我经历了同样的事情jca。 差异很大,我的插入速度在北欧快了大约2倍。

我猜这是“正常的”。