搜索引擎首页虽然往往只有一个搜索框,界面设计力求简洁,但是其背后却集合了当前最前沿的算法,最为庞大而复杂的数据库以及最为先进的IT基础架构。只有这样才能第一时间将来自全球的信息进行全面抓取,并对用户的访问做以精准的快速响应。
360搜索引擎推出于2012年8月,而截至2014年,奇虎360就已经建立了数百名工程师组成的核心搜索技术团队,拥有上万台服务器,庞大的蜘蛛爬虫系统每日抓取网页数量高达十亿,引擎索引的优质网页数量超过数百亿。借助奇虎360在安全和云上的多年积累,360搜索在安全性、核心技术及基础架构构建上有很高的起点,并且发展迅速。CNZZ报告显示截至2014年底,奇虎的网络搜索流量的市场份额约为30%左右。
搜索引擎考验的是底层基础架构到上层核心算法的综合实力,基础架构层面,闪存无疑是必备选项。360搜索从SATA SSD时代就开始对闪存方案进行深入的研究,并总结了单块SATA SSD作为存储或者SATA SSD组建RAID带来的系统瓶颈。
- 首先,搜索引擎响应时间处于微秒级,SATA SSD为存储介质的传统存储延时高,同时传统的软RAID也会将延时进一步放大,可以说存储已经成为搜索响应时间的瓶颈;
- 传统存储方法每台服务器需要多块SATA SSD组建软RAID0,因单机配置SATA SSD数量较多,增加了每台设备的故障率,而且出问题后还需要重组RAID,运维工作量巨大;
- SATA SSD吞吐量以及IOPS等性能相对较低,一台服务器多块SATA SSD会导致整体的性能稳定性较差,某些情况下出现性能抖动,可能会导致上层应用性能的波动。
360搜索应用架构中,数据库分为两级:第一级采用开源的levelDB数据库,原有的硬件架构中采用8块独立的SATA SSD存储数据;第二级采用360自研数据库,底层存储方案采用5块SATA SSD组建RAID0。两级数据库对搜索响应时间均有十分严苛的要求。
综合考虑到固有硬件架构问题,以及搜索响应时间的市场挑战。在新的存储方案中,360将一级数据库中的8块独立SATA SSD替换为1块PBlaze4,二级数据库底层5块SATA SSD组建的RAID0同样替换为1块PBlaze4。
PBlaze4 闪存方案部署前后 360 搜索基础架构对比
客户收益
业务系统性能提升
借助PBlaze4在高性能、低延迟及低性能抖动方面的优势,数据库查询速度提升明显,最直接的收益就是搜索响应时间降低,线下测试搜索响应时间降低20%,线上业务搜索响应时间降低10%。
降低运维工作量
多块SATA SSD组建RAID0的存储方式,因单机配置SATA SSD数量较多,增加了每台机器的硬盘故障率,而且出问题后需要重组RAID,不但导致运维工作量巨大,还会因为服务器下线运维造成数据中心的整体性能波动。在PBlaze4部署之后,由于每台服务器只是用1块,单台服务器故障率低,这样便可增加单机稳定性与搜索集群稳定性,减少大量运维工作,降低搜索响应时间。
降低数据中心TCO
采购成本不变的前提下,相比SATA SSD方案,PBlaze4 PCIe SSD解决方案可同时降低数据中心能耗和运维成本。
奇虎360在闪存解决方案的应用上起步非常早,早期SATA SSD搭建的基础架构较为复杂而且重组RAID会导致系统性能出现波动。PBlaze4在IOPS、响应延迟等方面都有很大的优势,部署之后不仅系统性能得到了质的提高,运维难度降低。数据中心的维护成本和能耗也得到了降低。——奇虎360运维工程师