国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

性能優(yōu)化 - 前端性能監(jiān)控和性能指標(biāo)計(jì)算方式

這篇具有很好參考價(jià)值的文章主要介紹了性能優(yōu)化 - 前端性能監(jiān)控和性能指標(biāo)計(jì)算方式。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

利用LightHouse進(jìn)行合理的頁面性能優(yōu)化 這篇文章主要講解了如何使用Lighthouse。 這里把相關(guān)圖片再展示一下:
性能優(yōu)化 - 前端性能監(jiān)控和性能指標(biāo)計(jì)算方式,性能優(yōu)化,前端
我們可以看到Lighthouse計(jì)算的時(shí)候,會(huì)根據(jù)這幾個(gè)維度的指標(biāo)來計(jì)算總分。那么本篇文章,就主要講解下前端性能監(jiān)控相關(guān)的重要指標(biāo)含義和計(jì)算方式。

一. 性能指標(biāo)介紹

在介紹指標(biāo)之前,我們首先應(yīng)當(dāng)知道這些數(shù)據(jù)可以從哪里獲取。JS里面,有一個(gè) performance 對(duì)象,它是專門用來用于性能監(jiān)控的對(duì)象,內(nèi)置了一些前端需要的性能參數(shù)。

我們隨便打開一個(gè)瀏覽器,在終端控制臺(tái)輸入以下內(nèi)容:

performance.getEntriesByType('navigation')

如圖:
性能優(yōu)化 - 前端性能監(jiān)控和性能指標(biāo)計(jì)算方式,性能優(yōu)化,前端

1.1 單一指標(biāo)介紹

  1. navigationStart:導(dǎo)航開始的時(shí)間,即瀏覽器開始獲取頁面的時(shí)間。
  2. redirectCount:重定向次數(shù),表示在導(dǎo)航過程中發(fā)生的重定向次數(shù)。
  3. type:導(dǎo)航類型,可能的取值有:
    • navigate:常規(guī)導(dǎo)航,例如用戶點(diǎn)擊鏈接或輸入U(xiǎn)RL進(jìn)行的導(dǎo)航。
    • reload:頁面重新加載。
    • back_forward:通過瀏覽器的前進(jìn)或后退按鈕導(dǎo)航。
  4. unloadEventStart:前一個(gè)頁面的unload事件開始的時(shí)間。
  5. unloadEventEnd:前一個(gè)頁面的unload事件結(jié)束的時(shí)間。
  6. redirectStart:重定向開始的時(shí)間。
  7. redirectEnd:重定向結(jié)束的時(shí)間。
  8. fetchStart:瀏覽器開始獲取頁面資源的時(shí)間。
  9. domainLookupStart:域名解析開始的時(shí)間。
  10. domainLookupEnd:域名解析結(jié)束的時(shí)間。
  11. connectStart:建立與服務(wù)器連接開始的時(shí)間。
  12. connectEnd:建立與服務(wù)器連接結(jié)束的時(shí)間。
  13. secureConnectionStart:安全連接開始的時(shí)間,如果不是安全連接,則該值為0。
  14. requestStart:向服務(wù)器發(fā)送請(qǐng)求的時(shí)間。
  15. responseStart:接收到服務(wù)器響應(yīng)的時(shí)間。
  16. responseEnd:接收到服務(wù)器響應(yīng)并且所有資源都已接收完成的時(shí)間。
  17. domLoading:開始解析文檔的時(shí)間。
  18. domInteractive:文檔解析完成并且所有子資源(例如圖片、樣式表等)也已加載完成的時(shí)間。
  19. domContentLoadedEventStartDOMContentLoaded事件開始的時(shí)間,表示HTML文檔解析完成并且所有腳本文件已下載完成。
  20. domContentLoadedEventEndDOMContentLoaded事件結(jié)束的時(shí)間,表示所有腳本文件已執(zhí)行完成。
  21. domComplete:文檔和所有子資源(例如圖片、樣式表等)都已完成加載的時(shí)間。
  22. loadEventStartload事件開始的時(shí)間,表示所有資源(包括圖片、樣式表、腳本文件等)都已加載完成。
  23. loadEventEndload事件結(jié)束的時(shí)間,表示所有資源(包括圖片、樣式表、腳本文件等)都已執(zhí)行完成。

