欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在開發(fā)環(huán)境中快速定位 Java 應(yīng)用程序的性能瓶頸

jf_ro2CN3Fa ? 來源:芋道源碼 ? 2023-06-19 09:43 ? 次閱讀

背景

使用場景

特性

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

快速啟動

開源地址

77de59b6-0e41-11ee-962d-dac502259ad0.jpg

背景

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

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

無法知道每個服務(wù)的運行情況,例如,某一臺服務(wù)它目前的 QPS 是多少?它的平均延遲是多少,99% 的延遲是多少,99.9% 的延遲又是多少?

某一個接口響應(yīng)時間慢,如何定位是哪個方法引起的?

每個服務(wù)的負載是否均衡?

當(dāng)服務(wù)出現(xiàn)抖動時,如何判斷是 DB、Cache 還是下游服務(wù)引起的?

DB 和 Cache 響應(yīng)延遲是多少?

如何評估服務(wù)的容量,隨著服務(wù)的調(diào)用量越來越大,這個服務(wù)需要多少機器來支撐?什么時候應(yīng)該加機器?

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

基于 Spring Boot + MyBatis Plus + Vue & Element 實現(xiàn)的后臺管理系統(tǒng) + 用戶小程序,支持 RBAC 動態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能

項目地址:https://github.com/YunaiV/ruoyi-vue-pro

視頻教程:https://doc.iocoder.cn/video/

使用場景

在開發(fā)環(huán)境中快速定位 Java 應(yīng)用程序的性能瓶頸

在生產(chǎn)環(huán)境中長期監(jiān)控 Java 應(yīng)用程序的性能指標(biāo)

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 實現(xiàn)的后臺管理系統(tǒng) + 用戶小程序,支持 RBAC 動態(tài)權(quán)限、多租戶、數(shù)據(jù)權(quán)限、工作流、三方登錄、支付、短信、商城等功能

項目地址:https://github.com/YunaiV/yudao-cloud

視頻教程:https://doc.iocoder.cn/video/

特性

高性能: 單線程支持每秒 1000萬次 響應(yīng)時間的記錄,每次記錄只花費 73納秒

無侵入: 采用 JavaAgent 方式,對應(yīng)用程序完全無侵入,無需修改應(yīng)用代碼

低內(nèi)存: 采用內(nèi)存復(fù)用的方式,整個生命周期只產(chǎn)生極少的臨時對象,不影響應(yīng)用程序的GC

高精度: 采用納秒來計算響應(yīng)時間

高實時: 支持秒級監(jiān)控,最低 1 秒!

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

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

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

Method

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

77e933d6-0e41-11ee-962d-dac502259ad0.gif

Memory

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

784f2966-0e41-11ee-962d-dac502259ad0.gif

JVM GC

CollectCount,CollectTime

788c7550-0e41-11ee-962d-dac502259ad0.gif

JVM Class

Total,Loaded,Unloaded

78985b5e-0e41-11ee-962d-dac502259ad0.gif

快速啟動

