windbg定位WEB性能瓶颈案例一则

测试环境

服务器:II服务器

网站:门户网站

条件

并发: 2000

LoadRunner思考时间:1s

表现

CPU:100% 对应w3wp进程

WebService–>Current connections:2300

DB:CPU 10% 无压力

压力降低后表现

随着并发量下降,CPU 和 WebService–>Current connections 随着下降,随后恢复正常;

分析

1)IIS的CPU达到100%,DB的CPU只有10%,瓶颈可能在WEB程序端;

2)压力降低后,CPU 和 WebService–>Current connections 随着下降,并恢复正常,说明有等待,没有死锁;

DUMP文件分析

1)用  !syncblk 找出等待资源,信息如下:

2)切换到 91 线程看看它在干什么

3)看看其他线程在干什么 ~* e !clrstack, 最后看到大部分的调用如下

结论

明了了,在查找母版页的时候,申请了排它锁,其他线程需要等待当前持有锁的线程释放之后才能继续往下执行,形成了较长的队列,成为了瓶颈。

windbg定位WEB性能瓶颈案例一则,布布扣,bubuko.com

时间: 2024-10-18 13:36:39

windbg定位WEB性能瓶颈案例一则的相关文章

如何定位web前后台的BUG

最近超级没状态,心身俱疲,等待发版本的空闲时间,整理下最近看过的一些资料...... 一.对系统整体的了解 Server端:jsp+Servlet+json 数据库:sql.MySQL.oracle等 前台: 涉及到 jstl,jsp,js,css,htm等方面 后台:servlet,jms,ejb, 还有很多框架,struts,hibernate,spring,ibatis Jsp:分不清前后台的,因为这里涉及到一个运行时刻的问题,它们的运行时刻是不同. 用户发出请求后,服务器解析用户请求,转

Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析

加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景       在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链接等.比如在用户名输入框和密码输入框输入正确的用户名和密码,然后点击登录按钮进行登录.在Selenium自动化中,Selenium提供多种API来对HTML元素进行操作,对于每个HTML元素,需要一个可以标识它的标识符,在Selenium中称之为定位器,Selenium支持多种不同类型的定位器,有标

jsp开发模式和web计算器案例

1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <% 3 String path = request.getContextPath(); 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+requ

[调试逆向] 学会使用windbg定位程序bug

学会使用windbg定位程序bug - 原文地址:https://www.cnblogs.com/zhehan54/p/9436629.html

工作总结--如何定位web系统前后台的bug,以及bug分析/测试感想

对于web项目前台和后台bug定位分析:一. 系统整体了解 懒企鹅营销服务平台用的架构:web前端: Bootstrap 3.0 组件丰富,兼容性好,界面美观 Server端: jsp+Servlet+json 公司技术力量储备丰富,技术成熟,有很多成熟的模块可以直接使用 数据库: mySql 免费,相对成熟 前台: 涉及到jstl,jsp,js,css,html方面比较多后台:servlet,jms,ejb, 还有很多框架,struts,hibernate,spring,ibatis等,我们用

robotframework+selenium搭配chrome浏览器,web测试案例(搭建篇)

这两天发布版本 做的事情有点多,都没有时间努力学习了,先给自己个差评,今天折腾了一天, 把robotframework 和 selenium 还有appnium 都研究了一下 ,大概有个谱,先说说web篇的故事 首先,上次是把ride做完 那么其实我们打开ride以后 最主要的是 添加库 左上角新建案例 库,等 到了这个界面以后 对 进行操作 那么,问题来了 为什么要进行库操作呢 因为只有在库加载以后 你才能调用里边的一些语法等东西 前提下 是你在 cmd 情况下 输入 pip list 能够找

WEB 小案例 -- 网上书城(二)

寒假结束了,自己的颓废时间同样结束了,早该继续写博客了,尽管我的格式以及内容由于各种原因老被卡,但必须坚持写下去!!! 上次我们对于本案例的数据库部分进行了阐述,这次主要接着上次的内容分享本案例的翻页操作,其演示如下: GIF 中主要演示了翻页操作,首先进入该页面前先查询数据库中所有书籍的数量,根据每页显示的数量生成首页部分数据. 1. 点击 "下一页",当前第几页数字改变,页面显示下一页书籍信息: 2. 点击 "上一页",当前第几页数字改变,页面显示上一页书籍信息

对一个前端AngularJS,后端OData,ASP.NET Web API案例的理解

依然chsakell,他写了一篇前端AngularJS,后端OData,ASP.NET Web API的Demo,关于OData在ASP.NET Web API中的正删改查没有什么特别之处,但在前端调用API时,把各种调用使用$resouce封装在一个服务中的写法颇有借鉴意义. 文章:http://chsakell.com/2015/04/04/asp-net-web-api-feat-odata/源码:https://github.com/chsakell/odatawebapi 首先是领域模

REM+SVG Sprite,web app案例

REM+SVG Sprite,构建新时代web app <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewpo