TPS及計算方法

TPS (transaction per second)代表每秒執行的事務數量,可基于測試周期內完成的事務數量計算得出。例如,用戶每分鐘執行6個事務,TPS6?/ 60s?= 0.10 TPS。同時我們會知道事務的響應時間(或節拍),以此例,60秒完成6個事務也同時代表每個事務的響應時間或節拍為10秒
利特爾法則? (Little’s law):
該法則由麻省理工大學斯隆商學院(MIT Sloan School of Management)的教授John Little﹐于1961年所提出與證明。它是一個有關提前期與在制品關系的簡單數學公式,這一法則為精益生產的改善方向指明了道路。
利特爾法則的公式描述為:Lead Time(產出時間)=?存貨數量×生產節拍 ? ? 或 ? ??TH(生產效率)= WIP(存貨數量)/ CT(周期時間)
P.S: 稍后我們會列出負載模型中利特爾法則的應用公式。
我們通過2個示例來看一下此法則是如何在生產環境中發生作用的。
1:假定我們所開發的并發服務器,并發的訪問速率是:1000客戶/分鐘每個客戶在該服務器上將花費平均0.5分鐘,根據little's law規則,在任何時刻,服務器將承擔1000×0.5500個客戶量的業務處理。假定過了一段時間,由于客戶群的增大,并發的訪問速率提升為2000客戶/分鐘。在這樣的情況下,我們該如何改進我們系統的性能??根據little's law規則,有兩種方案:
第一:提高服務器并發處理的業務量,即提高到2000×0.51000?或者
第二:減少服務器平均處理客戶請求的時間,即減少到:2000×0.25500
2:假設你排隊參觀某個風景點,該風景點固定的容納人數是:60人。每個人在該風景點停留的平均時間是:3分鐘。假設在你的前面還排有20個人,問:你估計你大概等多少時間才能進入該風景點。
答案:1小時(3×20=60),和該景點固定的容納人數無關。
為了通過利特爾法則研究負載模型,我們就先要了解兩個因子:響應時間(Response time)和節拍(Pacing)。實際上節拍會超越響應時間對TPS的影響。
示例1:節拍0秒,思考時間0秒
用戶執行5個事務并且每個事務的響應時間是10秒,需要花費50秒完成5個事務,即5/50=0.1 TPS (這里TPS是由響應時間控制)。
示例2:速率15秒,思考時間0秒
用戶執行5個事務且每個事務的響應時間是10秒,但實際由于節拍大于響應時間,所以它優于響應時間控制了事務發生的頻率。完成5個事務需要5*15 = 75秒,產生5/75=0.06667 TPS。
在第二個示例中,平均響應時間小于節拍15秒,需要75秒完成5個迭代,產生了0.06667 TPS。
上面兩個例子中我們假設思考時間為0秒。如果思考時間為2秒,總時間仍是75秒完成5個迭代,產生0.06667 TPS。
節拍為0秒,則 ? ??用戶數 = TPS * ( 響應時間 + 思考時間 )
節拍不為0秒且大于響應時間與思考時間的和,則 ? ??用戶數 = TPS * (速率)
事實上TPS是事務在w.r.t時間的速率,所以也被稱為吞吐量(throughput)。
所以利特爾法則在負載模型中解釋為:系統內平均用戶數 = 平均響應時間 * 吞吐量
N = ( R + Z ) * X
N, 用戶數
R, 平均響應時間(也可能是速率)
Z, 思考時間
X, 吞吐量(如TPS)
如:N (用戶數)=1500,?R (平均響應時間)=10, Z (思考時間)=0,則X (吞吐量)=1500/10=150 TPS

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/451304.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/451304.shtml
英文地址,請注明出處:http://en.pswp.cn/news/451304.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

域名解析服務之DNS查詢類型

在實際應用中DNS查詢主要分為兩種方式查詢:1.遞歸查詢;2.迭代查詢 一般情況下:為了減少資源的消耗,網絡中客戶端與所屬的本地DNS服務器查詢方式通常為遞歸查詢,本地DNS服務器與外部的公共DNS服務器間的查詢方式為迭代查…

MFC Ribbon界面設計

Ribbon是類似于office2007樣式的界面,它替代了傳統的MFC程序里的菜單和工具欄 MFC默認生成的Ribbon功能少,需要我們自己添加一些控件和圖片等元素使界面好看 看下面的一個界面,是VC2010示例里的 看到它與默認Ribbon樣式的區別: 工…

互聯網手機躁動:“周大炮”追逐“雷布斯”

摘要:周鴻祎選擇非自有品牌補貼,可能是看到了小米初期的艱難,也想追求速度,繞開自制手機終端環節。于小米而言,需要解決后續機型承接、持續穩定提升產能;對360而言,需要投入巨量補貼資金&#x…

獲取泛型T的ClassT clazz

在我們搭建框架中往往會用到泛型,我們知道泛型的好處是在編譯的時候檢查類型安全&#xff0c;并且所有的強制轉換都是自動和隱式的&#xff0c;代碼的重用率高 然而有時候<method>的入參并不能直接強制轉換成泛型的類型,比如說下面這段代碼&#xff1a; 很明顯String 類…

寫給大數據開發初學者的話5

見&#xff1a;http://lxw1234.com/archives/2017/01/832.htm 至此&#xff0c;你的大數據平臺底層架構已經成型了&#xff0c;其中包括了數據采集、數據存儲與計算&#xff08;離線和實時&#xff09;、數據同步、任務調度與監控這幾大模塊。接下來是時候考慮如何更好的對外提…