MyPerf4J 采用 JavaAgent 配置方式,透明化接入應(yīng)用,對應(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 啟動參數(shù)里加上以下兩個參數(shù)

-javaagent:/path/to/MyPerf4J-ASM.jar
-DMyPerf4JPropFile=/path/to/MyPerf4J.properties
78a5ed6e-0e41-11ee-962d-dac502259ad0.png

運行

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

MyPerf4JMethodMetrics[2020-01-0112:49:57,2020-01-0112:49:58]
Method[6]TypeLevelTimePercentRPSAvg(ms)Min(ms)Max(ms)StdDevCountTP50TP90TP95TP99TP999TP9999
DemoServiceImpl.getId2(long)GeneralService322.50%65240.49010.506524011111
DemoServiceImpl.getId3(long)GeneralService296.10%43500.68010.474350111111
DemoServiceImpl.getId4(long)GeneralService164.60%21760.76010.432176111111
DemoServiceImpl.getId1(long)GeneralService0.00%87040.00000.008704000000
DemoDAO.getId1(long)DynamicProxyDAO0.00%21760.00000.002176000000
DemoDAO.getId2()DynamicProxyDAO0.00%21760.00000.002176000000

卸載

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

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

責(zé)任編輯:彭菁

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2975

    瀏覽量

    105200
  • 開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    370

    瀏覽量

    40937
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    38

    文章

    3295

    瀏覽量

    57940

原文標(biāo)題:高性能、無侵入的 Java 性能監(jiān)控神器

文章出處:【微信號:芋道源碼,微信公眾號:芋道源碼】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Java開發(fā)環(huán)境概述

    Eclipse、JBuilder。本書各章示例基本Eclipse下開發(fā)。JDK雖然無可視化集成編程環(huán)境,但是對開發(fā)基礎(chǔ)性、通用性軟件有其獨到的優(yōu)勢。對于編程初學(xué)者,開始
    發(fā)表于 12-06 00:18

    英創(chuàng)主板JAVA應(yīng)用開發(fā)簡介

    ,即可通過英創(chuàng)提供的java類,訪問硬件接口。為了讓用戶能夠快速熟悉英創(chuàng)主板上的Java程序開發(fā),英創(chuàng)提供了完整的
    發(fā)表于 10-20 13:13

    使用Eclipse WTP開發(fā)Java Web應(yīng)用程序

    使用Eclipse WTP開發(fā)Java Web應(yīng)用程序時,我們需要在計算機安裝tomcat才能執(zhí)行該應(yīng)用程序。如果在項目上使用Maven,
    發(fā)表于 12-16 07:00

    如何在嵌入式容器Jetty或Tomcat運行帶有Maven的Java Web應(yīng)用程序

    開發(fā)Java Web應(yīng)用程序時,從“真實”環(huán)境獲得快速
    發(fā)表于 12-16 06:24

    Java程序設(shè)計基礎(chǔ)

    Java程序設(shè)計基礎(chǔ) 一、實驗?zāi)康模?     通過編制一個完整的應(yīng)用程序,使得學(xué)生對Java應(yīng)用程序
    發(fā)表于 12-05 23:53 ?1577次閱讀

    快速識別應(yīng)用程序性能瓶頸

    RATIONAL QUANTIFY FOR WINDOWS能查明應(yīng)用程序性能瓶頸,從而確保使用JAVA、VISUAL C/C++和VISUAL BASIC
    發(fā)表于 04-18 22:15 ?20次下載

    理解Java字符流與字節(jié)流的區(qū)別

    JDK稱為Java開發(fā)包或Java開發(fā)工具,是一個編寫Java的Applet小程序
    發(fā)表于 12-04 10:39 ?1132次閱讀
    理解<b class='flag-5'>Java</b><b class='flag-5'>中</b>字符流與字節(jié)流的區(qū)別

    Java開發(fā)環(huán)境配置(win7_64bit)

    搭建Java開發(fā)環(huán)境一般需要同時安裝JDK和JRE。 JDK:指Java開發(fā)工具包Java
    的頭像 發(fā)表于 02-01 15:03 ?3289次閱讀
    <b class='flag-5'>Java</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b>配置(win7_64bit)

    如何用Java代碼來創(chuàng)建iOS和Android應(yīng)用程序

    了解Multi-OS Engine(beta)如何幫助Java開發(fā)人員快速創(chuàng)建iOS和Android應(yīng)用程序。
    的頭像 發(fā)表于 11-08 06:42 ?4255次閱讀

    Java多線程應(yīng)用程序的數(shù)據(jù)存儲庫使用改進

    當(dāng)執(zhí)行的查詢數(shù)量很大時,數(shù)據(jù)存儲庫通常是高要求系統(tǒng)的瓶頸。延遲批處理執(zhí)行器(DelayedBatchExecutor)是一個組件,可通過Java多線程應(yīng)用程序
    的頭像 發(fā)表于 05-05 20:46 ?1947次閱讀
    <b class='flag-5'>Java</b>多線程<b class='flag-5'>應(yīng)用程序</b>的數(shù)據(jù)存儲庫使用改進

    最新的Java環(huán)境包JavaSetup8u281應(yīng)用程序免費下載

    最新的Java環(huán)境包JavaSetup8u281應(yīng)用程序免費下載
    發(fā)表于 01-26 08:00 ?28次下載
    最新的<b class='flag-5'>Java</b><b class='flag-5'>環(huán)境</b>包JavaSetup8u281<b class='flag-5'>應(yīng)用程序</b>免費下載

    LabVIEW應(yīng)用程序性能瓶頸的解決

    了解如何識別和解決LabVIEW應(yīng)用程序性能瓶頸。使用內(nèi)置工具和VI分析器,您可以監(jiān)視VIs的內(nèi)存使用情況和執(zhí)行時間,以確定導(dǎo)致應(yīng)用程序性能
    發(fā)表于 03-29 14:03 ?8次下載
    LabVIEW<b class='flag-5'>應(yīng)用程序</b>中<b class='flag-5'>性能</b><b class='flag-5'>瓶頸</b>的解決

    開發(fā)java應(yīng)用程序的基本步驟是

    ava是一種面向?qū)ο蟮木幊陶Z言,廣泛用于開發(fā)各種類型的應(yīng)用程序。開發(fā)Java應(yīng)用程序時,有一些
    的頭像 發(fā)表于 11-28 16:52 ?1716次閱讀

    java環(huán)境配置成功后能執(zhí)行哪些操作

    。 使用Java開發(fā)工具包(JDK):Java環(huán)境配置成功后,您可以使用Java開發(fā)工具包(JD
    的頭像 發(fā)表于 12-06 15:55 ?841次閱讀

    華納云:java web和java有什么區(qū)別java web和java有什么區(qū)別

    的平臺,Java可以用于開發(fā)桌面應(yīng)用程序、移動應(yīng)用程序、企業(yè)級應(yīng)用程序等。 – Java Web
    的頭像 發(fā)表于 07-16 13:35 ?918次閱讀
    華納云:<b class='flag-5'>java</b> web和<b class='flag-5'>java</b>有什么區(qū)別<b class='flag-5'>java</b> web和<b class='flag-5'>java</b>有什么區(qū)別