1.2 指標(biāo)計(jì)算

我們看下圖
性能優(yōu)化 - 前端性能監(jiān)控和性能指標(biāo)計(jì)算方式,性能優(yōu)化,前端

我們從上圖出發(fā),分別對(duì)各個(gè)階段進(jìn)行計(jì)算,我們說下幾個(gè)比較重要的階段,按照從左往右的順序。

① Redirect(重定向耗時(shí))

表示從重定向開始(redirectStart)到重定向結(jié)束的時(shí)間(redirectEnd)的時(shí)間間隔,它反映了瀏覽器在這段時(shí)間內(nèi)完成了重定向的過程:

const redirectTime = redirectEnd - redirectStart

② AppCache(應(yīng)用程序緩存的DNS解析)

這一部分也是在進(jìn)行DNS解析,在使用AppCache(應(yīng)用程序緩存)的情況下,瀏覽器會(huì)在加載頁面時(shí)檢查緩存中是否存在相應(yīng)的資源,并根據(jù)需要更新緩存:

const appcacheTime = domainLookupStart - fetchStart

③ DNS(DNS解析耗時(shí))

DNS解析耗時(shí):在瀏覽器加載網(wǎng)頁時(shí),當(dāng)需要與服務(wù)器建立連接時(shí),瀏覽器會(huì)首先進(jìn)行DNS解析,將域名轉(zhuǎn)換為對(duì)應(yīng)的IP地址。DNS解析的過程包括向DNS服務(wù)器發(fā)送查詢請(qǐng)求、等待DNS服務(wù)器響應(yīng)以及獲取到IP地址。

dns = domainLookupEnd - domainLookupStart

④ TCP(TCP連接耗時(shí))

TCP連接耗時(shí):在瀏覽器加載網(wǎng)頁時(shí),當(dāng)瀏覽器需要與服務(wù)器建立連接時(shí),它會(huì)向服務(wù)器發(fā)送請(qǐng)求,并等待服務(wù)器響應(yīng)。建立連接的過程包括TCP握手、SSL握手等。

tcp = connectEnd - connectStart

其中還有建立SSL連接的時(shí)間,包括在TCP耗時(shí)里面。

ssl = connectEnd - secureConnectionStart

⑤ TTFB(請(qǐng)求響應(yīng)耗時(shí))

請(qǐng)求耗時(shí):從發(fā)送請(qǐng)求到接收到服務(wù)器響應(yīng)的第一個(gè)字節(jié)所花費(fèi)的時(shí)間。

ttfb = responseStart - requestStart

⑥ Trans(內(nèi)容傳輸耗時(shí))

當(dāng)瀏覽器發(fā)送請(qǐng)求后,服務(wù)器會(huì)返回相應(yīng)的響應(yīng),這個(gè)差值就是衡量瀏覽器接收服務(wù)器響應(yīng)的耗時(shí)。

trans = responseEnd - responseStart

⑦ DOM(DOM解析耗時(shí))

DOM這一塊比較復(fù)雜,實(shí)際上還能分成3個(gè)小DOM階段。

  1. 階段一(注意,上圖中并沒有顯式地展示出來):解析DOM階段。
const dom1 = domInteractive - responseEnd
  1. 階段二:文檔解析完成,html、js解析完成,css、圖片加載完成。即加載DOM階段。
const dom2 = domComplete-domInteractive
  1. 階段二當(dāng)中還可以分出一小個(gè)階段:代表從開始加載DOM內(nèi)容到DOM內(nèi)容加載完成的時(shí)間間隔。
const domLoaded = domContentLoadedEventEnd - domContentLoadedEventStart

1.3 FP(first-paint) 和 FCP(first-contentful-paint)

FP(first-paint)FCP(first-contentful-paint)

FP指的是瀏覽器首次將像素渲染到屏幕上的時(shí)間點(diǎn),即頁面開始渲染的時(shí)間點(diǎn)。通常情況下,FP是指瀏覽器首次繪制任何可見的內(nèi)容,包括背景色、文字、圖片等,但不包括用戶界面的控件,比如滾動(dòng)條、按鈕等。

