成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

高性能、無侵入的 Java 性能監(jiān)控神器

開發(fā) 前端
無法知道每個(gè)服務(wù)的運(yùn)行情況,例如,某一臺(tái)服務(wù)它目前的?QPS?是多少?它的平均延遲是多少,99% 的延遲是多少,99.9% 的延遲又是多少?

背景

隨著所在公司的發(fā)展,應(yīng)用服務(wù)的規(guī)模不斷擴(kuò)大,原有的垂直應(yīng)用架構(gòu)已無法滿足產(chǎn)品的發(fā)展,幾十個(gè)工程師在一個(gè)項(xiàng)目里并行開發(fā)不同的功能,開發(fā)效率不斷降低。

于是公司開始全面推進(jìn)服務(wù)化進(jìn)程,把團(tuán)隊(duì)內(nèi)的大部分工程師主要精力全部都集中到服務(wù)化中。服務(wù)化可以讓每個(gè)工程師僅在自己負(fù)責(zé)的子項(xiàng)目中進(jìn)行開發(fā),提高了開發(fā)的效率,但是服務(wù)化同時(shí)也帶來了其他問題:

  • 無法知道每個(gè)服務(wù)的運(yùn)行情況,例如,某一臺(tái)服務(wù)它目前的 QPS 是多少?它的平均延遲是多少,99% 的延遲是多少,99.9% 的延遲又是多少?
  • 某一個(gè)接口響應(yīng)時(shí)間慢,如何定位是哪個(gè)方法引起的?
  • 每個(gè)服務(wù)的負(fù)載是否均衡?
  • 當(dāng)服務(wù)出現(xiàn)抖動(dòng)時(shí),如何判斷是 DB、Cache 還是下游服務(wù)引起的?
  • DB 和 Cache 響應(yīng)延遲是多少?
  • 如何評(píng)估服務(wù)的容量,隨著服務(wù)的調(diào)用量越來越大,這個(gè)服務(wù)需要多少機(jī)器來支撐?什么時(shí)候應(yīng)該加機(jī)器?

針對(duì)以上開發(fā)中的煩惱,今天我們介紹一個(gè)針對(duì)高并發(fā)、低延遲應(yīng)用設(shè)計(jì)的高性能 Java 性能監(jiān)控和統(tǒng)計(jì)工具——MyPerf4J。

使用場(chǎng)景

  • 在開發(fā)環(huán)境中快速定位 Java 應(yīng)用程序的性能瓶頸
  • 在生產(chǎn)環(huán)境中長(zhǎng)期監(jiān)控 Java 應(yīng)用程序的性能指標(biāo)

特性

  • 高性能: 單線程支持每秒 1000萬次 響應(yīng)時(shí)間的記錄,每次記錄只花費(fèi) 73納秒
  • 無侵入: 采用 JavaAgent 方式,對(duì)應(yīng)用程序完全無侵入,無需修改應(yīng)用代碼
  • 低內(nèi)存: 采用內(nèi)存復(fù)用的方式,整個(gè)生命周期只產(chǎn)生極少的臨時(shí)對(duì)象,不影響應(yīng)用程序的GC
  • 高精度: 采用納秒來計(jì)算響應(yīng)時(shí)間
  • 高實(shí)時(shí): 支持秒級(jí)監(jiān)控,最低 1 秒!

監(jiān)控指標(biāo)

MyPerf4J 為每個(gè)應(yīng)用收集數(shù)十個(gè)監(jiān)控指標(biāo),所有的監(jiān)控指標(biāo)都是實(shí)時(shí)采集和展現(xiàn)的。

下面是 MyPerf4J 目前支持的監(jiān)控指標(biāo)列表:

Method

RPS,Count,Avg,Min,Max,StdDev,TP50, TP90, TP95, TP99, TP999, TP9999, TP99999, TP100

圖片圖片

Memory

HeapInit,HeapUsed,HeapCommitted,HeapMax,NonHeapInit,NonHeapUsed,NonHeapCommitted,NonHeapMax

圖片圖片

JVM GC

CollectCount,CollectTime

圖片圖片

JVM Class

Total,Loaded,Unloaded

圖片圖片

快速啟動(dòng)

MyPerf4J 采用 JavaAgent 配置方式,透明化接入應(yīng)用,對(duì)應(yīng)用代碼完全沒有侵入。

下載
  • 下載并解壓 MyPerf4J-ASM.zip
  • 閱讀解壓出的 README 文件
  • 修改解壓出的 MyPerf4J.properties 配置文件中 app_name、metrics.log.xxx 和 filter.packages.include 的配置值

MyPerf4J-ASM.zip包:https://github.com/LinShunKang/Objects/blob/master/zips/CN/MyPerf4J-ASM-3.3.0-SNAPSHOT.zip?raw=true

