1. 程式人生 > >QPS(req/sec 每秒請求數)、PV 、RT (響應時間) 之間的關係

QPS(req/sec 每秒請求數)、PV 、RT (響應時間) 之間的關係

在進行系統性能壓測和系統性能優化的時候,會涉及到QPS,PV,RT相關的概念, 本文總結一下QPS,PV,RT之間的關係,放在部落格備忘,本文參考了之前在淘寶工作時候的一些資料。

QPS是什麼?

QPS:單個程序每秒請求伺服器的 成功次數 
QPS = req/sec = 請求數/秒

QPS如何統計?

QPS統計方式 [一般使用 http_load 進行統計] 
QPS = 總請求數 / ( 程序總數 * 請求時間 )

根據QPS推算PV:

單臺伺服器每天PV計算: 
公式1:每天總PV = QPS * 3600 * 6 
公式2:每天總PV = QPS * 3600 * 8

根據QPS,PV推算伺服器數量

伺服器數量 = 每天總PV / 單臺伺服器每天總PV

峰值QPS和機器計算公式: 
原理:每天80%的訪問集中在20%的時間裡,這20%時間叫做峰值時間 
峰值時間每秒請求數(QPS): ( 總PV數 * 80% ) / ( 每天秒數 * 20% ) 
峰值機器數量: 峰值時間QPS / 單臺機器的QPS

例子: 
問:每天300w PV 的在單臺機器上,這臺機器需要多少QPS? 
答:( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS) 
問:如果一臺機器的QPS是58,需要幾臺機器來支援? 答:139 / 58 = 3

最佳執行緒數:

效能壓測的情況下,起初隨著使用者數的增加,QPS會上升,當到了一定的閥值之後,使用者數量增加QPS並不會增加,或者增加不明顯,同時請求的響應時間卻大幅增加。這個閥值我們認為是最佳執行緒數。

為什麼要找最佳執行緒數

  1. 過多的執行緒只會造成,更多的記憶體開銷,更多的CPU開銷,但是對提升QPS確毫無幫助
  2. 找到最佳執行緒數後通過簡單的設定,可以讓web系統更加穩定,得到最高,最穩定的QPS輸出

最佳執行緒數的獲取:

  1. 通過使用者慢慢遞增來進行效能壓測,觀察QPS,響應時間
  2. 根據公式計算:伺服器端最佳執行緒數量=((執行緒等待時間+執行緒cpu時間)/執行緒cpu時間) * cpu數量
  3. 單使用者壓測,檢視CPU的消耗,然後直接乘以百分比,再進行壓測,一般這個值的附近應該就是最佳執行緒數量。

影響最佳執行緒數的主要因素:

  1. IO

IO開銷較多的應用其CPU執行緒等待時間會比較長,所以執行緒數量可以開的多一些,相反則執行緒數量要少一些,其實有兩種極端,純IO的應用,比如proxy,則執行緒數量可以開到非常大(實在太大了則需要考慮執行緒切換的開銷),這種應用基本上後端(比如這個proxy是代理搜尋的)的QPS能有多少,proxy就有多少。

  1. CPU

對於耗CPU的計算,這種情況一般來講只能開到CPU個數的執行緒數量。但是並不是說這種應用的QPS就不高,往往這種應用的QPS可以很高,因為耗CPU計算的應用,往往處理單次請求的時間會很短。

QPS和執行緒數的關係

  1. 在最佳執行緒數量之前,QPS和執行緒是互相遞增的關係,執行緒數量到了最佳執行緒之後,QPS持平,不在上升,甚至略有下降,同時響應時間持續上升。

  2. 同一個系統而言,最佳執行緒數越多,QPS越高


轉載於:http://www.tuicool.com/articles/JjIzMr

相關推薦

QPSreq/sec 請求PV RT 響應時間 之間關係

在進行系統性能壓測和系統性能優化的時候,會涉及到QPS,PV,RT相關的概念, 本文總結一下QPS,PV,RT之間的關係,放在部落格備忘,本文參考了之前在淘寶工作時候的一些資料。 QPS是什麼? QPS:單個程序每秒請求伺服器的 成功次數 QPS = req/sec

JMeter 像 LoadRunner 那樣實時檢視事務(TPS)事務響應時間(TRT)

出處:http://blog.csdn.net/defonds/article/details/54576604熟悉 LoadRunner 的朋友一定不會對其 TPS(每秒事務數)、TRT(事務響應時間) 等檢視感到陌生,因為這是壓力測試最為關鍵的兩個指標。JMeter 以其

linux curl請求一次 成功後終止

#!/bin/bash while [ true ]; do /bin/sleep 2 #幾秒請求一次 rst=`curl -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' -H 'User-Agen

rxjava2定時器請求一次資料

專案進行的過程中有個需求是在20秒內每秒請求一次資料,請求成功的json中有個欄位,如果有這個欄位代表請求成功,如果沒有則繼續請求,直到20秒結束,20秒結束則失敗 本來最開始採用countDownTimer來做,很簡單就搞定了,但是專案引進了rxjava,那

