服务器几个网站都运行 ES,怎样查看哪个网站 ES 消耗的负载最高?

2021-06-21 08:57:08 +08:00
 kisshere

目前服务器 CPU 负载居高不下,几个网站都运行同一个服务器上,都调用了 ES 的服务,用 top 命令看了下,ES 的 Java 占用的 cpu 最高,但是几个网站流量都很小,怎么查看是哪个网站负载消耗最高?

1930 次点击
所在节点    程序员
6 条回复
tairan2006
2021-06-21 09:00:47 +08:00
jstack 看一下线程 cpu 占比

可以停服的话,采用排除法逐个停一段时间就行(
tairan2006
2021-06-21 09:02:56 +08:00
wellsc
2021-06-21 09:12:00 +08:00
链路追踪?
X0ray
2021-06-21 09:39:24 +08:00
把 ES 的 slow log 打开,通过语句定位我觉得也可行。
podel
2021-06-21 10:01:07 +08:00
其实 时间肯定跟 负载成正比的。
可以直接加一层 nginx 然后 nginx 接入 监控 metrics 或者 jaeger 之类的。
按照访问的 URL 统计请求时间比列。就知道哪个用得多了。
bjhc
2021-06-21 10:13:11 +08:00
接一个 es 的 ui 插件,比如 kibana 之类的,可以查看 es 性能之类的操作。主要还是看 index 吧,每个网站难道用的是相同的 index?如果每个网站用的是不同的 index,那么看下对应 index 的读取和写入速度吧.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/784702

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX