锁定老帖子 主题:Linux下抓取网页数据小程序
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (2)
|
|
---|---|
作者 | 正文 |
发表时间:2010-11-02
每天都在维护学校的教务系统,访问量小的时候还好,访问量大的时候server时不时就崩溃。。同学写了一个自动重启Web server的小程序,果断拿来学习一下,收获很大,现总结如下。
Web server部署在Linux操作系统上,IDE用的是Weblogic Workshop。如果访问量大到超过Weblogic连接池最大容量的时候,server就会崩溃。。Weblogic有个自带网页的控制台console,里面有个监控页面Monitor。显示了当前的连接数,最大连接数等等数值。所以可以写程序实时抓取监控页面的数据,来决定什么时候自动重启。
使用wget命令来下载网页,用system命令来执行语句。 如 wget http://www.baidu.com -O baidu_index.html 这样就在当前目录下,抓取到了百度的主页到baidu_index.html文件下。 写在程序里就用 system("wget http://www.baidu.com -O baidu_index.html"); 运行后相当于执行了上面的命令。同理,写system("startWeblogic.sh &");就相当于重启Weblogic。
这样就简单了,使用wget下载到监控页面后,读到当前的连接数,如果大于一个值就重启就搞定了~(因为监控页面的框架是固定的,所以在固定的行数读数字就好了O(∩_∩)O~~)。
写完了程序,想想自己还差得远啊,光光加油! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-11-03
你这个明显是程序问题,用重启来解决?
|
|
返回顶楼 | |
发表时间:2010-11-03
goldpicker 写道 你这个明显是程序问题,用重启来解决?
确实程序效率也不高,而且Web server的配置也比较低。。高峰时同时有上千人访问。项目很大,我们维护小组一共三个人也有很多别的任务,没时间优化代码,只能想出这么个懒招儿了呵呵。 |
|
返回顶楼 | |
发表时间:2010-11-14
1。首页任务是优化代码。
2。自己写一个采集分析工具,每隔一段时间访问一次weblogic控制台页面,等于又给服务器造成压力了。 应该看看日志,然后分析下哪里出问题了。你的方法不行的。 |
|
返回顶楼 | |
发表时间:2010-11-14
就算是用你这样的方法,也应该是推荐用SHELL、Python之类的脚本语言来完成,你用system这个以后谁来维护啊...
|
|
返回顶楼 | |
发表时间:2010-11-21
最后修改:2010-11-21
鼓励一下. 你可以考虑优化下这个脚本看能做点什么别的事情.
当然这个只能是workround的做法, 不能算是最终解决方案 |
|
返回顶楼 | |
发表时间:2010-11-25
是学生的话就要鼓励一下!
现在上大学真正学习知识的同学已经不多了。 |
|
返回顶楼 | |
发表时间:2010-12-24
huansinho 写道 是学生的话就要鼓励一下!
现在上大学真正学习知识的同学已经不多了。 对在校学生更多的鼓励,帮助。 |
|
返回顶楼 | |
发表时间:2011-03-01
有必要优化架构,感觉这样的技术方案不行。
|
|
返回顶楼 | |
发表时间:2011-03-01
这就叫做“山人自有妙计”,有办法总比没办法好。我也将就玩一下吧。
|
|
返回顶楼 | |