弹性搜索负载测试

时间:2014-08-05 13:04:57

标签: elasticsearch

我在ec2上运行单节点弹性搜索服务器。我想使用随机搜索查询的搜索请求进行一些负载测试。我使用JMeter进行负载测试,采用两种不同的方法 -

  1. HTTP客户端 - 当我使用10k / 20k / 50k请求测试这些客户端时,它运行正常。
  2. ES传输客户端 - 大约2k个请求可以正常工作。
  3. 以下是我遵循的步骤 -

    1. 每次运行时实例化客户端,并在测试完成后关闭它。
    2. 客户端实例化后,我启动jmeter采样并发送搜索请求。
    3. 此次运行后,停止采样。
    4. 在使用传输客户端发出2k请求后,我收到无节点可用异常

      ES服务器正在运行3g内存,并且已经为加载测试仪提供了6g内存。

      如果需要进行一些配置修改,并且我没有使用正确的方法来测试负载,请帮助我。

      先谢谢。

1 个答案:

答案 0 :(得分:0)

您从http测试中得到了什么样的回复?您是否已经确认您收到了所有10~50k请求的有效回复?也许您的群集可能无法承担您为任一测试而加载的负载。由于TransportClient与ES服务器的关系更紧密,因此您将明确地看到从TransportClient返回的错误,但如果您只是通过HTTP发送请求而不验证响应,则很容易错过任何问题。

虽然像我刚才那样在黑暗中进行刺杀之前,我还会检查你使用HTTP方法和TC方法获得的QPS类型,在两次测试中你的CPU /内存是什么样的,响应时间等等。它有助于在整个过程中监控系统的健康状况,以检测可能有助于解释原因的任何症状。