测试环境:
P4 2.4、768M内存 、windowsXP SP2
Lucene2.1,Tomcat5.5,EHcahce1.2.4,大约500M index数据
Cache分两层,对搜索结果和高亮处理后的某页数据缓存,结果页面每页显示10个搜索结果。
对同一个词进行搜索,两次测试都是在Tomcat首次启动后进行测试。一个测试完毕,重起Tomcat再进行第二组测试。
测试结果:(秒)
无Cache测试结果
第一次搜索 第二次搜索
搜索耗时 高亮耗时 总耗时 搜索耗时 高亮耗时 总耗时
第1页显示 0.453 0.203 0.671 0.015 0.016 0.031
第2页显示 0.015 0.469 0.484 0.015 0.032 0.047
第13页显示 0.016 0.39 0.406 0.016 0.031 0.047
有Cache测试结果
第一次搜索 第二次搜索
搜索耗时 高亮耗时 总耗时 搜索耗时 高亮耗时 总耗时
第1页显示 0.391 0.203 0.594 0 0 0
第2页显示 0 0.437 0.437 0 0 0
第13页显示 0 0.625 0.625 0 0 0
结论:
- Lucene本身对搜索有Cache,因此第一次搜索速度较慢,以后会很快。
- 增加对搜索结果Cache,速度提高不明显。验证了《Lucene in Action》 对此的说法。
- 对高亮理结果进行缓存效果较明显。
本文通过一组基于Lucene的缓存与非缓存搜索测试对比,展示了在不同页面加载情况下搜索耗时与高亮耗时的具体数值。结果显示,Lucene自带的缓存已能显著提升后续搜索速度;额外增加搜索结果缓存对性能提升有限;而对高亮处理结果进行缓存则能有效减少响应时间。
1722

被折叠的 条评论
为什么被折叠?



