這一部分,我們來看一個實際的案例。
假設我們有一個提供高併發請求的服務,系統使用 Spring Boot 框架,指標採集使用 MicroMeter,監控數據上報給 Datadog 服務。
當然,Micrometer支 持將數據上報給各種監控系統,例如:AppOptics、Atlas、Datadog、Dynatrace、Elastic、Ganglia、Graphite、Humio、Influx、Instana、JMX、KairosDB、New Relic、Prometh eus、SignalFx、Stackdriver、StatsD、Wavefront 等等。
有關MicroMeter的信息可參考:
最近一段時間,通過監控指標發現,有一個服務節點的最大 GC 暫停時間經常會達到 400ms 以上。
如下圖所示:
從圖中可以看到,GC 暫停時間的峯值達到了 546ms,這裏展示的時間點是 2020 年 02 月 04 日 09:20:00 左右。
客戶表示這種情況必須解決,因爲服務調用的超時時間爲 1s,要求最大 GC 暫停時間不超過 200ms,平均暫停時間達到 100ms 以內,對客戶的交易策略產生了極大的影響。