不同SSD盘组合搜索引擎单机性能测试

标签: 性能优化 搜索引擎 SSD 引擎性能 软RAID | 发表时间:2013-06-09 01:39 | 作者:钓雪
出处:http://www.searchtb.com

一、测试机器

Linux huawei_C5.co3 2.6.32-220.23.2.ali927.el5.x86_64 #1 SMP Mon Jan 28 14:57:06 CST 2013 x86_64 x86_64 x86_64 GNU/Linux
MemTotal:       49520300kB
Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz  * 24

二、测试目的

测试不同SSD盘组合策略HA3引擎性能,寻找到较好的SSD盘组合策略

三、测试环境配置

a) IO调度策略:deadline(sudo echo deadline > /sys/block/sdb/queue/scheduler)
b) 预读策略:关闭系统预读(sudo blockdev –setra 0 /dev/sdb1)
c) 针对raid,需要重新关闭raid的系统预读(sudo blockdev –setra 0 /dev/md0)
d) local_search线程数:64
e) 截断配置:粗排数10000,精排数300
f) 索引加载方式:Index    mmap none,Summary     cached 5%, Attribute   mmap lock
注:每次测试,需要手动清page cache (sudo vim /proc/sys/vm/drop_caches,写1,触发清除page cache)

四、测试数据

索引情况 attribute 4.8G index 59G summary 73G (”’44W”’ raw Doc)

五、测试方法

修改SSD盘策略,修改索引
启动local_search,先用abench -p 30 预热,然后abench -p 30 压测出qps(abench -p 30 时压测出的qps为峰值,-p太大 spin_lock锁很厉害,处理中)

六、测试结果

1. 不同SSD盘组合策略性能
2. raid0(两块盘)不同条带大小性能
3. raid0不同块数盘性能

七、测试说明

71G小索引–全内存:使用71G小索引,index 配置改为mmap lock,测试不考虑IO影响,全内存情况下引擎性能
ONE-SSD:测试136G大索引,单块SSD盘性能
RAIND0(64K):测试两块盘组成软raid 0
RAIND1:测试两块盘组成软raid 1,测试raid 1性能,主要用于对比测试,实际的高成本导致我们的应用场景不会使用raid 1
TWO-SSD(软连接,多个segment): 两块SSD盘,不做raid,索引用多segment形式,通过软连接将索引平均分到两块SSD盘
TWO-SSD(数据按term hashkey划分):两块SSD盘,不做raid,索引存两份,hack indexlib,seek时按term的hashkey模2到一块SSD盘(此为实验方法,实际使用时可以将索引按term切分)
RAIND0(two SSD):两块SSD组成RAID0
RAIND0(three SSD):三块盘组成RAID0,测试不同块数SSD 引擎性能
RAIND0(32K):两块SSD组成RAID0,条带大小设为32K,create raid时设置
RAIND0(64K): 两块SSD组成RAID0,条带大小为默认值
RAIND0(128K): 两块SSD组成RAID0,条带大小设为128K,create raid时设置

八、结果分析

1. 对比全内存和单块SSD大索引,索引量翻倍,性能减半
2. 对比单块SSD盘和RAID 0 ,单盘IO是瓶颈,而在两块盘做的RAID 0时,IO已经不是瓶颈,可以继续加压,而加压则会导致spin_lock锁很厉害,高峰值30%+(perf观测结果)
3. 对比同是两块盘组成的RAID 0、RAID 1,性能相差不大,FIO测试的IO性能也证明RAID 0 及RAID 1 性能相当
4. 两块SSD盘不做RAID,用软连接多个segment,IOPS需求也会提升,并不能提高性能,和单盘性能相当,
5. 两块SSD盘不做RAID,按term的hashkey选择读其中一个盘,此方案IO需求不变,均分到两块盘,性能最佳
6. 不同块数SSD盘组成RAID 0,引擎性能几乎无异,IO负载减小,FIO测试表明三块盘的IO性能明显提升
7. 两块SSD盘改变条带大小,性能几乎无异,数据分析表示,引擎读索引的平均IO大小较小,4KB的读占大部分,条带设置过大对我们的应用场景无效,设置过小又会影响性能提升。使用默认64KB即可

九、结论&建议

1. 对比A7机型和C5机型,C5的CPU性能较好(主频2.3,A7主频1.9),单盘时IO是瓶颈,而A7机型瓶颈在CPU,锁比较厉害,需要解决
2. IO瓶颈解决方法有两种,两块SSD盘做RAID0,有12%的性能提升,而两块盘不做RAID,可以达到18%的性能提升。两块盘不做RAID性能优于做RAID
3. 不同块数SSD盘测试引擎性能无异,此时瓶颈已经从单盘时的IO瓶颈转移到CPU瓶颈
4. 随着CPU性能的提升,IO是瓶颈,是主要矛盾,此时的解决方案可以是用多块SSD盘按term切分存索引。而当随着SSD盘数的增多,CPU则成为瓶颈,成为主要矛盾,spin_lock及smp_invalidate_interrupt消耗过大,20%~40%的CPU消耗,需要解决此问题
5. A7机型是单SSD盘,考虑到SSD盘的写性能及写寿命,推荐普通盘存log+SSD盘,增量索引可以单独存放。如果需要SSD盘写,则要考虑分区对齐、一些挂载选项及定时TRIM

