数据采集系统的压力测试和成本评估一直是一个老大难问题,主要是系统复杂且庞大以后,精细计算是基本没可能了,估算的形式也会导致大家都只对表面情况的理解。我这里整理一套自己评估用的框架,供参考。
采集成本分为:
1,硬件,比如云服务器,物理机,机房,包括电费、宽带费和物理设备费用等。
2,人力,开发成本不算,只算运维成本。
报价时销售经常会简化为采集1个网站多少钱,采集1个栏目多少钱,采集1个媒体账号多少钱,每条信息多少钱等。
然而实际的技术成本核算可能是这样的:
机房建设xxx万元,硬件寿命x年,每年带宽x万元,每年运营维护费用xxx万元,计算出每年的固定费用。
按最大秒级任务分发压测,每秒能采集的数据量(不考虑失败损耗等影响因素),测算每年最大的采集量,计算出每条数据采集的费用。
以此类推,测算不同采集频率的基础成本。
采集频率规范可以参考:1、5、15、30、60秒,30、60分钟,4、6、8、12、24、48、72小时。因为从总的需求来说,不同行业对采集频率的需求不一样,但是一般72小时后可以把采集频率设置为默认,也就是正常排队。
第一级成本评估就变成了按照什么频率采集的成本。
第二级成本评估是按照列表页评估,采集时的入口是网站——列表页,并没有栏目的概念,栏目也只是列表,或者多个列表的组合,所以评估一个网站的采集成本,就把系统内已经收录的该域名下的所有列表页都统计一下就可以粗略估算出来了。
第三级的成本评估是按照特殊网站,比如需要账号模拟登陆的、需要切换IP的,需要验证码识别的等等,计算附加费用,比如ip代理费用、打码平台费用等。每次登录或者每次切换ip最大可以采集多少条数据,这样就仍然可以计算出每条数据采集的基础成本,但是要考虑到根据采集频率不同,附加费用可能是指数级增加的。
所以内部成本评估体系就变成了围绕类型、范围、频率三要素:
采集类型(网站、微博、视频等)——采集范围(列表页或账号数量)——采集频率(上述的各种频率范围)
面对销售提供的客户想要的采集需求,就可以以此评估。由于有损耗问题,根据采用的技术不同,以上计算方法导致的损耗会差别很大,我的经验是一般实际情况比理想情况要打8折,所以实际成本要网上多报,也就是理想成本除以0.8,具体情况根据自身技术架构来判断。
至于成本是否这么计算有价值,这个也根据具体项目来看,如果采集的都是通用的新闻网站,那么数据复用价值高,采集的边际成本低,如果是客户特殊需求,这部分就可以计算一下做评估了。
所以实际上是技术人员自己心里可以有个底,采集频率的提升会导致多大的成本提高,别随便让研发把采集频率往高了设置。
很久没写文章了,现在把这些经验逐步分享出来。
想交流的,记得加群。
极客兔子:正式成立舆情行业交流微信群