FCP指的是瀏覽器首次將頁面的有意義的內(nèi)容渲染到屏幕上的時(shí)間點(diǎn),即頁面開始呈現(xiàn)有意義的內(nèi)容的時(shí)間點(diǎn)。有意義的內(nèi)容可以是文本、圖片、視頻等,但不包括背景色、邊框等無意義的內(nèi)容。

一般情況下,兩者基本上沒有什么區(qū)別,來說下兩者的獲取方式:

const fp = performance.getEntriesByName('first-paint')[0].startTime
const fcp = performance.getEntriesByName('first-contentful-paint')[0].startTime

后面我們都只說FCP。

1.4 LCP(Largest Contentful Paint)

LCP:Largest Contentful Paint它表示在頁面加載過程中,最大的可見內(nèi)容元素(例如圖片、視頻、文本塊等)加載完成并呈現(xiàn)在屏幕上的時(shí)間點(diǎn)。,是測(cè)量加載速度感知的重要指標(biāo)之一。

獲取方式,我們主要通過Performance 來進(jìn)行監(jiān)聽:

new PerformanceObserver((entryList) => {
    var maxSize = 0;
    var renderTime = 0;
    for (var entry of entryList.getEntries()) {
        // 渲染的內(nèi)容看最大值
        if(entry.size > maxSize){
            maxSize = entry.size;
            renderTime = entry.startTime;
        }
    }
    console.log('LCP', renderTime)
}).observe({type: 'largest-contentful-paint', buffered: true});

1.5 LongTask長任務(wù)統(tǒng)計(jì)

LongTask(長任務(wù))是指在JavaScript主線程上執(zhí)行時(shí)間超過50毫秒的任務(wù)。這些任務(wù)可能是復(fù)雜的計(jì)算、大量數(shù)據(jù)處理、DOM操作或其他耗時(shí)的操作。

我們可以通過以下方式來獲?。?/p>

new PerformanceObserver((entryList) => {
    var list = entryList.getEntries();
    var entry = list[list.length-1];
    if(entry){
        console.log('LongTask',entry.startTime)
    }
}).observe({type: 'longtask', buffered: true});

一般我們?nèi)∽詈笠粋€(gè)就是長任務(wù)的總耗時(shí)。這個(gè)值越低,性能越高。

二. 性能指標(biāo)計(jì)算測(cè)試

貼出案例代碼:

