测试环境

服务器: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性能瓶颈案例一则的更多相关文章

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

    加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景       在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链 ...

  2. web综合案例04

    web综合案例02 web综合案例02 web综合案例04 待补充 ... ...

  3. web综合案例03

    web综合案例03 web综合案例03 web综合案例03 web综合案例03 ... 待复习

  4. web综合案例02

    web综合案例02 web综合案例02 web综合案例02 ... ... 内容待添加

  5. web综合案例01

    web综合案例01 ... .... 内容待添加

  6. python网络-静态Web服务器案例(29)

    一.静态Web服务器案例代码static_web_server.py # coding:utf-8 # 导入socket模块 import socket # 导入正则表达式模块 import re # ...

  7. python网络-动态Web服务器案例(30)

    一.浏览器请求HTML页面的过程 了解了HTTP协议和HTML文档,其实就明白了一个Web应用的本质就是: 浏览器发送一个HTTP请求: 服务器收到请求,生成一个HTML文档: 服务器把HTML文档作 ...

  8. 定位服务API案例

    定位服务API案例 要使用定位服务API,需要确保设备已经下载并安装了HMS Core服务组件,并将Location Kit的SDK集成到项目中. 指定应用权限 Android提供了两种位置权限: A ...

  9. 如何定位web前后台的BUG

    一.对系统整体的了解 Server端:jsp+Servlet+json 数据库:sql.MySQL.oracle等 前台: 涉及到 jstl,jsp,js,css,htm等方面 后台:servlet, ...

随机推荐

  1. sell -- 解码16进制unicode

    1. //System.out.println("decodeUnicode:" + decodeUnicode("0049"));//I public sta ...

  2. @MyBatis中的if...else...

    <select id="selectSelective" resultMap="xxx" parameterType="xxx"> ...

  3. 弹窗插件layer

    layer的插件的地址:http://layer.layui.com/简单使用: layer.open({ type: , //page层 area: ['500px', '300px'], titl ...

  4. 多台CentOS服务器时间同步(NTP时间同步)(转)

    1.用ntpdate从时间服务器更新时间 如果你的linux系统根本没有ntpdate这个命令 yum install ntp 安装完了之后,你不要做什么配置,也不需要,直接测试一下 [root@lo ...

  5. Tomcat Context配置(转)

    <Context>元素的属性:path:指定访问该Web应用的URL入口.docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于<Host>的appBas ...

  6. git 入门 2

    进入d盘,新建project文件, 右键,git bash here cd project 初始化 $ git init 克隆项目 $ git clone http://192.168.1.188:3 ...

  7. RabbitMQ学习总结 第六篇:Topic类型的exchange

    目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...

  8. boost 1.57.0安装

    一. PC编译安装boost boost是C++的准标准库,其有两种安装方法. 1. ubuntu下,通过sudo apt-get install libboost-all-dev. 2. 通过源码包 ...

  9. [算法]Comparison of the different algorithms for Polygon Boolean operations

    Comparison of the different algorithms for  Polygon Boolean operations. Michael Leonov 1998 http://w ...

  10. 论--如何通过代码解析plist文件创建对应的控制器,以及控制器中的控件

    通过懒加载把最初的plist文件加载后,根据plist文件文件中的目标控制器进行跳转,根据加载的plist文件中的plist_name加载将要跳转进去的控制器界面的控件等等. 以上根据target_v ...