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並不會增加,或者增加不明顯,同時請求的響應時間卻大幅增加。這個閥值我們認為是最佳執行緒數。
為什麼要找最佳執行緒數
- 過多的執行緒只會造成,更多的記憶體開銷,更多的CPU開銷,但是對提升QPS確毫無幫助
- 找到最佳執行緒數後通過簡單的設定,可以讓web系統更加穩定,得到最高,最穩定的QPS輸出
最佳執行緒數的獲取:
- 通過使用者慢慢遞增來進行效能壓測,觀察QPS,響應時間
- 根據公式計算:伺服器端最佳執行緒數量=((執行緒等待時間+執行緒cpu時間)/執行緒cpu時間) * cpu數量
- 單使用者壓測,檢視CPU的消耗,然後直接乘以百分比,再進行壓測,一般這個值的附近應該就是最佳執行緒數量。
影響最佳執行緒數的主要因素:
- IO
IO開銷較多的應用其CPU執行緒等待時間會比較長,所以執行緒數量可以開的多一些,相反則執行緒數量要少一些,其實有兩種極端,純IO的應用,比如proxy,則執行緒數量可以開到非常大(實在太大了則需要考慮執行緒切換的開銷),這種應用基本上後端(比如這個proxy是代理搜尋的)的QPS能有多少,proxy就有多少。
- CPU
對於耗CPU的計算,這種情況一般來講只能開到CPU個數的執行緒數量。但是並不是說這種應用的QPS就不高,往往這種應用的QPS可以很高,因為耗CPU計算的應用,往往處理單次請求的時間會很短。
QPS和執行緒數的關係
-
在最佳執行緒數量之前,QPS和執行緒是互相遞增的關係,執行緒數量到了最佳執行緒之後,QPS持平,不在上升,甚至略有下降,同時響應時間持續上升。
-
同一個系統而言,最佳執行緒數越多,QPS越高
轉載於:http://www.tuicool.com/articles/JjIzMr
相關推薦
QPS(req/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
TPS、QPS、PV、UV等
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相關的概念收集(吞吐量(TPS)、QPS、並發數、響應時間(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