偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

性能測試知多少之并發(fā)用戶

開發(fā) 測試
我們談?wù)劜l(fā)用戶在性能測試中的來龍去脈。大家都知道我們的性能測試就通過工具模擬多用戶對系統(tǒng)進行操作,對系統(tǒng)造成壓力,來驗證系統(tǒng)的性能。

在做性能測試的時候,我們常常聽到并發(fā)用戶、響應(yīng)時間、吞吐量專業(yè)術(shù)語,也許大家都理解,這里有一個理解的層次與深度概念。最近有看斷念《軟件性能詳解與案例分析》一書,看了他的講解,原來我對這些術(shù)語的理解還是比較膚淺,其實,這里也主要受制于自己的知識面。所以,再拿出來與大家重溫一下。

ps:按照慣例先上個圖,因為看純文字的文章比較累!^_^

并發(fā)用戶數(shù)

  大家都知道我們的性能測試就通過工具模擬多用戶對系統(tǒng)進行操作,對系統(tǒng)造成壓力,來驗證系統(tǒng)的性能(不太標(biāo)準(zhǔn)的解釋)。好多人也簡單的把性能測試當(dāng)成并發(fā)測試。那么這個“多用戶”和“同時”兩個因素缺一不可。只多用戶不同時,很難對系統(tǒng)構(gòu)成壓力;沒有多個用戶,同時的概念也就自然不存在了

并發(fā)的兩種情況

  一種是嚴(yán)格意義上的并發(fā),即所有的用戶在同一時刻做同一件事或操作,這種操作一般指做同一類型的業(yè)務(wù)。比如,所有用戶同一時刻做并發(fā)登陸,同一時刻做表單提交。

  另外一種并發(fā)是廣義范圍的并發(fā),這種并發(fā)與前一種并發(fā)的區(qū)別是,盡管多個用戶對系統(tǒng)發(fā)出了請求或者進行了操作,但是這些請求或都操作可以是相同的,也可以是不同的。比如,在同一時刻有用戶在登錄,有用戶在提交表單。

從服務(wù)器的角度來看并發(fā)

  前面的兩種解釋都是從用戶業(yè)務(wù)的角度來解釋并發(fā)的,因為我們平時所做的性能測試也是從用戶端對業(yè)務(wù)層的操作來進行并發(fā)測試的。

  如果考慮整個系統(tǒng)運行過程中服務(wù)器所承受的壓力是這樣的:在該系統(tǒng)的運行過程中,把整個運行過程劃分為離散的時間點,在每個點上,都有一個“同時向服務(wù)端發(fā)送請求的客戶數(shù)”,這個就是所謂的服務(wù)器所承受的***并發(fā)訪問數(shù)。

真正意義上的并發(fā)不存在

  上面試談了這么多并發(fā),現(xiàn)在又說真正意義上的并發(fā)不存在。何解?學(xué)操作系統(tǒng)原理的同學(xué)都知道,CPU在一個時間點上只能干一件事兒。為什么我們可以邊看電影,邊打字,邊語音。因為CPU很快很快,他可以處理一下電影,再處理一下打字,再處理一下語音。因為它很快,所以,它可以在多個程序之間快速瞬間的切換,給你造成的假象就是它在同時做這些事情。(現(xiàn)在的雙核、四核的CPU另說)

  那么我們的系統(tǒng)在接到用戶的請求后也要調(diào)用CPU來完成某些處理,然后返回給用戶。那么我們對系統(tǒng)有做并發(fā)測試是測什么呢?舉個簡單的例子。假如有一位神醫(yī),他的看病速度非??欤僭O(shè)他的看病速度是不變的;然后有一群接待人員來接待看病的客人,有成千上萬的病人來看病,接待人員要想各種辦法來做好接待工作,使病人更快的看到病。比如,可以事先咨詢病人得的什么病,然后將病人進行分類,比如可以擴大接待室,讓更多的病人可以進到醫(yī)院來看病等。

  神醫(yī)就是我們的CPU,接待人員就是我們的系統(tǒng),病人就用戶,我們做性能測試的目的就是了解接待人員哪個地方給醫(yī)院看病造成了瓶頸。只來一個病人,醫(yī)院的看病速度與服務(wù)很好。一下子來十萬個病人各種問題就出來了。接待人員的服務(wù)態(tài)度下降,多余的人員跟本進不到醫(yī)院去,醫(yī)院的洗手間不夠用,造成病人無法上則所而離開,這些都屬于系統(tǒng)問題。所以,我們一般測試的目的是看醫(yī)院的接待能力。

