偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

《性能優(yōu)化》專欄開篇:性能優(yōu)化到底要優(yōu)化什么?

開發(fā) 前端
對于性能優(yōu)化來說,衡量的指標(biāo)有很多,大體上可以分為:性能指標(biāo)、響應(yīng)時(shí)間、并發(fā)量、秒開率和正確性等。我們可以使用下圖來表示這些衡量指標(biāo)。

性能優(yōu)化作為進(jìn)大廠的必備技能,也是區(qū)分中高級程序員、架構(gòu)師水平的重要依據(jù)。從今天開始,冰河帶著大家一起學(xué)習(xí)一個(gè)新的技術(shù)專欄,那就是《性能優(yōu)化》專欄,也就是從今天往后的一段時(shí)間內(nèi),我們一起深入探討性能優(yōu)化相關(guān)的原理、技術(shù)、知識和實(shí)踐。希望各位小伙伴通過此專欄的學(xué)習(xí),能夠徹底吃透性能優(yōu)化,突破自身的技術(shù)瓶頸,進(jìn)入心儀的大廠。

衡量指標(biāo)

對于性能優(yōu)化來說,衡量的指標(biāo)有很多,大體上可以分為:性能指標(biāo)、響應(yīng)時(shí)間、并發(fā)量、秒開率和正確性等。我們可以使用下圖來表示這些衡量指標(biāo)。

接下來,我們就分別說明下這些衡量指標(biāo)。

性能指標(biāo)

性能指標(biāo)又可以包含:吞吐量和響應(yīng)速度。我們平時(shí)所說的QPS、TPS和HPS等,就可以歸結(jié)為吞吐量。有很多小伙伴可能對于QPS、TPS和HPS等不太了解,我們先來說下這幾個(gè)字母的含義。

  • QPS代表的是每秒的查詢數(shù)量。
  • TPS代表的是每秒事務(wù)的數(shù)量。
  • HPS代表的是每秒的HTTP請求數(shù)量。

這些都是與吞吐量相關(guān)的衡量指標(biāo)。

平時(shí)我們在做優(yōu)化工作的時(shí)候,首先要明確需要優(yōu)化的事項(xiàng)。比如:我們做的優(yōu)化工作是要提高系統(tǒng)的吞吐量?還是要提升系統(tǒng)的響應(yīng)速度呢?舉一個(gè)具體點(diǎn)的例子:比如我們的程序中存在一些數(shù)據(jù)庫或者緩存的批量操作,雖然在數(shù)據(jù)的讀取上,響應(yīng)速度下降了,但是我們優(yōu)化的目標(biāo)就是吞吐量,只要我們優(yōu)化后系統(tǒng)的整體吞吐量明顯上升了,那這也是提升了程序的性能。

所以說,優(yōu)化性能不只是提升系統(tǒng)的響應(yīng)速度。

這里,優(yōu)化性能也并不是一味的優(yōu)化吞吐量和優(yōu)化響應(yīng)速度,而是在吞吐量和響應(yīng)速度之間找到一個(gè)平衡點(diǎn),使用有限的服務(wù)器資源來更好的提升用戶體驗(yàn)。

響應(yīng)時(shí)間

對于響應(yīng)時(shí)間來說,有兩個(gè)非常重要的衡量指標(biāo)。那就是:平均響應(yīng)時(shí)間和百分位數(shù)。

(1)平均響應(yīng)時(shí)間

通常,平均響應(yīng)時(shí)間體現(xiàn)的是服務(wù)接口的平均處理能力。計(jì)算方式就是把所有的請求所耗費(fèi)的時(shí)間加起來,然后除以請求的次數(shù)。舉個(gè)簡單的例子:比如:我們向一個(gè)網(wǎng)站發(fā)送了5次請求,每次請求所耗費(fèi)的時(shí)間分別為:1ms,2ms,1ms,3ms,2ms,那么,平均響應(yīng)時(shí)間就是(1+2+1+3+2)/ 5 = 1.8ms,所以,平均響應(yīng)時(shí)間就是1.8ms。

平均響應(yīng)時(shí)間這個(gè)指標(biāo)存在一個(gè)問題:如果在短時(shí)間內(nèi)請求變得很慢,但很快過去了,此時(shí)使用平均響應(yīng)時(shí)間就無法很好的體現(xiàn)出性能的波動問題。

(2)百分位數(shù)

百分位數(shù)就是我們在優(yōu)化的時(shí)候,圈定一個(gè)時(shí)間范圍,把每次請求的耗時(shí)加入一個(gè)列表中,然后按照從小到大的順序?qū)⑦@些時(shí)間進(jìn)行排序。這樣,我們?nèi)〕鎏囟ò俜治坏暮臅r(shí),這個(gè)數(shù)字就是 TP 值。

TP值表示的含義就是:超過 N% 的請求都在 X 時(shí)間內(nèi)返回。比如 TP90 = 50ms,意思是超過 90th 的請求,都在 50ms 內(nèi)返回。

