自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

你了解 QPS、TPS、RT、吞吐量 這些高并發(fā)性能指標(biāo)嗎?

開(kāi)發(fā) 前端
多線程場(chǎng)景,如果把服務(wù)端的線程數(shù)提升到2,那么整個(gè)系統(tǒng)的QPS則為 2*(1000/80) = 25, 可見(jiàn)QPS隨著線程的增加而線性增長(zhǎng),那QPS上不去就加線程唄,聽(tīng)起來(lái)很有道理,公司也說(shuō)的通,但是往往現(xiàn)實(shí)并非如此。

?一、QPS,每秒查詢

QPS:Queries Per Second意思是“每秒查詢率”,是一臺(tái)服務(wù)器每秒能夠相應(yīng)的查詢次數(shù),是對(duì)一個(gè)特定的查詢服務(wù)器在規(guī)定時(shí)間內(nèi)所處理流量多少的衡量標(biāo)準(zhǔn)?;ヂ?lián)網(wǎng)中,作為域名系統(tǒng)服務(wù)器的機(jī)器的性能經(jīng)常用每秒查詢率來(lái)衡量。

二、TPS,每秒事務(wù)

TPS:是TransactionsPerSecond的縮寫,也就是事務(wù)數(shù)/秒。它是軟件測(cè)試結(jié)果的測(cè)量單位。一個(gè)事務(wù)是指一個(gè)客戶機(jī)向服務(wù)器發(fā)送請(qǐng)求然后服務(wù)器做出反應(yīng)的過(guò)程??蛻魴C(jī)在發(fā)送請(qǐng)求時(shí)開(kāi)始計(jì)時(shí),收到服務(wù)器響應(yīng)后結(jié)束計(jì)時(shí),以此來(lái)計(jì)算使用的時(shí)間和完成的事務(wù)個(gè)數(shù)。

QPS vs TPS:QPS基本類似于TPS,但是不同的是,對(duì)于一個(gè)頁(yè)面的一次訪問(wèn),形成一個(gè)TPS;但一次頁(yè)面請(qǐng)求,可能產(chǎn)生多次對(duì)服務(wù)器的請(qǐng)求,服務(wù)器對(duì)這些請(qǐng)求,就可計(jì)入“QPS”之中。如,訪問(wèn)一個(gè)頁(yè)面會(huì)請(qǐng)求服務(wù)器2次,一次訪問(wèn),產(chǎn)生一個(gè)“T”,產(chǎn)生2個(gè)“Q”。

三、RT,響應(yīng)時(shí)間

響應(yīng)時(shí)間:執(zhí)行一個(gè)請(qǐng)求從開(kāi)始到最后收到響應(yīng)數(shù)據(jù)所花費(fèi)的總體時(shí)間,即從客戶端發(fā)起請(qǐng)求到收到服務(wù)器響應(yīng)結(jié)果的時(shí)間。響應(yīng)時(shí)間RT(Response-time),是一個(gè)系統(tǒng)最重要的指標(biāo)之一,它的數(shù)值大小直接反應(yīng)了系統(tǒng)的快慢。

四、并發(fā)數(shù)

并發(fā)數(shù)是指系統(tǒng)同時(shí)能處理的請(qǐng)求數(shù)量,這個(gè)也是反應(yīng)了系統(tǒng)的負(fù)載能力。

五、吞吐量

系統(tǒng)的吞吐量(承壓能力)與request對(duì)CPU的消耗、外部接口、IO等等緊密關(guān)聯(lián)。單個(gè)request 對(duì)CPU消耗越高,外部系統(tǒng)接口、IO速度越慢,系統(tǒng)吞吐能力越低,反之越高。系統(tǒng)吞吐量幾個(gè)重要參數(shù):QPS(TPS)、并發(fā)數(shù)、響應(yīng)時(shí)間。

  • QPS(TPS):(Query Per Second)每秒鐘request/事務(wù) 數(shù)量
  • 并發(fā)數(shù):系統(tǒng)同時(shí)處理的request/事務(wù)數(shù)
  • 響應(yīng)時(shí)間:一般取平均響應(yīng)時(shí)間

理解了上面三個(gè)要素的意義之后,就能推算出它們之間的關(guān)系:

  • QPS(TPS)=并發(fā)數(shù)/平均響應(yīng)時(shí)間
  • 并發(fā)數(shù) =QPS*平均響應(yīng)時(shí)間