3.spring boot Controller獲取請求參數的值

2019獨角獸企業重金招聘Python工程師標準>>> 1.獲取連接中的參數,使用倒的關鍵詞PathVariable RestController public class HelloController {RequestMapping(value "/hello/{id}",method RequestMethod.GET)public String index(PathVariable("i…

斷開的管道 java.io.IOException: Broken pipe 解決方法

斷開的管道 java.io.IOException: Broken pipe 解決方法一、Broken pipe產生原因分析1.當訪問某個服務突然服務器掛了&#xff0c;就會產生Broken pipe;2.客戶端讀取超時關閉了連接&#xff0c;這時服務器往客戶端再寫數據就發生了broken pipe異常&#xff01;二、方案1.問題一…

登錄與注冊

代碼如下 private void btn_login_Click(object sender, EventArgs e){SqlConnection sqlconnection new SqlConnection();sqlconnection.ConnectionString ConfigurationManager.ConnectionStrings["SQL"].ConnectionString;SqlCommand sqlcommand new SqlComman…

四大電商對壘價格戰:家電高庫存或是推手

摘要&#xff1a;[京東、蘇寧、國美、天貓等電商在家電領域的價格戰&#xff0c;更多是定價方家電廠商的倒逼]  “五一”期間&#xff0c;電商企業發起的價格戰硝煙仍未消散&#xff0c;如今戰火又起。一種較為普遍的看法是&#xff0c;此次價格戰&#xff0c;正是各家電商企…

三分鐘明白 Activiti工作流 -- java運用

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 一、 什么是工作流 以請假為例&#xff0c;現在大多數公司的請假流程是這樣的 員工打電話&#xff08;或網聊&#xff09;向上級提出請…

linux命令 ps -ef 的含義

PS是LINUX下最常用的也是非常強大的進程查看命令//以下這條命令是檢查java 進程是否存在. ps -ef |grep java下面對命令選項進行說明&#xff1a;-e 顯示所有進程。-f 全格式。ps -e 列出程序時&#xff0c;顯示每個程序所使用的環境變量。ps -f 用ASCII字符顯示 樹狀結構 &…

vue-i18n使用及踩坑記錄

使用步驟 1. 安裝 npm i vue-i18n 2. vue-cli下使用 //1. 引入 vue-i18n import Vue from vue import VueI18n from vue-i18n Vue.use(VueI18n)//2. 定義messages const messages {en: {text: {hello: hello world}},zh: {text: {hello: 你好、世界}} }//如果messages字段很多…

idea搭建web項目及tomcat部署總結

該文章為引用文章&#xff0c;原地址為&#xff1a;https://www.cnblogs.com/shindo/p/7272646.html 后面有我自己搭建過程中遇到的問題及解決方案&#xff0c;請參考。 一、創建簡單web項目 1、創建一個web project File -> new Project ->選擇project sdk 為1.6&#x…

Activiti工作流框架學習(一)環境的搭建和數據表的了解

一、什么是工作流 工作流(Workflow)&#xff0c;就是“業務過程的部分或整體在計算機應用環境下的自動化”&#xff0c;它主要解決的是“使在多個參與者之間按照某種預定義的規則傳遞文檔、信息或任務的過程自動進行&#xff0c;從而實現某個預期的業務目標&#xff0c;或者促使…

中國消費者為何不愿為App付費?

Facebook收購Instagram之后&#xff0c;國內的開發者們唏噓不已。Instagram的用戶不過3000萬&#xff0c;卻能賣出10億美元的價格。如果Instagram在國內的話&#xff0c;就算沒被關閉也會被抄襲。如果通過收費來賺錢的話&#xff0c;也會因為黑卡變得顆粒無收&#xff0c;最終很…

什么是交換分區

SWAP就是LINUX下的虛擬內存 分區,它的作用是在 物理內存 使用完之后,將磁盤空間(也就是SWAP分區)虛擬成內存來使用.它和Windows系統的交換文件作用類似&#xff0c;但是它是一段連續的磁盤空間&#xff0c;并且對用戶不可見。

基礎、語法都不是最重要的,學Python最重要的是什么?編程思路!

論述 一些朋友自學python過程中&#xff0c;發現書也能看懂&#xff0c;書上的玩具代碼也能看懂&#xff0c;但為啥自己不能做習題&#xff0c;不能寫代碼解決問題&#xff0c;自己不能動手寫代碼&#xff1f; 原因 初學者沒有學會計算思維、解決問題的方法、編程思路。編程思路…

Windows下啟動,關閉Nginx命令

啟動 直接點擊Nginx目錄下的nginx.exe 或者 cmd運行start nginx 關閉 nginx -s stop 或者 nginx -s quit stop表示立即停止nginx,不保存相關信息 quit表示正常退出nginx,并保存相關信息 重啟(因為改變了配置,需要重啟) nginx -s reload 轉載于:https://www.cnblogs…

什么是守護進程?

守護進程是在后臺運行不受終端控制的進程&#xff08;如輸入、輸出等&#xff09;&#xff0c;一般的網絡服務都是以守護進程的方式運行。守護進程脫離終端的主要原因有兩點&#xff1a;&#xff08;1&#xff09;用來啟動守護進程的終端在啟動守護進程之后&#xff0c;需要執行…

Activiti工作流引擎的使用

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Activiti工作流引擎使用 1.簡單介工作流引擎與Activiti 對于工作流引擎的解釋請參考百度百科&#xff1a;工作流引擎 1.1 我與工作流引…