系統(tǒng)用戶數(shù)與同時在線人數(shù)

  在實際的性能測試中,經(jīng)常接觸到與并發(fā)用戶相關(guān)的概念還有“系統(tǒng)用戶數(shù)”與“同時在線人數(shù)”下面通過一個實例來描述他們之間的差別。

  假設(shè)有一個網(wǎng)站,注冊用戶才能登錄使用各種功能,如上傳頭像,閱讀專家文章等。該系統(tǒng)有20萬注冊用戶,這就是說有20萬用戶可以使用這個網(wǎng)站的所有功能,20萬就是這個網(wǎng)站的“系統(tǒng)用戶數(shù)”,網(wǎng)站有一個在線統(tǒng)計功能,從統(tǒng)計數(shù)據(jù)中可以看到,同時登錄網(wǎng)站的人數(shù)的***記錄是2萬,就是有2萬人同時用瀏覽器打開著這個網(wǎng)站。2萬就是“同時在線人數(shù)”

  那么系統(tǒng)的并發(fā)用戶數(shù)是多少呢?2萬么?NO!這2萬只表示在系統(tǒng)***峰時有這么多用戶登錄了網(wǎng)站,并不表示實際服務(wù)器的承受壓力。因為服務(wù)器承受壓力還與具體的用戶訪問模式相關(guān),在這2萬用戶中考察某一個時間點對用戶發(fā)出請求數(shù),可以會大大縮水。那么,該系統(tǒng)的服務(wù)端承受的***并發(fā)訪問數(shù)是多少呢?這個取決于業(yè)務(wù)并發(fā)用戶數(shù)和業(yè)務(wù)場景,一般可以通過服務(wù)器日志的分析得到。

求并發(fā)用戶數(shù)公式

在實際的性能測試工作中,測試人員一般比較關(guān)心的是業(yè)務(wù)并發(fā)用戶數(shù),也就是從業(yè)務(wù)的角度關(guān)注應(yīng)該設(shè)置多少個并發(fā)數(shù)比較合理。

下面找一個典型的上班簽到系統(tǒng),早上8點上班,7點半到8點的30分鐘的時間里用戶會登錄簽到系統(tǒng)進行簽到。公司員工為1000人,平均每個員上登錄簽到系統(tǒng)的時長為5分鐘??梢杂孟旅娴姆椒ㄓ嬎?。

    C=1000*5/30=166.7

C表示平均并發(fā)用戶數(shù),那么對這個簽到系統(tǒng)每秒的平均并發(fā)用戶數(shù)為166

當(dāng)然,在性能測試上,任何公式都不是嚴(yán)謹(jǐn)?shù)模钪匾氖菍ο到y(tǒng)做出有效正確的分析。

原文鏈接:http://www.cnblogs.com/fnng/archive/2012/06/25/2562943.html

【編輯推薦】

  1. 高效的單元測試Rails該怎樣進行
  2. 淺談單元測試方法和步驟
  3. 關(guān)于手機測試用例設(shè)計的幾件事
  4. 介紹幾種測試工作量的估算方法
  5. C++多線程調(diào)試和測試的注意事項

責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2012-06-28 13:44:55

測試性能測試并發(fā)

2017-07-14 10:51:37

性能優(yōu)化SQL性能分析

2013-03-21 11:20:00

性能測試性能調(diào)優(yōu)測試

2013-03-01 09:42:36

IaaS云安全數(shù)據(jù)加密

2012-02-13 22:50:59

集群高可用

2024-08-06 10:07:15

2023-03-01 22:28:15

Redis高可用

2022-07-24 13:55:12

shell操作系統(tǒng)程序員

2012-02-23 17:03:37

2010-08-16 09:15:57

2021-12-04 11:17:32

Javascript繼承編程

2013-12-23 14:00:31

Windows 8.2Windows 8.1

2025-04-14 08:50:00

Google ADK人工智能AI

2013-08-02 09:42:37

BYODBYOC云存儲

2022-01-06 16:20:04

Java排序算法排序

2010-09-29 09:28:04

DHCP工作原理

2022-05-08 18:02:11

tunnel隧道云原生

2018-12-12 15:01:22

開源存儲 軟件

2009-03-06 19:19:55

2021-12-09 06:41:56

Python協(xié)程多并發(fā)
點贊
收藏

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