提高 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.目标网站的连接下载页面速度

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




本文转自suifei博客园博客,原文链接:http://www.cnblogs.com/Chinasf/archive/2006/12/30/607545.html,如需转载请自行联系原作者

相关文章
|
5月前
【wavesurfer.js实战范例】多区域音频标注(含区域实时切换显示)
【wavesurfer.js实战范例】多区域音频标注(含区域实时切换显示)
162 0
|
Java 数据库
通过窗口看世界之 界面制作如此简单-带你制作旅游观光系统界面-----效果图展示
通过窗口看世界之 界面制作如此简单-带你制作旅游观光系统界面-----效果图展示
131 0
Magisk模块:阴影截图可切换带壳截图
一款自动为截图套上阴影边框的面具模块 使用模块自动完成截图后的套阴影操作 如果不想使用阴影方式,也可以切换为带壳,壳子可以自定义 还有更多3D壳子可供选择
289 0
|
移动开发 JavaScript 测试技术
《大胖 • 小课》- 拖拽和剪贴板文件上传
这是《大胖小课》栏目的专题一《说说文件上传那些事儿》的第5节-《实现文件拖拽和剪贴板上传》 专题已经更新章节: 《大胖 • 小课》- 我是这样理解文件上传原理的 《大胖 • 小课》- 写一个文件上传接口 《大胖 • 小课》- 不用 js 实现文件无刷新上传 《大胖 • 小课》- 玩玩多文件配多进度上传
174 1
《大胖 • 小课》- 拖拽和剪贴板文件上传
【火车头采集】如何采集一个网页的多张图片并且下载
【火车头采集】如何采集一个网页的多张图片并且下载
145 0
【火车头采集】如何采集一个网页的多张图片并且下载
|
编解码
根据用户浏览页面的设备和屏幕的分辨率,在页面上显示不同的页面和不同大小的图片
根据用户浏览页面的设备和屏幕的分辨率,在页面上显示不同的页面和不同大小的图片
156 0
根据用户浏览页面的设备和屏幕的分辨率,在页面上显示不同的页面和不同大小的图片
video 预览图 -去掉下载和全屏按钮
谷歌浏览器版本是54.0-57.0之间,并且也出现了视频右下角有按钮的情况都可以使用下面的代码。
329 0
video 预览图 -去掉下载和全屏按钮
|
前端开发 开发工具 Android开发
iOS监听物理截图自动生成截图并跳转到反馈页面进行显示(截图内容包括系统的弹框视图UIAlertView/Controller)
iOS监听物理截图自动生成截图并跳转到反馈页面进行显示(截图内容包括系统的弹框视图UIAlertView/Controller)
365 0
iOS监听物理截图自动生成截图并跳转到反馈页面进行显示(截图内容包括系统的弹框视图UIAlertView/Controller)
|
Web App开发 索引
文档预览功能使用技巧(2)---打印控制
智能媒体管理 提供了文档预览功能,通过 快速搭建 文章的介绍,详细描述了使用“文档转换 + JS 前端渲染引擎”实现文档预览的过程,本文将介绍预览功能中的打印控制(print=1 参数)技巧。
2072 0
|
BI
在不预览的情况下打印本地报表
链接地址: https://msdn.microsoft.com/zh-cn/library/ms252091.aspx
786 0