|
|
@@ -3,13 +3,14 @@
|
|
|
|
|
|
测试程序见 [examples/benchmark.go](/examples/benchmark.go)
|
|
|
|
|
|
-测试数据为从52个微博账号里抓取的十万条微博(请从[这里](https://raw.githubusercontent.com/huichen/wukong/43f20b4c0921cc704cf41fe8653e66a3fcbb7e31/testdata/weibo_data.txt)下载,然后copy到testdata目录),通过benchmark.go中的-num_repeat_text参数(设为100)重复索引为一千万条,3.6G文本。测试环境Core i7-3615QM 2.30GHz 8核,14G内存。
|
|
|
+测试数据为从52个微博账号里抓取的十万条微博(请从[这里](https://raw.githubusercontent.com/huichen/wukong/43f20b4c0921cc704cf41fe8653e66a3fcbb7e31/testdata/weibo_data.txt)下载,然后copy到testdata目录),通过benchmark.go中的-num_repeat_text参数(设为100)重复索引为一千万条,3.6G文本。测试环境Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz 32核,128G内存。
|
|
|
|
|
|
改变测试程序中的NumShards变量可以改变数据单机裂分(sharding)的数目,裂分越多单请求的并发度越高延迟越小,但相应地每秒能处理的总请求数也会变少,比如:
|
|
|
|
|
|
-- 1个shard时:每秒索引1.3M个索引项,响应时间4.4毫秒,吞吐量每秒1.8K次搜索
|
|
|
-- 2个shard时:每秒索引1.2M个索引项,响应时间2.5毫秒,吞吐量每秒1.6K次搜索
|
|
|
-- 4个shard时:每秒索引1.2M个索引项,响应时间1.4毫秒,吞吐量每秒1.4K次搜索
|
|
|
+- 1个shard时:每秒索引1.3M个索引项,响应时间1.65毫秒,吞吐量每秒19.3K次搜索
|
|
|
+- 2个shard时:每秒索引1.8M个索引项,响应时间0.87毫秒,吞吐量每秒18.4K次搜索
|
|
|
+- 4个shard时:每秒索引1.9M个索引项,响应时间0.56毫秒,吞吐量每秒14.3K次搜索
|
|
|
+- 8个shard时:每秒索引2.0M个索引项,响应时间0.39毫秒,吞吐量每秒10.3K次搜索
|
|
|
|
|
|
这里的索引项是指一个不重复的“搜索键”-“文档”对,比如当一个文档中有N个不一样的搜索键时,该文档会产生N个索引项。
|
|
|
|