如何进行Solr性能测试?

时间:2016-11-03 04:56:50

标签: performance solr jmeter load-testing

我完成了测试Solr性能测试的任务。我对Solr完全不熟悉,也不知道如何在这里进行测试。 我们正在使用的Solr,它正在利用大量的RAM和CPU。由于我们的应用程序正在挂起并发送服务器错误消息。

测试Solr的方法是什么,是否需要任何工具来创建多个并发线程?

5 个答案:

答案 0 :(得分:1)

根据Solr Quick Start指南

  

<强>搜索

     

可以通过REST客户端,cURL,wget,Chrome POSTMAN等查询Solr,也可以通过许多编程语言的本机客户端查询。

所以你可以使用&#34;通常&#34; HTTP Request采样器使用Solr同时模拟多个用户。

参考文献:

答案 1 :(得分:0)

最重要的不是如何测试查询 - 而是建立您想要测试的场景,并模拟您看到的实时应用程序使用情况。

最初,你需要决定你想要通过测试找到什么。你想找到瓶颈吗?您想知道您当前的设置是否符合业务要求吗?你需要找到当前架构和设置的突破点吗?

使用大量CPU的Solr通常与索引相关,内存使用可能与段合并有关 - 所以听起来你需要定义你的senarios。

  • 你应该向Solr推送多少内容才能执行索引?
  • 您需要发送多少个查询?
  • 查询的功能有哪些(方面,突出显示,拼写检查等)?

答案 2 :(得分:0)

对于搜索应用程序,请求数量本身通常与查询配置文件一样重要。有很多内部缓存正在进行,并且能够进行不错的性能测试的唯一有用方法是使用您的实际查询日志来复制代表您的用户的查询配置文件。您还必须使用Solr服务器中的实际数据,因此您(至少)接近字段和值的相同基数。

这意味着使用相同的过滤器,相同类型的查询以及同一类型的同时加载。因为你可能想要超过你在生产中看到的负载,使用日志作为一天的几天(并确保周末与工作日在那里,如果你有一个特别糟糕的一天,如电子商务的黑色星期五,保持这些日志可用,以便您能够复制该配置文件。

有许多工具可以向Solr发出HTTP请求,但请务必使用查询配置文件和实际代表您如何使用Solr的查询集,否则您只需点击每次查询缓存,或者您的数据不能代表数据集中的实际数据 - 这将为您提供完全无关的响应时间(即随机数据执行比实际英文文本更糟糕,其中标记重复在文档上)。

答案 3 :(得分:0)

  

您可以使用solr meter进行性能测试。在这里阅读solr meter wiki

答案 4 :(得分:0)

您可以使用Jmeter测试搜索应用程序的吞吐量,还可以检查IO,负载,CPU使用情况和放大器数量。每个Solr实例上的Ram用法。