六、實(shí)際舉例

我們通過(guò)一個(gè)實(shí)例來(lái)把上面幾個(gè)概念串起來(lái)理解。按二八定律來(lái)看,如果每天 80% 的訪問(wèn)集中在 20% 的時(shí)間里,這 20% 時(shí)間就叫做峰值時(shí)間。

  • 公式:( 總PV數(shù) * 80% ) / ( 每天秒數(shù) * 20% ) = 峰值時(shí)間每秒請(qǐng)求數(shù)(QPS)
  • 機(jī)器:峰值時(shí)間每秒QPS / 單臺(tái)機(jī)器的QPS = 需要的機(jī)器

1、每天300w PV 的在單臺(tái)機(jī)器上,這臺(tái)機(jī)器需要多少Q(mào)PS?

( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)

2、如果一臺(tái)機(jī)器的QPS是58,需要幾臺(tái)機(jī)器來(lái)支持?

139 / 58 = 3

七、最佳線程數(shù)、QPS、RT

1、單線程QPS公式:QPS=1000ms/RT

對(duì)同一個(gè)系統(tǒng)而言,支持的線程數(shù)越多,QPS越高。假設(shè)一個(gè)RT是80ms,則可以很容易的計(jì)算出QPS,QPS = 1000/80 = 12.5

多線程場(chǎng)景,如果把服務(wù)端的線程數(shù)提升到2,那么整個(gè)系統(tǒng)的QPS則為 2*(1000/80) = 25, 可見(jiàn)QPS隨著線程的增加而線性增長(zhǎng),那QPS上不去就加線程唄,聽(tīng)起來(lái)很有道理,公司也說(shuō)的通,但是往往現(xiàn)實(shí)并非如此。

2、QPS和RT的真實(shí)關(guān)系

我們想象的QPS、RT關(guān)系如下:

圖片

實(shí)際的QPS、RT關(guān)系如下:

圖片

3、最佳線程數(shù)量

剛好消耗完服務(wù)器的瓶頸資源的臨界線程數(shù),公式如下:

最佳線程數(shù)量=((線程等待時(shí)間+線程cpu時(shí)間)/線程cpu時(shí)間)* cpu數(shù)量

特性:

  • 在達(dá)到最佳線程數(shù)的時(shí)候,線程數(shù)量繼續(xù)遞增,則QPS不變,而響應(yīng)時(shí)間變長(zhǎng),持續(xù)遞增線程數(shù)量,則QPS開(kāi)始下降。
  • 每個(gè)系統(tǒng)都有其最佳線程數(shù)量,但是不同狀態(tài)下,最佳線程數(shù)量是會(huì)變化的。
  • 瓶頸資源可以是CPU,可以是內(nèi)存,可以是鎖資源,IO資源:超過(guò)最佳線程數(shù)-導(dǎo)致資源的競(jìng)爭(zhēng),超過(guò)最佳線程數(shù)-響應(yīng)時(shí)間遞增。
責(zé)任編輯:武曉燕
相關(guān)推薦

2020-10-19 08:53:08

Redis性能指標(biāo)監(jiān)控

2019-10-14 09:45:49

MySQL數(shù)據(jù)庫(kù)性能

2023-12-29 15:30:41

內(nèi)存存儲(chǔ)

2013-01-19 15:59:36

防火墻山石網(wǎng)科

2024-06-28 11:54:20

2013-06-17 10:19:30

交換機(jī)性能交換機(jī)參數(shù)交換機(jī)

2022-05-02 08:56:04

前端性能指標(biāo)

2010-09-08 11:38:27

2011-05-04 13:53:08

jQuery

2023-11-20 09:48:13

Linux性能指標(biāo)命令

2024-09-20 08:32:21

2019-09-25 08:37:48

MySQL數(shù)據(jù)庫(kù)人生第一份工作

2019-09-29 15:36:01

吞吐量MySQL數(shù)據(jù)庫(kù)

2011-06-07 14:16:38

雙絞線

2011-07-28 14:58:49

HP ProLiant服務(wù)器

2023-11-25 20:16:22

前端

2023-12-17 14:49:20

前端首屏?xí)r間

2023-08-03 14:18:29

Rust阻塞函數(shù)

2023-11-07 15:11:46

Kafka技巧

2018-01-04 09:23:21

WEB服務(wù)器性能
點(diǎn)贊
收藏

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