目前服务器 CPU 负载居高不下,几个网站都运行同一个服务器上,都调用了 ES 的服务,用 top 命令看了下,ES 的 Java 占用的 cpu 最高,但是几个网站流量都很小,怎么查看是哪个网站负载消耗最高?
1
tairan2006 2021-06-21 09:00:47 +08:00
jstack 看一下线程 cpu 占比
可以停服的话,采用排除法逐个停一段时间就行( |
2
tairan2006 2021-06-21 09:02:56 +08:00
|
3
wellsc 2021-06-21 09:12:00 +08:00 via iPhone
链路追踪?
|
4
X0ray 2021-06-21 09:39:24 +08:00
把 ES 的 slow log 打开,通过语句定位我觉得也可行。
|
5
podel 2021-06-21 10:01:07 +08:00
其实 时间肯定跟 负载成正比的。
可以直接加一层 nginx 然后 nginx 接入 监控 metrics 或者 jaeger 之类的。 按照访问的 URL 统计请求时间比列。就知道哪个用得多了。 |
6
bjhc 2021-06-21 10:13:11 +08:00
接一个 es 的 ui 插件,比如 kibana 之类的,可以查看 es 性能之类的操作。主要还是看 index 吧,每个网站难道用的是相同的 index?如果每个网站用的是不同的 index,那么看下对应 index 的读取和写入速度吧.
|