提高 SNAP 网页预览图的采集速度

前言:
从写第一篇关于snap随笔的时候,我就有对此深入研究的想法,而上回和Kai.Ma 讨论了一下思路;也看到很多朋友的留言提到的采集服务,我还是决定把这些想法验证一下,看看采集速度,到底可以解决多少的问题.

思路:
首先要解决的问题是, webbrowser 运行在STA 模式下,每次采集都进行了构造和释放,所以首先避免这点,再就是,既然它是只能依靠主STA模式的线程运行的话,那就模拟多页面浏览器的机制,构造足够多的实例,让它们同步执行,然后及时地给它们派发消息,那么只要服务器带宽和内存都足够的情况下,它们可以最大程度降低并发采集所带来的性能问题.

测试 10 次结果:
目前刚出的测试结果:
输入:3百多个页面的链接,通过google搜索的,范围大
输出:250 个页面预览图 (平均)
耗时:5分钟 (平均)
内存占用: 255兆(峰值)
并发:50
无法访问的页面数:79页(平均)
处理速度(250-79):1页/1.75秒(平均)

硬件配置:
操作系统:Windows Vista Ultimate 6000
CPU:1.73 pm
内存:1GB
硬盘:60GB+80GB
显卡:ATI X700(256)
带宽: 网通 ADSL (200K/秒)下载

运行状态:



这类采集有几个问题是硬伤:
1.我只知道通过webbrowser来实现页面图
2.目标网站的连接下载页面速度

在服务稳定之后,将开放源码.并研究多机负载和一个站点的实例。

休息了,本来说好10点半睡得。。
2006年12月30日1:17:06

posted @ 2006-12-30 01:22 萧寒 阅读(2454) 评论(11)  编辑 收藏 所属分类: C# WinForms.NET WebForms

  回复  引用  查看    
#1楼 2006-12-30 08:25 | JesseZhao      
支持萧寒
最近发现有好多的spam,搞了好多的垃圾信息啊,就像上条
  回复  引用  查看    
#2楼 [楼主]2006-12-30 09:49 | 萧寒      
谢谢支持,
我把它删了;
  回复  引用  查看    
#3楼 2006-12-30 12:39 | Kai.Ma      
辛苦了!我在想其他不用STA模式的方法,如果不用STA,就可以不用webBrowser性能能提高很多。

等我想出来了,告诉你。

如果用STA,建议在服务器上开一个常驻的后台服务。:D
  回复  引用  查看    
#4楼 [楼主]2006-12-30 12:58 | 萧寒      
@Kai.Ma

希望看到你的方案;另外,我申请了团队博客,做好这个项目.
http://webpagesnapshot.cnblogs.com/

你有没有联系方法?比如qq或msn
  回复  引用  查看    
#5楼 2006-12-30 15:36 | Kai.Ma      
我的QQ 29121937
  回复  引用    
#6楼 2007-04-18 09:15 | 太阳神 [未注册用户]
支持萧寒,真的是个好东西了,到时候网站上加个这个功能挺人性化的。
  回复  引用  查看    
#7楼 2008-01-28 17:43 | 江大鱼      
用你们的代码抓取 http://www1.drivehq.com/web/SulliO/ 这个页面失败。
代码hang在Application.DoEvent()那里。
  回复  引用    
#8楼 2008-02-28 11:32 | 可乐2008 [未注册用户]
抓取带木马的网站时,导致机器中病毒。怎么解决这个问题?
  回复  引用  查看    
#9楼 [楼主]2008-03-06 22:48 | 萧寒      
@ 江大鱼
看看这个错误是因为htm的script引起的还是别的什么原因;
  回复  引用  查看    
#10楼 [楼主]2008-03-06 22:48 | 萧寒      
@可乐2008

杀毒之……
  回复  引用  查看    
#11楼 2008-04-14 09:56 | 怪怪      
@可乐2008
哈哈哈, 这个太幽默了 :)

我推荐使用KHTML或者Webkit, 自己渲染, 效率高很多。

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-12-30 11:33 编辑过


相关链接: