网站循环加载监控-C#
背景:
公司有一个报表的网站,服务器或系统不太稳定,导致客户有时候查看报表网址的时候网站打不开或者打开时间过长,影响用户体验
需求:
通过程序循环打开网址了解加载情况,使用谷歌浏览器内核、,程序开发不限平台,不限语言
分析:
首先网上随便找找看看有没有类似的工具等,寻找思路。开始的时候如果是监控一个网址,完全可以用谷歌浏览器,通过F12工具可以监控Network相关参数,能达到一次主动分析的需求。但是跟上级沟通后,想要程序自动去加载和刷新,从这点看就需要客制化程序开发。然后在网上找方法,也找到一些工具,但是是商业的要钱。主要是从谷歌浏览器嵌入Winfrom着手,监控网络包。既然是Windows平台使用谷歌浏览器打开网址。自己优先选自己比较熟悉的C#进行开发。虽然中间遇到很多很多问题,我就不一 一说明,我们现在就看结果,过程大家如果想交流可以评论留下联系方式沟通。
价值:
可在一台服务器或电脑上运行,比如一个小时或半个小时,了解重复加载一个网站的时间,能够对环境网络和网站加载性能做一个初步的掌握,省去了使用谷歌浏览器通过F12平凡刷新来主动查看
下载:
https://pan.baidu.com/s/1QtL0b0pVwZUxvU_mvDRZBQ
程序逻辑:
页面1:负责监听网络数据包情况
页面2:谷歌浏览器加载对应的网页 (页面2会通过加载的情况,回调页面1,显示相应的加载数据,页面最终加载时间通过最后一次加载的时间减去开始运行的时间)
程序主要界面:

找到对应的网站的IP:

设置网站的网址:

查看监控详情:

前提条件
.netframework需要是4.5.2版本及以上

如果程序不能正常运行,请安装以下组件:



需要原代码请先使用并评论留下您的邮箱
网站循环加载监控-C#的更多相关文章
- 实现LoaderCallbacks接口动态循环加载网上图片并展示在手机屏幕上 ...
1.布局xml文件 activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/re ...
- 关于ES6的module的循环加载
今天写js时,碰到了一个模块循环加载的错误,下面时例子: // testa.mjs import testb from './testb.mjs'; const {b} = testb; const ...
- vue 循环加载动态组件以及传值
今天遇到一个需求,某个页面是个动态页面,由多个子组件构成. 之前我们的做法是将N个需要的组件import进主页面,然后引用一下即可.但是现在遇到的问题是, 这个动态页面存在多个业务,有的业务需要某几个 ...
- 表单配置项写法,表单写成JSON数组套对象,一行是一个数组单位,一列是一个对象单位,然后再写一个公共组件读取这个配置,循环加载slot,外层载入slot的自定义部分,比如input select等,这种写法就是把组件嵌套改为配置方式
表单配置项写法,表单写成JSON数组套对象,一行是一个数组单位,一列是一个对象单位,然后再写一个公共组件读取这个配置,循环加载slot,外层载入slot的自定义部分,比如input select等,这 ...
- Vue 网站首页加载优化
Vue 网站首页加载优化 本篇主要讲解 Vue项目打包后 vendor.js 文件很大 如何对它进行优化 以及开启Vue的压缩 和 nginx gzip 压缩的使用, 其他就是对接口优化等 1. v ...
- JavaScript 模块的循环加载(循环依赖问题分析)
简介 "循环加载"(circular dependency)指的是,a 脚本的执行依赖 b 脚本,而 b 脚本的执行又依赖 a 脚本. 分析 使用 madge 工具进行循环加载分析 ...
- ES6 import 循环加载
1.示例 (1)a.js import {bar} from './b'; console.log('a.mjs'); console.log(bar); export let foo = 'foo' ...
- 关于解决 https 网站无法加载 http 脚本
前几天刚配置好https网站 然后今天浏览发现自己网站的地图插件不见了 然后看了一下报错显示 然后百度搜索一番找到了解决办法 <meta http-equiv="Content-Sec ...
- Github网站css加载不出来的处理方法(转,亲测有效)
转载链接:https://blog.csdn.net/qq_36589706/article/details/80573008因为工作需求,自己会经常使用到github,但是突然有一天打开github ...
随机推荐
- Git 提交代码和更新代码
首先,操作之前一定要看清分支!! 其次,提交代码之前一定要先更新代码!! git branch -----查看当前分支 git pull -----更新代码到本地 ...
- javascript面向对象 用new创建一个基于原型的javascript对象
//创建一个类 其实就是个对象 var Student={ name:"robot", height:1.6, run:function(){ console.log(this.n ...
- Python基础之深浅copy
1. 赋值 lst1 = [1, 2, 3, ["a", "b", "c"]] lst2 = lst1 lst1[0] = 11 print ...
- axios中出现两次请求,OPTIONS请求和GET请求
在项目中发现ajax中出现两次请求,OPTIONS请求和GET请求 查看到浏览器NetWork有两次请求,请求url一样: 查找原因是浏览器对简单跨域请求和复杂跨域请求的处理区别. XMLHttpRe ...
- Message NNNN not found; No message file for product=network, facility=TNS
Message NNNN not found; No message file for product=network, facility=TNS Table of Contents 1. 错误信息 ...
- Smarty section、foreach控制循环次数的实现详解
<!--{ section name='i' loop=$a }--><!--{ if $smarty.section.i.index < 3 }--><!--{ ...
- 一百:CMS系统之修改密码逻辑
定义一个基类form,用于获取错误信息 from wtforms import Form class BaseForm(Form): def get_error(self): # a = {'aaa' ...
- React Native使用react-navigation时,设置navigationOptions中Static中使用this注意点
使用react-navigation时,单页面设置navigationOptions中,进行Static中调用方法,不能像以下设置 onPress = {()=>this.clickFinish ...
- redis报错解决
1.Connecting to node 127.0.0.17000 [ERR] Sorry, can't connect to node 192.168.1.917000 redis集群:Conne ...
- How to remove duplicate lines in a large text file?
How would you remove duplicate lines from a file that is much too large to fit in memory? The dupli ...