网页主动探测工具使用

发表于:2014-12-02 10:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:壹頁書    来源:51Testing软件测试网采编

  单位的项目是IBatis做的,每个查询的SQL里面都有很多判断
  上次优化SQL之后,其中的一个分支报错,但是作为dba,不可能排查每一个分支.
  所以,干脆用爬虫爬过所有的网页,主动探测程序的异常.
  这样有两个好处
  1.可以主动查看网页是否异常 (500错误,404错误)
  2.可以筛查速度较慢的网页,从这个方向也可以定位慢SQL吧.(也有服务器资源不足,造成网络超时的情况)
  前提,
  必须是互联网公司,大多数网页不用登录也可以浏览
  首先,建表
  CREATE SEQUENCE seq_probe_id INCREMENT BY 1 START WITH 1 NOMAXvalue NOCYCLE CACHE 2000;
  create table probe(
  id int primary key,
  host varchar(40) not null,
  path varchar(500) not null,
  state int not null,
  taskTime int not null,
  type varchar(10) not null,
  createtime date default sysdate not null
  ) ;
  其中host是域名,path是网页的相对路径,state是HTTP状态码,taskTime是网页获取时间,单位是毫秒,type是类型(html,htm,jpg等)
  程序结构
  程序分三个主要步骤,再分别用三个队列实现生产者消费者模式.
  1.连接.根据连接队列的目标,使用Socket获取网页,然后放入解析队列
  2.解析.根据解析队列的内容,使用正则表达式获取该网页的合法连接,将其再放入连接队列.然后将解析的网页放入持久化队列
  3.持久化.将持久化队列的内容存入数据库,以便查询。
  程序使用三个步骤并行,每个步骤可以并发的方式.
31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号