我在工作地点遇到了一个问题。 我们在 Elasticsearch 安装中对几种路由策略进行了 A/B。 我负责使用 JMeter 测试对其进行测试,因此我对路由策略差异的唯一反馈基本上只是某些 API 请求的普通响应时间。
我想要更深入的分析。
是否可以执行某种类似跟踪路由的请求(通过 ES API(,该请求可以为我提供有关搜索请求发送方式、涉及哪些分片以及如何合并搜索的性质的更多信息? 我仍然在学习这个ES东西的匝道上,但我开始加快一点速度。
提前谢谢。
您可以配置和启用慢日志,请参阅 https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-slowlog.html
您可以定义查询和提取阶段的阈值。这些日志还显示执行查询的节点和分片。
Elasticsearch 文档页面中的示例:
[2030-08-30T11:59:37,786][WARN ][i.s.s.query] [node-0] [index6][0] took[78.4micros], took_millis[0], total_hits[0 hits], stats[], search_type[QUERY_THEN_FETCH], total_shards[1], source[{"query":{"match_all":{"boost":1.0}}}], id[MY_USER_ID],
使用 ES 的服务执行的任何跟踪都需要在那里完成。在这里,您可以使用Zipkin。