function test() {
    const entry = performance.getEntriesByType('navigation')[0]
    const {
        domComplete, secureConnectionStart, domInteractive, domContentLoadedEventStart, domainLookupEnd,
        domainLookupStart, connectEnd, connectStart, responseStart, requestStart, responseEnd, loadEventStart, domContentLoadedEventEnd, fetchStart, redirectEnd, redirectStart
    } = entry
    // redirectTime
    const redirectTime = redirectEnd - redirectStart
    // appcacheTime
    const appcacheTime = domainLookupStart - fetchStart
    // DNS解析時(shí)間
    const dnsTime = domainLookupEnd - domainLookupStart
    // TCP建立時(shí)間
    const tcpTime = connectEnd - connectStart
    // ssl 時(shí)間
    const sslTime = connectEnd - secureConnectionStart
    // requestTime 讀取頁面第一個(gè)字節(jié)的時(shí)間(請(qǐng)求時(shí)間)
    const requestTime = responseStart - requestStart
    // 返回響應(yīng)時(shí)間
    const responseTime = responseEnd - responseStart
    // domContentLoadedEventEnd - domContentLoadedEventStart
    const domLoaded = domContentLoadedEventEnd - domContentLoadedEventStart
    // loadEventEnd - loadEventStart
    const loadTime = loadEventStart - domContentLoadedEventEnd
    const dom1 = domInteractive - responseEnd
    // 解析dom樹耗時(shí)
    const dom2 = domComplete - domInteractive
    console.log('********各個(gè)階段的消耗耗時(shí)********')
    console.log('redirectTime', redirectTime)
    console.log('appcacheTime', appcacheTime)
    console.log('dnsTime', dnsTime)
    console.log('tcpTime', tcpTime, '其中包括ssl時(shí)間', sslTime)
    console.log('TTFB(請(qǐng)求響應(yīng)耗時(shí))', requestTime)
    console.log('Trans(內(nèi)容傳輸耗時(shí))', responseTime)
    console.log('解析`DOM`階段', dom1)
    console.log('加載`DOM`階段', dom2, '其中包括(domContentLoadedEventEnd - domContentLoadedEventStart)', domLoaded)
    console.log('load事件耗時(shí)', loadTime)


    console.log('********校驗(yàn)時(shí)間差********')
    console.log('***********校驗(yàn) responseStart - fetchStart差值**************');
    console.log('responseStart - fetchStart', responseStart - fetchStart)
    console.log('appCache + dns+ tcp + requestTime 總和:', appcacheTime + dnsTime + tcpTime + requestTime)

    console.log('***********校驗(yàn) domInteractive - fetchStart差值**************');
    const tmp = appcacheTime + dnsTime + tcpTime + requestTime + responseTime
    const diff = domInteractive - fetchStart
    console.log('domInteractive - fetchStart', diff)
    console.log( 'appCache + dns+ tcp + request + response, 總和:', tmp, ', 空白時(shí)間', diff - tmp)
    console.log('空白時(shí)間(就是文檔解析和構(gòu)建DOM樹的過程),即DOM1(domInteractive - responseEnd)', dom1)

    // 算一下domCompelete - fetchStart
    console.log('domCompelete - fetchStart', domComplete - fetchStart)

    console.log('********FCP********')
    const fcp = performance.getEntriesByName('first-contentful-paint')[0].startTime
    console.log("LCP(通過performance.getEntriesByName('first-contentful-paint')計(jì)算出來的)", fcp)

    console.log('********LCP********')
    new PerformanceObserver((entryList) => {
        var maxSize = 0;
        var renderTime = 0;
        for (var entry of entryList.getEntries()) {
            // 渲染的內(nèi)容看最大值
            if (entry.size > maxSize) {
                maxSize = entry.size;
                renderTime = entry.startTime;
            }
        }
        console.log('LCP', renderTime)
    }).observe({ type: 'largest-contentful-paint', buffered: true });
    console.log('********LongTask********')
    new PerformanceObserver((entryList) => {
        var list = entryList.getEntries();
        var entry = list[list.length - 1];
        if (entry) {
            console.log('LongTask', entry.startTime)
        }
    }).observe({ type: 'longtask', buffered: true });
}

復(fù)制這段代碼到瀏覽器中,然后運(yùn)行test()即可,結(jié)果如下:(FCP打印錯(cuò)了)
性能優(yōu)化 - 前端性能監(jiān)控和性能指標(biāo)計(jì)算方式,性能優(yōu)化,前端

代碼里主要打印了各個(gè)階段的耗時(shí)時(shí)長。我們主要看下下半部分的校驗(yàn)部分。再把上面的圖搬過來對(duì)照著看:
性能優(yōu)化 - 前端性能監(jiān)控和性能指標(biāo)計(jì)算方式,性能優(yōu)化,前端

2.1 衡量網(wǎng)絡(luò)請(qǐng)求響應(yīng)時(shí)間的指標(biāo)

從發(fā)起網(wǎng)絡(luò)請(qǐng)求(fetchStart)到服務(wù)器開始響應(yīng)(responseStart)的時(shí)間間隔。

  • responseStart - fetchStart的差值為257毫秒。
  • 而這個(gè)差值由:appCache + dns+ tcp + requestTime 4個(gè)階段連接而成,4個(gè)階段的時(shí)間總和為256.5毫秒,基本上接近。

2.2 衡量頁面加載速度的指標(biāo)

從發(fā)起網(wǎng)絡(luò)請(qǐng)求(fetchStart)到DOM解析完成(domInteractive)的時(shí)間間隔

  • domInteractive - fetchStart的差值為1328毫秒。
  • 而這個(gè)差值由:appCache + dns+ tcp + request + response + 空白時(shí)間 部分組成(空白時(shí)間就是上圖的紅色框部分)。
  • 我們可以看到,前5個(gè)區(qū)域的時(shí)間總和大概是:480毫秒??瞻讜r(shí)間則848毫秒。
  • 我們又計(jì)算了domInteractive - responseEnd的差值,實(shí)際上就是DOM1,也就是加載DOM的時(shí)間,時(shí)間差為848毫秒,相吻合。