相关 [ssd 组合 搜索引擎] 推荐:

不同SSD盘组合搜索引擎单机性能测试

- - 搜索技术博客-淘宝
测试不同SSD盘组合策略HA3引擎性能,寻找到较好的SSD盘组合策略. a) IO调度策略:deadline(sudo echo deadline > /sys/block/sdb/queue/scheduler). b) 预读策略:关闭系统预读(sudo blockdev –setra 0 /dev/sdb1).

uSniff:BT种子搜索引擎

- leqoqo - 软件志
一、uSniff相关信息: 1、官方主页:http://www.usniff.com/ 2、简介:uSniff是一个BT种子搜索引擎,简单、易用、实时是其最大的优点,其搜索引擎数据库包含了17个知名种子站点的种子信息,目的是想发展成为世界上最大的BT种子搜索引擎,而且对于每个种子,该搜索引擎都会进行安全认证,以保证用户的正常使用.

SSD 以及其它

- 我爱小老虎 - DBA Notes
在微博上说起了 SSD 和高端存储的话题. 在 SSD 出现之前,高端存储厂商很多年都在安稳的赚钱,尽管互相之间也有竞争,但单个设备动辄上百万,总有钱可赚. SSD + PC 服务器这个组合的出现终将革掉他们的命. EMC / HDS / IBM 这几家公司卖存储的朋友恐怕日子都比较难过. 据说苹果新的数据中心买了 EMC Isilon 的设备作为存储解决方案,12 PB 的存储(refer),不差钱的主总是有的.

人眼启发视觉搜索引擎

- feng823 - Solidot
Google上周宣布将支持声音和图片进行搜索,但一家创业公司在图像搜索方面走在了Google前面. 源自伦敦帝国学院研究项目的创业公司Cortexica,开发出视觉搜索工具,通过手机拍摄产品照片,它会自动呈现价格信息. Cortexica已经发布了一个用于比较酒价格的工具WINEfindr. Cortexica的视觉搜索技术是受到了人眼视觉系统的启发,它能识别出一个目标的关键特征,不受方位、大小、光线亮暗的影响.

比较好的学术搜索引擎

- hfut_chen - C++博客-首页原创精华区
     摘要: 1、http://scholar.google.com/. Google学术搜索滤掉了普通搜索结果中大量的垃圾信息,排列出文章的不同版本以及被其它文章的引用次数. 略显不足的是,它搜索出来的结果没有按照权威度(譬如影响因子、引用次数)依次排列,在中国搜索出来的,前几页可能大部分为中文的一些期刊的文章.

Blekko 对搜索引擎的新探索

- thinkingit - 知乎的博客
Blekko 这款搜索产品做的如何. 从目前我的使用过程来看,Blekko还是很让人激动的. 在谈Blekko之前就要先问:为何在搜索这个看似已经垄断的行业还会有人想去分一杯羹,这些小团队能与Google或微软这样的巨头抗衡吗. 比如之前的Powerset,后来的Cuil,和现在的Blekko. 在Google之前Yahoo是靠人工收录网页,Google的算法和蜘蛛革了搜索的命,一直垄断搜索业十余年,而现在随着WEB 2.0的发展,让人又看到了搜索业革命的火种,可以说Blekko就是这样的一个产品.

Mr.Icons:图标icon搜索引擎

- 壮壮爱 - 够趣堂
之前Anliu在如何更换更好的icon文章里面推荐了4个icon搜索引擎,目前部分已经不复存在. 不过Mr.Icons倒是又一个不错的选择,可以搜索图标icon进行下载,有PNG、ico格式以及不同大小提供下载. Mr.Icons还提供图标icon集打包下载,比如动物图标等. 和之前的介绍几款搜索引擎一样,依然不支持中文.

迅搜全文搜索引擎 XunSearch

- Le - 开源中国社区最新软件
迅搜(xunsearch)是采用 C/C++ 基于 xapian 和 scws 开发的全文搜索引擎解决方案,提供 PHP 语言的开发接口. 支持海量数据高速检索,功能强大,简单易用. 本项目旨在帮助一般开发者针对既有的海量数据,快速而方便地建立自己的全文搜索引擎. 全文检索可以帮助您降低服务器搜索负荷、极大程度的提高搜索速度和用户体验.

搜索引擎的特殊用法

- iVane - 崔凯,前端开发
下周组内分享要讨论“工具”,介绍几个搜索引擎的特殊用法,凑凑数:. 通配符,这么搜可以得到“崔凯前端开发”,也能得到“崔凯大连开发” 崔凯*开发. 用于搜索查询词出现在URL中的页面. 由于关键词出现在URL中对排名有一定影响,因此使用inurl:搜索也是定位竞争对手的一种方式. 该指令搜索结果返回的是页面title中包含关键词的页面.

美国购物搜索引擎评测

- - 月光博客
  专注于购物搜索引擎领域的CPCStrategy在其博客中对美国众多流行的购物搜索引擎在2012年第一季度的流量、收入以及转化率等方面进行了全面的分析与对比,其中的一些发现不管是对商家还是消费者都非常有价值. 我们对其进行了编译,希望对大家有帮助.   这项分析的数据样本主要来自CPCStrategy的100多位客户,涵盖约427万次点击,约8.3万张订单,约116万美金的营销成本以及所带来的约787万美金的收入.