Vue專案跨域設定,axios跨域不成功的一個小問題 Vue CLI3跨域請求,Vue proxyTable配置,Access-Control-Allow-Origin

Vue專案,因為前後端分離,所以在請求後端介面時,時常遇到跨站問題, 2、如果前後端部署在同一個域名,就不會有跨域問題,但一般是生產環境部署是同一個域名下,但在開發環境時,並不是同域名呀,所以開發時呼叫介面返回類似“No 'Access-Control-Allow-Or

網站效能測試指標QPS,TPS,吞吐量,響應時間詳解

常用的網站效能測試指標有:吞吐量、併發數、響應時間、效能計數器等。 併發數 併發數是指系統同時能處理的請求數量,這個也是反應了系統的負載能力。 響應時間 響應時間是一個系統最重要的指標之一,它的數值大小直接反應了系統的快慢。響應時間是指執行一個請求從開始到最後收到響應資料所

lamp-日誌設置訪問日誌切割不記錄靜態文件日誌緩存文件過期時間

lamp 訪問日誌 訪問日誌切割 設置靜態文件不記錄日誌 設置緩存靜態文件過期時間 訪問日誌不記錄指定類型的文件 在網站大多數元素為靜態文件,比如圖片、css、js等,這些靜態文件都可以不用記錄,我們只需要記錄哪個ip訪問了那個網頁就可以; 編輯配置文件 vim /usr/local/ap

TPSQPSPVUV等

TPS(吞吐量): 單位時間內處理請求的數量,即 每秒處理的事務數。 QPS: 每秒查詢率(Query Per Second) ,每秒的響應請求數,也即是最大吞吐能力;一般使用 http_load 進行統計。 每天80%的訪問集中在20%的時間裡,這2

Koa與Node.js開發實戰2——使用Koa中介軟體獲取響應時間視訊演示

學習架構:     在實戰專案中,經常需要記錄下伺服器的響應時間,也就是從伺服器接收到HTTP請求,到最終返回給客戶端之間所耗時長。在Koa應用中,利用中介軟體機制可以很方便的實現這一功能。程式碼如下所示: 01 const koa = require('koa');

Nginx限制IP併發連線處理請求

為了防止伺服器被惡意採集或ddos攻擊給搞死, 所以給限個速。 這裡主要使用Nginx的ngx_http_limit_req_module和ngx_http_limit_conn_module來控制訪問量. 這兩個模組在Nginx中已內建, 在nginx.conf檔案

Nginx如何限制每個客戶端處理請求

req bsp sta info http 處理請求 共享 img evel nginx.conf 演示: limit_req_zone $binary_remote_addr zone=one:10m rate=2r/m;#以用戶IP作為key 開辟共

jQuery基礎Ajax,load(),getJSON(),getScript(),post(),ajax(),同步/異步請求

發送請求 它的 fun 使用 json格式 單元素 生成 set log 1.使用load()方法異步請求數據 使用load()方法通過Ajax請求加載服務器中的數據,並把返回的數據放置到指定的元素中,它的調用格式為: load(url,[data],[callb

向後端請求據 以及像後端發送據要求刪除據和添加數據

doc content request 使用 style except 刪除數據庫 cal data 刪除數據和添加數據只能後端操作 刪除數據和添加數據都要用到的html(一)部分 <!DOCTYPE html><html lang="en">&

struts2封裝客戶端請求3種封裝方式

空指針異常 必須 nis png pri pan this drive .cn 長話短說,直接進入主題. 1.屬性驅動 action的屬性名稱必須和jsp輸入項的name屬性保持一致; 必須要在action類中提供該屬性的set方法,但有時候會出錯,為了保險起見,我們把g

springmvc之json的請求客戶端發送json據到服務端

index.jsp null 字符串 n-2 func mda 客戶 請求 spring index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncodi

excel導入sqlserver據庫大數據量,可控制數量

content 列名 rip containe creat use 提示 導入 null 數據庫代碼 USE [Test] GO /****** Object: Table [dbo].[Table_1] Script Date: 11/07

Vue--axios:vue中的ajax異步請求發送和請求

lan his src 操作 ajax請求 itl func gin 出錯 一.使用axios發送get請求 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <me

QPS相關的概念收集吞吐量TPSQPS並發響應時間RT

臺電腦 接受 邏輯 .cn 客戶 lan 頁面 增長 value 一、概念: 1、響應時間(RT) 響應時間是指系統對請求作出響應的時間。直觀上看,這個指標與人對軟件性能的主觀感受是非常一致的,因為它完整地記錄了整個計算機系統處理請求的時間。由於一個系統通常會提供許多

Nginx並發連接下載速度限制,防攻擊殺手鐧

意思 bsp p s address ket agen 將在 hit sun 1.限制IP訪問頻率:HttpLimitZoneModule 限制並發連接數實例limit_zone只能定義在http作用域,limit_conn可以定義在http server location

5據庫中插入一條記錄-學習筆記

每5秒向數據庫中插入一條記錄-學習筆記 import java.sql.SQLException; import java.util.Timer; import java.util.TimerTask; import java.util.UUID; import cn.itcast.web.dao.Syste