<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          怎么做服務(wù)壓測(cè)?壓測(cè)關(guān)注什么?

          共 1881字,需瀏覽 4分鐘

           ·

          2022-02-22 19:04

          大學(xué)同學(xué)在日本的IT公司,有想去日本發(fā)展的歡迎交流。一顆種子發(fā)芽了??,一起來把他澆灌成參天大樹??吧!www.tomori-tech.com

          背景

          在業(yè)務(wù)新上線,或者業(yè)務(wù)做活動(dòng),壓測(cè)成為必不可少的一步。但是很多開發(fā)對(duì)如何做好服務(wù)壓測(cè)并沒有特別系統(tǒng)的了解,這篇文章的目的是為了解釋清楚單機(jī)服務(wù)壓測(cè)的目的、做法、誤區(qū),幫助大家更好地達(dá)成壓測(cè)的目的

          壓測(cè)的目的是什么?

          • 檢查性能瓶頸

            服務(wù)的處理能力取決于資源中瓶頸最低的那個(gè)—木桶理論。我們并不總是對(duì)自己的服務(wù)這么自信,壓測(cè)能夠幫我們了解清楚在高壓情況下的表現(xiàn),發(fā)現(xiàn)隱藏的問題。

          • 單機(jī)處理能力(QPS)

            硬件影響了服務(wù)性,但處理能力跟硬件的關(guān)系有的時(shí)候并不是線性的,CPU從2核增加到4核,服務(wù)的能力并不一定會(huì)提高兩倍。

          • 容量規(guī)劃的需要:什么系統(tǒng),什么時(shí)候,需要多少服務(wù)器。

            服務(wù)的責(zé)任人能夠清晰的知道:什么時(shí)候該加機(jī)器、什么時(shí)候應(yīng)該減機(jī)器?雙11等大促場(chǎng)景需要準(zhǔn)備多少機(jī)器,既能保障系統(tǒng)穩(wěn)定性、又能節(jié)約成本

          缺少經(jīng)驗(yàn)的開發(fā),經(jīng)常無法很好達(dá)成三個(gè)目標(biāo)中的任何一個(gè)。后續(xù)的內(nèi)容我們將按照三個(gè)目標(biāo)逐一講述,壓測(cè)中可能存在的誤區(qū)

          性能瓶頸分析

          在分析服務(wù)性能瓶頸的時(shí)候,一般使用perf工具來生成服務(wù)在壓測(cè)時(shí)的火焰圖

          • y 軸表示調(diào)用棧,每一層都是一個(gè)函數(shù)。調(diào)用棧越深,火焰就越高,頂部就是正在執(zhí)行的函數(shù),下方都是它的父函數(shù)。

          • x 軸表示抽樣數(shù),如果一個(gè)函數(shù)在 x 軸占據(jù)的寬度越寬,就表示它被抽到的次數(shù)多,即執(zhí)行的時(shí)間長(zhǎng)。注意,x 軸不代表時(shí)間,而是所有的調(diào)用棧合并后,按字母順序排列的。

          火焰圖就是看頂層的哪個(gè)函數(shù)占據(jù)的寬度最大。只要有”平頂”(plateaus),就表示該函數(shù)可能存在性能問題,需要特別留意和分析所占比例是否與預(yù)期相符。

          誤區(qū)

          1. 調(diào)用量不夠,火焰圖采樣次數(shù)不足:采樣次數(shù)會(huì)導(dǎo)致火焰圖中函數(shù)占比有出入,導(dǎo)致火焰圖缺少

          2. 分析不夠:對(duì)于占用較多的函數(shù),不能深入找出原因,得到合理的解釋。

          單機(jī)處理能力

          一般來說服務(wù)的單機(jī)處理能力主要受設(shè)計(jì)方案、代碼實(shí)現(xiàn)、硬件、第三方依賴共同決定。進(jìn)入壓測(cè)階段,影響單機(jī)處理能力的,也就是硬件了,接下來我們了解下硬件

          CPU

          一般來說CPU核數(shù)越多,主頻越高,服務(wù)的處理處理能力也就越高。當(dāng)然,這里有個(gè)條件,就是每個(gè)CPU在處理的時(shí)候資源是獨(dú)立的,否則當(dāng)兩個(gè)CPU同時(shí)都需要某一個(gè)資源時(shí),其中一個(gè)就需要等待,直到資源閑置才能繼續(xù)。因此,當(dāng)服務(wù)中“鎖”沖突嚴(yán)重時(shí),CPU都浪費(fèi)在線程/進(jìn)程切換,CPU核數(shù)增加也無法帶來處理性能的線性增長(zhǎng)。此時(shí)就需要進(jìn)行鎖沖突優(yōu)化,降低鎖的粒度,甚至使用無鎖服務(wù)。

          內(nèi)存

          內(nèi)存也是影響服務(wù)性能的一個(gè)重要因素。當(dāng)內(nèi)存充足的時(shí)候,內(nèi)存分配和釋放的代價(jià)會(huì)影響服務(wù)的性能。當(dāng)服務(wù)不足的時(shí)候,會(huì)出現(xiàn)Swap分區(qū)的換入換出

          磁盤IO

          無論機(jī)械磁盤,還是固態(tài)硬盤讀寫,磁盤的讀寫速度與內(nèi)存、CPU的速度都不在一個(gè)等級(jí)上。在一般的業(yè)務(wù)型服務(wù)中,經(jīng)常會(huì)出現(xiàn)日志打印過多,磁盤IO瓶頸,導(dǎo)致服務(wù)處理能力與預(yù)期不符。

          微信的服務(wù)在日志打印方面做得很好,所有的日志都直接打印共享內(nèi)存,然后異步刷盤。業(yè)務(wù)就可以放心打日志,不用提心吊膽,隨時(shí)炸彈爆炸。

          誤區(qū)

          1. 壓測(cè)時(shí)不關(guān)心服務(wù)指標(biāo):導(dǎo)致缺少對(duì)系統(tǒng)基本層面的了解,一般監(jiān)控內(nèi)容包括響應(yīng)時(shí)間、吞吐量、錯(cuò)誤率、緩存命中率

          2. 不關(guān)注資源使用情況:包括CPU、內(nèi)存、磁盤IO、網(wǎng)絡(luò)吞吐、DB、Redis、MQ等

          3. 壓測(cè)之后調(diào)整單機(jī)配置,期望單機(jī)性能得到線性增長(zhǎng)

          容量規(guī)劃

          很多開發(fā)在做完壓測(cè)之后,對(duì)容量的準(zhǔn)備和預(yù)估還是沒有概念的,不知道多少容量能支撐整個(gè)系統(tǒng)。隨著流量增加,期望加機(jī)器解決所有的問題。最后往往是所有的期望,全都化作失望。畢竟服務(wù)本身的處理能力,不僅取決于服務(wù)的性能,還取決于依賴的第三方服務(wù)處理能力,例如,Redis單機(jī)處理能力是10w QPS,如果有一個(gè)key的訪問QPS到達(dá)瓶頸,服務(wù)的擴(kuò)展再多的機(jī)器也是無濟(jì)于事。

          容量規(guī)劃怎么做?

          • 流量預(yù)估:通過歷史數(shù)據(jù)(或者結(jié)合業(yè)務(wù)和時(shí)間)預(yù)估業(yè)務(wù)流量會(huì)有多大的系統(tǒng)調(diào)用量

          • 容量評(píng)估:根據(jù)預(yù)估結(jié)果,計(jì)算服務(wù)需要分配多少機(jī)器

          • 場(chǎng)景壓測(cè):針對(duì)重點(diǎn)業(yè)務(wù)場(chǎng)景,進(jìn)行全局性的壓測(cè),根據(jù)壓測(cè)結(jié)果再次調(diào)整。

          source: www.cyningsun.com/02-17-2019/stress-testing.html

          分享&在看

          瀏覽 54
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人V| 欧美性爱网站操 | 国产精品视频免费在线观看 | 黄色成人视频免费网站 | 成人电影久久久久久久 |