綜上所述:

  • 頁面加載速度的指標(biāo)可以由:DNS+TCP+Request+Response+DOM加載完畢耗時(shí) 的總和來決定。

另外我們還能看出來,LCP的計(jì)算可以幾乎為:domInteractive - fetchStart, 當(dāng)然你用PerformanceObserver進(jìn)行監(jiān)聽也是可以的。

這里代表頁面加載速度,此時(shí)DOM僅僅是解析完成,如果想看DOM也加載完成的耗時(shí),看指標(biāo)domComplete - fetchStart。

2.3 TTI(Time to Interactive)衡量頁面可交互性的指標(biāo)

TTI:表示從頁面開始加載到用戶可以與頁面進(jìn)行交互的時(shí)間。它的計(jì)算方式如下:

  1. FCP 時(shí)間為起始時(shí)間
  2. 查找到指示有5s的靜默窗口時(shí)間(沒有長任務(wù)并且不超過兩個(gè)正在執(zhí)行的GET請(qǐng)求)。
  3. 向后搜索靜默窗口前的最后一個(gè)長任務(wù),如果沒有找到長任務(wù),則在FCP上停止。
  4. TTI 是在安靜窗口之前最后一個(gè)長任務(wù)的結(jié)束時(shí)間(如果沒有找到長任務(wù),則與FCP相同)

性能優(yōu)化 - 前端性能監(jiān)控和性能指標(biāo)計(jì)算方式,性能優(yōu)化,前端

建議大家使用谷歌官方提供的:tti-polyfill

import ttiPolyfill from './path/to/tti-polyfill.js';

ttiPolyfill.getFirstConsistentlyInteractive(opts).then((tti) => {
  // Use `tti` value in some way.
});

當(dāng)然,也可以使用一種較為粗略的方式來計(jì)算:

  1. 首先我們理解一下TTI,是從頁面開始加載到用戶可以與頁面進(jìn)行交互的時(shí)間。
  2. 頁面開始加載,我們是不是可以看做fetchStart的時(shí)間。
  3. 頁面進(jìn)行交互的時(shí)間,那這個(gè)時(shí)候dom肯定是加載完畢了。我們按照非常極限的思路去想,這個(gè)是不是可以看做dom加載完畢的時(shí)間點(diǎn),即domComplete。
  4. 那么TTI ≈ domComplete - fetchStart

例如我用Lighthouse計(jì)算出來的TTI
性能優(yōu)化 - 前端性能監(jiān)控和性能指標(biāo)計(jì)算方式,性能優(yōu)化,前端
使用:domComplete - fetchStart 計(jì)算出來的值:

function getTTI(){
    const entry = performance.getEntriesByType('navigation')[0]
    const {
        domComplete,
        fetchStart
    } = entry

    console.log('TTI', domComplete - fetchStart)
}
getTTI()

結(jié)果如下:
性能優(yōu)化 - 前端性能監(jiān)控和性能指標(biāo)計(jì)算方式,性能優(yōu)化,前端

2.4 TBT(Total Blocking Time)

TBT就是衡量從FCP時(shí)間點(diǎn)到TTI這個(gè)時(shí)間點(diǎn)的時(shí)間區(qū)間內(nèi),所有超過50毫秒的長任務(wù)的總耗時(shí)。(這個(gè)看下來難以通過編碼的方式來實(shí)現(xiàn)計(jì)算,也無法預(yù)估)文章來源地址http://www.zghlxwxcb.cn/news/detail-610994.html

2.5 總結(jié)

  1. 我們?cè)跒轫撁孀鲂阅鼙O(jiān)控的時(shí)候,LCPFCP是我們的幾個(gè)重要關(guān)注對(duì)象。
  2. LCP可以通過PerformanceObserver進(jìn)行檢測(cè)。
  3. FCP可以通過performance.getEntriesByName('first-contentful-paint')[0].startTime獲取。
  4. 頁面性能的發(fā)部分?jǐn)?shù)據(jù)都可以從performance.getEntriesByType('navigation')[0]這里面獲取到。
  5. 如果你想衡量網(wǎng)絡(luò)請(qǐng)求響應(yīng)時(shí)間的指標(biāo):responseStart - fetchStart,代表從發(fā)起網(wǎng)絡(luò)請(qǐng)求(fetchStart)到服務(wù)器開始響應(yīng)(responseStart)的時(shí)間間隔。
  6. 如果你想衡量頁面加載速度的指標(biāo):domInteractive - fetchStart,代表從發(fā)起網(wǎng)絡(luò)請(qǐng)求(fetchStart)到DOM解析完成(domInteractive)的時(shí)間間隔。
  7. domComplete - fetchStart 這個(gè)差值基本上囊括了最核心的部分。包括了從開始獲取頁面資源到 DOM 解析完成的整個(gè)過程,其中包括了網(wǎng)絡(luò)請(qǐng)求、資源加載、解析 HTML、構(gòu)建 DOM 樹等操作。

