响应时间从 100 到 150 个用户负载测试大幅增加

Posted

技术标签:

【中文标题】响应时间从 100 到 150 个用户负载测试大幅增加【英文标题】:Response time increases largely from100 to 150 users load test 【发布时间】:2019-10-14 21:20:20 【问题描述】:

在负载测试中,响应时间从 100 到 150 个用户大幅增加。我们还看到 150 中处理器的利用率恒定为 75%,而 100 在稳定状态下两次达到 75% 下降到 65%。响应时间的大幅增加150 用户测试仅用于更新事务。响应时间增加 3 到 4 倍(30 秒到 100 秒 fpr 更新 txn)。读取事务在 150 用户负载测试中略有增加 3 到 4 秒。如何进行分析以找到根原因

【问题讨论】:

您所描述的内容听起来像是达到了极限——也可能是争用/锁定——你是说一次更新需要 30-100 秒吗?或者整个工作量需要那么长时间?什么是数据库,以及它在运行什么。这将决定可用的工具。哦,请确保您的索引设置正确,因为这可能会解决任何问题。 数据库是 sql server 并在 windows 2012 server 上运行。我们看到 Perfmon 计数器中有许多完整扫描和每秒锁存等待时间很高。我们是否需要分析痕迹。全扫描达到每秒 15 到 20 次以上。我们也可以死锁。也可以每秒锁定请求在 60 到 80 之间。 在您所说的所有内容中,僵局听起来最令人担忧。我会查看应用程序代码并尝试确定它们的来源。其他一切都可以通过调整、配置或升级来修复。 【参考方案1】:

原因可能在:

    您的应用程序在 CPU、RAM、网络、交换或磁盘使用方面过载。考虑使用APM 工具或JMeter PerfMon Plugin 等第三方解决方案监控上述(以及应用程序特定指标,如果有) 您的应用程序或其中间件组件(应用程序服务器、数据库、负载平衡器等)未针对高负载进行正确配置。请参阅各个组件的文档并关注performance tuning tips,以确保将它们配置为利用所有可用资源 您的应用程序代码本身可能是瓶颈,请考虑在启用profiler tool 的情况下重新运行测试,并检查结果以寻找最慢的函数、最繁重的数据库查询、最大的对象等。

【讨论】:

数据库是 sql server 并在 windows 2012 server 上运行。我们看到 Perfmon 计数器中有许多完整扫描和每秒锁存等待时间很高。我们是否需要分析traces。full scan达到每秒15到20多个。我们也可以死锁。也锁请求每秒在60到80之间。app server mwmory和cpu看起来正常。响应时间的增加只是保存、提交和添加

以上是关于响应时间从 100 到 150 个用户负载测试大幅增加的主要内容,如果未能解决你的问题,请参考以下文章

Azure 长响应时间瓶颈?

Visual Studio 2010 如何在负载测试中管理虚拟用户?

性能测试相关术语

Gatling 场景响应时间

性能测试的基本知识

VS2010 Web 负载测试 - 如何将虚拟用户绑定到 CSV 数据源中的登录 ID