首先介紹一下pv量:
PV(訪問量):即Page View, 即頁面瀏覽量或點擊量,用戶每次刷新即被計算一次。
UV(獨立訪客):即Unique Visitor,訪問您網站的一台電腦客戶端為一個訪客。00:00-24:00內相同的客戶
端只被計算一次。
IP(獨立IP):即Internet Protocol,指獨立IP數。00:00-24:00內相同IP地址之被計算一次。
***************************
問題:一個系統的日均pv量是8000,那么並發用戶數應該是多少?
1、首先,我覺得應該考察這個系統的業務都有什么,各個之間有什么關聯性。這些PV都分布在哪里業務上。
2、如果這些pv為單一業務,那么還要看用戶在前台的一次操作,會對服務器端產生幾個請求。因為如果網頁中包含圖片、js等內容,用戶一次打開操作,會對服務器產生多個操作。
3、我們假設用戶在前台的一次操作,僅產生一次pv。用戶並發數是指多少用戶同時對服務器產生訪問。對此,我假設了三種訪問情況:
(1)最差情況:8000個用戶同時發起請求,那么並發用戶數應為8000
(2)最好情況:8000個用戶在時間上均勻地發起請求。那么並發用戶數為8000/24*60*60=0.093。折合一分鍾內之有5.5個請求,基本上就沒有並發,只是單個執行。
(3)80~20原則:但是在現實生活中,以上兩種情況發生的概率很小。根據統計學原理,采用80~20原則計算並發用戶數。
8000*0.8/(8*60*60*0.2)=1.11,即每秒中有兩個用戶並發。
可能有人會問:為什么是每秒多少個用戶,不是每小時、每分鍾、每毫秒?
回答:我做一個120人並發查詢的項目,響應時間最小0.047s,最大6.216s,平均0.779s。與服務器的一次業務交互,大約需要1秒鍾。
個人感覺,以小時、分鍾做單位,時間跨度太長;以毫秒做單位,時間跨度又太短。綜上所述,以秒為單位比較合適。
4、lr設置集合點后,每次迭代中,必須全部(或部分)請求得到回復后,才發起下次迭代。所以在迭代周期內我們只發送了一次並發請求,我們在根據80~20原則計算得出的並發用戶數,還要乘以這個迭代周期。
例如我的查詢項目中,迭代周期大約為9秒,所以並發用戶數為1.11*9=9.99,最終得到並發用戶數為10個
個人觀點,如有不妥之處,請指正
8000是並發的訪問數,80~20原則是指80%的工作量會集中在20%的時間內完成,所以用戶訪問系統不是平均,而是集中在某一段時間內。0.8是指 取並發量的80%,0.2是指取工作時間的20%,8*60*60是指每天8小時,每小時60分,每分鍾60秒,就是指每天的工作時間折成秒