到了這里,關(guān)于性能優(yōu)化 - 前端性能監(jiān)控和性能指標(biāo)計(jì)算方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 項(xiàng)目性能優(yōu)化—性能優(yōu)化的指標(biāo)、目標(biāo)

    項(xiàng)目性能優(yōu)化—性能優(yōu)化的指標(biāo)、目標(biāo)

    性能優(yōu)化的目標(biāo)實(shí)際上是為了更好的用戶體驗(yàn): 一般我們認(rèn)為用戶體驗(yàn)是下面的公式: 用戶體驗(yàn) = 產(chǎn)品設(shè)計(jì)(非技術(shù))+ 系統(tǒng)性能 ≈ 系統(tǒng)性能 = 快 那什么樣的體驗(yàn)叫快呢? 一般我們認(rèn)為網(wǎng)站頁面的加載速度在3秒以內(nèi)就可以稱作合格了,加載速度越趨近于0,越快。 3秒定理

    2024年03月15日
    瀏覽(20)
  • SkyWalking_apm性能監(jiān)控指標(biāo)介紹

    SkyWalking_apm性能監(jiān)控指標(biāo)介紹

    什么是skywalking Skywalking概述: 一個(gè)優(yōu)秀的項(xiàng)目,除了具有高拓展的架構(gòu)、高性能的方案、高質(zhì)量的代碼之外,還應(yīng)該在上線后具備多角度的監(jiān)控功能?,F(xiàn)在企業(yè)中的監(jiān)控服務(wù)也有很多,Skywalking除了提供多維度、多粒度的監(jiān)控之外,也提供了良好的圖形化界面以及性能剖析、服

    2023年04月20日
    瀏覽(16)
  • Jmeter性能指標(biāo)監(jiān)控:CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)

    Jmeter性能指標(biāo)監(jiān)控:CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)

    jmeter版本:jmeter5.1.1 插件資源(可自己官網(wǎng)下載或從以下網(wǎng)盤中獲?。?鏈接:https://pan.baidu.com/s/1vBr85BLuhhENrnWrFTDGhg 提取碼:ywr4 獲取插件的最簡單方法是安裝Plugins Manager,然后只需在Jmeter中單擊復(fù)選框即可安裝任何其他插件。 1)下載 jmeter-plugins-manager-1.3.jar文件 下載地址:

    2024年02月08日
    瀏覽(27)
  • 性能測(cè)試監(jiān)控指標(biāo)及分析調(diào)優(yōu)指南

    性能測(cè)試監(jiān)控指標(biāo)及分析調(diào)優(yōu)指南

    ? 一、哪些因素會(huì)成為系統(tǒng)的瓶頸 ? CPU: 如果存在大量的計(jì)算,他們會(huì)長時(shí)間不間斷的占用CPU資源,導(dǎo)致其他資源無法爭奪到CPU而響應(yīng)緩慢,從而帶來系統(tǒng)性能問題,例如頻繁的FullGC,以及多線程造成的上下文頻繁的切換,都會(huì)導(dǎo)致CPU繁忙,一般情況下CPU使用率75%比較合適

    2024年02月16日
    瀏覽(32)
  • 大廠性能測(cè)試監(jiān)控指標(biāo)及分析調(diào)優(yōu)指南

    CPU: 如果存在大量的計(jì)算,他們會(huì)長時(shí)間不間斷的占用CPU資源,導(dǎo)致其他資源無法爭奪到CPU而響應(yīng)緩慢,從而帶來系統(tǒng)性能問題,例如頻繁的FullGC,以及多線程造成的上下文頻繁的切換,都會(huì)導(dǎo)致CPU繁忙,一般情況下CPU使用率75%比較合適。 內(nèi)存: Java內(nèi)存一般是通過jvm內(nèi)存進(jìn)

    2024年02月04日
    瀏覽(34)
  • 性能測(cè)試監(jiān)控指標(biāo)及分析調(diào)優(yōu) | 京東云技術(shù)團(tuán)隊(duì)

    1、CPU,如果存在大量的計(jì)算,他們會(huì)長時(shí)間不間斷的占用CPU資源,導(dǎo)致其他資源無法爭奪到CPU而響應(yīng)緩慢,從而帶來系統(tǒng)性能問題,例如頻繁的FullGC,以及多線程造成的上下文頻繁的切換,都會(huì)導(dǎo)致CPU繁忙,一般情況下CPU使用率75%比較合適。 2、內(nèi)存,Java內(nèi)存一般是通過jv

    2024年02月06日
    瀏覽(25)
  • MySQL性能監(jiān)控全掌握,快來get關(guān)鍵指標(biāo)及采集方法!

    MySQL性能監(jiān)控全掌握,快來get關(guān)鍵指標(biāo)及采集方法!

    數(shù)據(jù)庫中間件監(jiān)控實(shí)戰(zhàn),MySQL中哪些指標(biāo)比較關(guān)鍵以及如何采集這些指標(biāo)了。幫助提早發(fā)現(xiàn)問題,提升數(shù)據(jù)庫可用性。 監(jiān)控哪類指標(biāo)? 如何采集數(shù)據(jù)? 第10講監(jiān)控方法論如何落地? 這些就可以在MySQL中應(yīng)用起來。MySQL是個(gè)服務(wù),所以可借用Google四個(gè)黃金指標(biāo)解決問題: 1.1 延

    2024年02月02日
    瀏覽(23)
  • unity 性能優(yōu)化指標(biāo)

    內(nèi)存需要關(guān)注項(xiàng)目以及閾值推薦: Mono 堆內(nèi)存: ?? 影響 GC 耗時(shí), 存在泄露風(fēng)險(xiǎn),控制在 80M 以下。 ????? PSS ????????????????? : ?? 進(jìn)程在 RAM 中實(shí)際使用的空間地址大小 ??? 內(nèi)存峰值控制在硬件總內(nèi)存 0.5~0.6? 以下,閃退風(fēng)險(xiǎn)才低。中端機(jī)型 900M Reserved Total

    2024年02月07日
    瀏覽(29)
  • 【大數(shù)據(jù)監(jiān)控】Grafana、Spark、HDFS、YARN、Hbase指標(biāo)性能監(jiān)控安裝部署詳細(xì)文檔

    【大數(shù)據(jù)監(jiān)控】Grafana、Spark、HDFS、YARN、Hbase指標(biāo)性能監(jiān)控安裝部署詳細(xì)文檔

    Grafana 是一款開源的數(shù)據(jù)可視化工具,使用 Grafana 可以非常輕松的將數(shù)據(jù)轉(zhuǎn)成圖表(如下圖)的展現(xiàn)形式來做到數(shù)據(jù)監(jiān)控以及數(shù)據(jù)統(tǒng)計(jì)。 解壓 配置 mapping 文件 修改spark的metrics.properties配置文件,讓其推送metrics到Graphite_exporter namenode.yaml datanode.yaml 配置 hadoop-env.sh yarn.yaml 配置 ya

    2023年04月21日
    瀏覽(19)
  • 【FPGA】優(yōu)化設(shè)計(jì)指南(二):性能指標(biāo)

    【FPGA】優(yōu)化設(shè)計(jì)指南(二):性能指標(biāo)

    Fmax可通過時(shí)序報(bào)告計(jì)算得出。在Vivado中,可通過命令report_timing_summary生成時(shí)序報(bào)告.WNS越大越好. 輸入到輸出的延遲通常用時(shí)鐘周期個(gè)數(shù)來表示,稱為Latency,該指標(biāo)也反映了設(shè)計(jì)的流水級(jí)數(shù)。Latency越小越好。但Latency小意味著流水級(jí)數(shù)低,這可能會(huì)導(dǎo)致Fmax降低。 可通過命令

    2024年04月28日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包