配置

在 JVM 啟動(dòng)參數(shù)里加上以下兩個(gè)參數(shù)

-javaagent:/path/to/MyPerf4J-ASM.jar  
-DMyPerf4JPropFile=/path/to/MyPerf4J.properties

圖片圖片

運(yùn)行

啟動(dòng)應(yīng)用,監(jiān)控日志輸出到 /path/to/log/method_metrics.log:

MyPerf4J Method Metrics [2020-01-01 12:49:57, 2020-01-01 12:49:58]  
Method[6]                            Type        Level  TimePercent      RPS  Avg(ms)  Min(ms)  Max(ms)    StdDev    Count     TP50     TP90     TP95     TP99    TP999   TP9999  
DemoServiceImpl.getId2(long)      General      Service      322.50%     6524     0.49        0        1     0.50      6524        0        1        1        1        1        1  
DemoServiceImpl.getId3(long)      General      Service      296.10%     4350     0.68        0        1     0.47      4350        1        1        1        1        1        1  
DemoServiceImpl.getId4(long)      General      Service      164.60%     2176     0.76        0        1     0.43      2176        1        1        1        1        1        1  
DemoServiceImpl.getId1(long)      General      Service        0.00%     8704     0.00        0        0     0.00      8704        0        0        0        0        0        0  
DemoDAO.getId1(long)         DynamicProxy          DAO        0.00%     2176     0.00        0        0     0.00      2176        0        0        0        0        0        0  
DemoDAO.getId2()             DynamicProxy          DAO        0.00%     2176     0.00        0        0     0.00      2176        0        0        0        0        0        0
卸載

在 JVM 啟動(dòng)參數(shù)中去掉以下兩個(gè)參數(shù),重啟即可卸載此工具。

-javaagent:/path/to/MyPerf4J-ASM.jar  
-DMyPerf4JPropFile=/path/to/MyPerf4J.properties

開源地址

https://github.com/LinShunKang/MyPerf4J

責(zé)任編輯:武曉燕 來源: 一安未來
相關(guān)推薦

2021-01-26 08:44:48

監(jiān)控工具Monasca

2019-06-18 10:24:23

開源技術(shù) 趨勢(shì)

2022-09-14 22:58:58

Push 推薦Java 開發(fā)vivo

2024-10-14 16:53:06

2024-03-20 08:00:00

軟件開發(fā)Java編程語言

2023-09-22 11:48:37

2019-03-01 11:03:22

Lustre高性能計(jì)算

2015-05-12 15:02:23

API應(yīng)用性能監(jiān)控云智慧

2018-01-12 14:37:34

Java代碼實(shí)踐

2024-02-26 11:03:05

golang緩存數(shù)據(jù)庫

2017-07-20 09:36:39

高性能存儲(chǔ)Z-NAND

2021-08-13 09:06:52

Go高性能優(yōu)化

2014-11-25 10:03:42

JavaScript

2012-12-17 13:51:22

Web前端JavaScriptJS

2019-10-17 09:23:49

Kafka高性能架構(gòu)

2025-05-06 01:00:00

Excel高性能內(nèi)存

2022-03-21 14:13:22

Go語言編程

2020-07-16 08:06:53

網(wǎng)關(guān)高性能計(jì)

2017-07-07 16:36:28

BIOIO模型 NIO

2011-04-25 14:06:23

java
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美日韩在线播放 | 国产高清一二三区 | 在线免费亚洲视频 | 国产999精品久久久久久绿帽 | 91在线第一页 | 欧美精品一区二区三区在线 | 欧美一区二区在线观看 | 日日夜夜视频 | 国产视频一区二区在线观看 | 草逼网站 | 午夜国产 | 日韩精品无码一区二区三区 | 99精品一级欧美片免费播放 | 欧美一区二区三区在线观看 | 中国免费黄色片 | 国产欧美日韩久久久 | 久久亚洲国产精品日日av夜夜 | 精品美女视频在免费观看 | 日韩一级免费电影 | 欧美日韩亚洲系列 | 欧美日韩在线免费观看 | 国产精品视频偷伦精品视频 | 中文字幕精 | 91麻豆精品一区二区三区 | 亚洲综合视频 | 日韩精品在线播放 | 精品国产不卡一区二区三区 | 国产精品一区在线观看 | 精品日韩 | 亚洲国产成人精品在线 | 日韩成人在线播放 | 成人h电影在线观看 | 亚洲第一av | 国产乱码精品一区二区三区中文 | 国产99久久精品一区二区永久免费 | 免费在线观看成年人视频 | 亚洲另类自拍 | 狠狠的干| 女生羞羞网站 | 久久久国产一区二区三区四区小说 | 国产一区二区三区四区三区四 |