【问题标题】:Stress testing Azure App Service periodically stops processing requests压力测试 Azure 应用服务会定期停止处理请求
【发布时间】:2019-07-24 04:42:03
【问题描述】:

我目前正在对一个针对 netcoreapp2.2 的 .Net Core 应用程序进行压力测试,该应用程序作为应用服务托管在 Azure 上,连接到具有 2 个实例的 P1V2(210 ACU,3.5GB 内存)服务计划。

我进行压力测试的端点非常简单,它验证 Oauth2.0 令牌,从 P2 (250 DTU) Azure 托管数据库中获取用户和有关用户的一些信息,每个请求总共 4 db 查询,并返回字符串“Pong”。

在 200 个循环中运行 15 个并发用户(或更多)时,我看到图像中的处理停止(在高峰之间)。服务计划的 CPU 使用率从不超过 20-35%,数据库使用的负载从不超过 2%。增加用户会降低平均吞吐量。

查看缓慢的请求时,就像它只是随机停止,从不在同一个地方。当我查看数据库请求时,我从来没有看到需要超过 100 毫秒的请求,而有些请求可能需要 5-6 秒才能处理。

感觉就像我达到了某个极限,导致某些东西停止了一段时间,但我不知道问题出在哪里。

当在本地运行相同的压力时,我看不到这些停止。

我正在使用 jmeter cli 针对两种环境运行压力测试。

非常感谢任何帮助,谢谢!

【问题讨论】:

  • 如何在本地运行测试?
  • 使用 jmeter CLI,应该已经澄清了,谢谢!

标签: azure .net-core azure-sql-database stress-testing azure-app-service-plans


【解决方案1】:

这可能是因为 Azure DDOS 保护行为。

如果您的应用程序受到 DDOS 攻击,Microsoft 将 停止与您的端点的所有连接,并实际上取消您的 服务。

为避免这种情况,您需要设置 Web 应用程序防火墙 (WAF) 以排除健康请求。

【讨论】:

    猜你喜欢
    • 2017-09-20
    • 1970-01-01
    • 1970-01-01
    • 2018-07-30
    • 1970-01-01
    • 2015-07-28
    • 1970-01-01
    • 2012-05-19
    • 1970-01-01
    相关资源
    最近更新 更多