当前位置: 首页 > news >正文

用Windows性能监视器分析网站运行状况

这是一个API接口网站,可匿名登录.,部署于IIS。分三种情况进行测试,第一种情况是接口执行大量的查询,完成该查询约需10秒时间,测试情况见以下图表中的第1列。第二种情况是接口执行是空操作,测试情况见图表中的第2列。第三种情况是接口执行正常业务,完成正常业务的时间小于1秒。网站有稳定的用户访问,测试情况见图表中的第三列。测试在部署该网站服务器上进行。当测试第一种情况时,将网站的接口代码改为执行大查询的代码,发布,部署,启动网站后开始测试,测试方法参见我的另一篇博文查看iis 网站访问量情况,当测试第二种情况时,将网站的接口代码改为空代码,发布,暂停网站,用新发布的内容代替网站的原内容,重启网站,进行测试,第三种情况的测试过程与第二种情况类似。

每一轮测试主要对网站的Anonymouse Users/sec、Current Connections、Logon Attempts/sec、Connection Attempts/sec四项指标进行记录分析。见图表中的第1、2、3、4行。

对于Anonymouse Users/sec(每秒匿名用户)指标来说,第一种情况比第二、三种情况的变化幅度较大,表现出每秒用户出现经常出现较大拥堵的情况。

对于Current Connections(当前连接量)指标来说,第一种情况在网站启动后迅速攀升至高值,并居高不下,而比第二、三种稳定低值,仅为2左右,表明第一种情况下连接出现较大的拥堵,第二、三种情况下则没有出现拥堵。

Logon Attempts/sec(登录尝试每秒),第一种情况下,见图表第三行第一列,该指标显示为黑色,而Anonymouse Users/sec显示为红色,可见Logon Attempts/sec的变化与Anonymouse Users/sec基本同步 ,但幅度低于后者。但在第二、三种情况下(见图表第三行第二、三列),Logon Attempts/sec的变化与Anonymouse Users/sec基本重合(Logon Attempts/sec的的线条覆盖了Anonymouse Users/sec的线条)。表明第一种情况下每秒尝试登录的用户低于每秒连接的用户,说明登录出现等待现象,但在第二、三种情况下每秒尝试登录的用户等于每秒连接的用户,说明没有出现登录等待现象。

Connection Attempts/sec(每秒尝试连接),第一种情况下,该指标与Logon Attempts/sec基本重合,说明出现尝试连接的情况较明显,但在第二、三种情况下该指标稳定为0(线条为黑色,与横轴重合,说明没有出现尝试连接的情况。

以分析可以看出,当网站出现排队拥堵时,其Current Connections处于高值,Logon Attempts/sec低于Anonymouse Users/sec,Connection Attempts/sec与Logon Attempts/sec重合,Anonymouse Users/sec剧烈而不规则,当网站没有出现排队拥堵时,其Current Connections处于低高值,Logon Attempts/sec与Anonymouse Users/sec重合,Connection Attempts/sec处于低值,Anonymouse Users/sec平滑而和缓。

由此也可以看出,该网站处理正常业务的能力非常充裕,不存在排队拥堵情况。

判断一个网站是否拥堵的重要指标为Current Connections。

相关文章:

  • Ubuntu 安装 GDAL C++库
  • 文件中的关键字与对应的协议
  • 应对反爬虫策略分享
  • 专利申请预审需要满足什么条件?
  • HTML5新特性 day_04(8.10)地图、文件上传
  • Junit5 + YAML 轻松实现参数化和数据驱动(一)
  • 用ARM进行汇编语言编程(1)介绍与寻址模式
  • PostwomanApi接口测试工具
  • 如何将数据输入神经网络,神经网络的数据处理
  • 数据结构-红黑树
  • 2022年下半年软考报名时间汇总,最新版!
  • Div4 思维总结
  • Docker面试题库
  • java毕业设计成品源码网站javaweb企业财务|记账|账单管理系统
  • 【mitmProxy】mitmProxy教程
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 3.7、@ResponseBody 和 @RestController
  • CSS 提示工具(Tooltip)
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • Java 最常见的 200+ 面试题:面试必备
  • JS+CSS实现数字滚动
  • Python socket服务器端、客户端传送信息
  • tab.js分享及浏览器兼容性问题汇总
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 初探 Vue 生命周期和钩子函数
  • 从零开始学习部署
  • 技术:超级实用的电脑小技巧
  • 力扣(LeetCode)21
  • 如何选择开源的机器学习框架?
  • 微信小程序设置上一页数据
  • Android开发者必备:推荐一款助力开发的开源APP
  • 如何用纯 CSS 创作一个货车 loader
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (LeetCode C++)盛最多水的容器
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (十六)串口UART
  • (一一四)第九章编程练习
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .net 获取url的方法
  • .NET开源快速、强大、免费的电子表格组件
  • .NET命名规范和开发约定
  • .net下的富文本编辑器FCKeditor的配置方法
  • @Not - Empty-Null-Blank
  • @zabbix数据库历史与趋势数据占用优化(mysql存储查询)
  • [] 与 [[]], -gt 与 > 的比较
  • [c++] C++多态(虚函数和虚继承)
  • [Git 1]基本操作与协同开发
  • [iOS开发]iOS中TabBar中间按钮凸起的实现
  • [Oh My C++ Diary]Main函数参数argc,argv如何传入
  • [POJ2104]K-th Number