百分位數(shù)這個(gè)指標(biāo)也是很重要的,它反映的是應(yīng)用接口的整體響應(yīng)情況。

我們一般會將百分位數(shù)分為 TP50、TP90、TP95、TP99、TP99.9 等多個(gè)段,對高百分位的值要求越高,對系統(tǒng)響應(yīng)能力的穩(wěn)定性要求越高。

并發(fā)量

并發(fā)量指的是系統(tǒng)能夠同時(shí)處理的請求數(shù)量,反映的是系統(tǒng)的負(fù)載能力。

我們在對高并發(fā)系統(tǒng)進(jìn)行優(yōu)化的時(shí)候,往往也會在并發(fā)量上進(jìn)行調(diào)優(yōu),調(diào)優(yōu)方式也是多種多樣的,目的就是提高系統(tǒng)同時(shí)處理請求的能力。

總體來說,并發(fā)量這個(gè)指標(biāo)理解起來還是比較簡單的,我就不做過多的描述了。

秒開率

秒開率主要針對的是前端網(wǎng)頁或者移動端APP來說的,如果一個(gè)前端網(wǎng)頁或者APP能夠在1秒內(nèi)很平滑的打開,尤其是首頁的加載。此時(shí),用戶就會感到前端網(wǎng)頁或者APP使用起來很順暢,如果超過3秒甚至更長的時(shí)間,用戶就有可能會直接退出前端網(wǎng)頁或者APP不再使用。

所以,在高并發(fā)場景下優(yōu)化程序,不只要對后端程序進(jìn)行優(yōu)化,對于前端和APP也是要進(jìn)行優(yōu)化的。

正確性

正確性說的是無論我們以何種方式,何種手段對應(yīng)用進(jìn)行優(yōu)化,優(yōu)化后的交互數(shù)據(jù)結(jié)果必須是正確的。不能出現(xiàn)優(yōu)化前性能比較低,數(shù)據(jù)正確,而優(yōu)化后性能比較高,反而數(shù)據(jù)不正確的現(xiàn)象。

優(yōu)化需要注意的問題

  • 除非必要,一開始不要優(yōu)化(尤其是開發(fā)階段)
  • 有些優(yōu)化準(zhǔn)則已經(jīng)過時(shí),需要考慮當(dāng)下的軟硬件環(huán)境(不要墨守成規(guī))
  • 不要過分強(qiáng)調(diào)某些系統(tǒng)級指標(biāo),如cache 命中率,而應(yīng)該聚焦性能瓶頸點(diǎn)
  • 不盲從,測試、找到系統(tǒng)的性能瓶頸,再確定優(yōu)化手段
  • 注意權(quán)衡優(yōu)化的成本和收益(有些優(yōu)化可能需要現(xiàn)有架構(gòu)做出調(diào)整、增加開發(fā)/運(yùn)維成本)
  • 優(yōu)化的目標(biāo)是用戶體驗(yàn)、降低硬件成本(降低集群規(guī)模、不依賴單機(jī)高性能)
  • 測試環(huán)境的優(yōu)化手段未必對生產(chǎn)環(huán)境有效(優(yōu)化需要針對真實(shí)情況)
責(zé)任編輯:姜華 來源: 冰河技術(shù)
相關(guān)推薦

2020-03-09 16:43:06

腳本語言瀏覽器JavaScript

2020-11-02 12:47:56

性能優(yōu)化

2021-05-31 08:30:50

監(jiān)控網(wǎng)站性能

2014-12-10 10:12:02

Web

2013-06-09 15:31:35

jQueryjQuery優(yōu)化性能優(yōu)化

2017-08-08 09:45:43

Python性能優(yōu)化

2009-06-16 16:10:59

Hibernate性能

2020-09-19 21:26:56

webpack

2009-09-08 09:45:23

App Engine性

2022-02-16 14:10:51

服務(wù)器性能優(yōu)化Linux

2020-10-19 19:45:58

MySQL數(shù)據(jù)庫優(yōu)化

2011-08-03 16:51:01

jQuery

2021-11-29 11:13:45

服務(wù)器網(wǎng)絡(luò)性能

2021-07-29 14:20:34

網(wǎng)絡(luò)優(yōu)化移動互聯(lián)網(wǎng)數(shù)據(jù)存儲

2018-06-07 08:54:01

MySQL性能優(yōu)化索引

2009-06-30 11:23:02

性能優(yōu)化

2019-03-15 15:00:49

Webpack構(gòu)建速度前端

2019-07-25 13:22:43

AndroidAPK文件優(yōu)化

2018-01-09 16:56:32

數(shù)據(jù)庫OracleSQL優(yōu)化

2019-12-13 10:25:08

Android性能優(yōu)化啟動優(yōu)化
點(diǎn)贊
收藏

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