Atitit.並發測試解決方案(2),atitit解決方案

來源:互聯網
上載者:User

Atitit.並發測試解決方案(2),atitit解決方案

Atitit.並發測試解決方案(2) -----擷取隨機資料庫記錄 隨機抽取資料 隨機排序

 

1. 應用情境 1

2. 隨機抽取資料原理 1

3. 常用的實現方法:::資料庫隨機函數 1

4. Mssql 的實現 NEWID() 跟rand()  1

5. newid()與rand()的區別 2

6. NEWID() 2

7. 參考 2

 

1. 應用情境

並發測試

 

2. 隨機抽取資料原理

原理是 迴圈所有的ID/記錄,附加隨機函數欄位,然後排序as 這個欄位..

 

3. 常用的實現方法:::資料庫隨機函數

作者::老哇的爪子Attilax艾龍,EMAIL:1466519819@qq.com

轉載請註明來源:http://blog.csdn.net/attilax

 

4. Mssql 的實現 NEWID() 跟rand()
 

  SELECT TOP 10 *

FROM wechatuhstry  

 ORDER BY NEWID() 

或者

 

select   top   10   *,newid()   as   Random   from   ywle where   ywlename='001'   ordey   by   Random

 

 

隨機函數:rand()
在查詢分析器中執行:select rand(),可以看到結果會是類似於這樣的隨機小數:0.36361513486289558,像這樣的小數在實際應用中用得不多,一般要取隨機數都會 取隨機整數。那就看下面的兩種隨機取整數的方法:

 

應該使用newid 不是rand()..newid每row不一樣....rand每次數不一樣.

 

它返回一個GUID

5. newid()與rand()的區別

select top 3 id from  table order by newid()   這一條每運行一次,都產生新的一個隨機的三行結果

而 select top 3 id from  table order by Rand()   運行後每一次的三條記錄是一樣的

Rand()函數在給定命令裡所有行都返回相同的值

你可能不需要得到這樣的結果,則可以給rand()函數提供一個種子值。在下面的代碼中,我們在Rand()函數中給定每一行的productid作為種子值。

 

6. NEWID() 

4650D5AA-E8FE-4721-83E7-EA12C4F7A473

它返回一個GUID

 

newdi()建立 uniqueidentifier 類型的唯一值,類似這樣的樣式 6F9619FF-8B86-D011-B42D-00C04FC964FF
由於select每當掃描得到一條記錄時候均調用該函數,這樣產生每條結果記錄的各不相同值,如果按照此值排序,就類似於產生了隨機記錄的效果

 

 

7. 參考

 

資料庫查詢排序使用隨機排序結果樣本(Oracle_MySQL_MS SQL Server)_oracle_指令碼之家.htm

SQL NEWID()隨機函數 - 蘭松的日誌 - 網易部落格.htm

sql server的隨機函數newID()和RAND() - 無意 - 部落格園.htm

SQL隨機函數NEWID()和RAND() - xiao_mege的日誌 - 網易部落格.htm

newid()與rand()的區別小談 - 遠方 - 部落格園.htm


問WAS性可以測試載入器最多類比多少使用者並發?

50
 
怎測試網站最大並發數

這篇文章解決了很多使用者的難題,就是如何通過最大使用者並發數來確定系統最大使用者數,因為這個問題不解決的話,使用者很難挑選到最為適合自身系統的伺服器,我們來看看這篇文章。以下是作者原文。
本篇主要是效能方面的。
一個系統的最大並發使用者數為1100,怎麼能推算出該系統的支援最大使用者數。
其中使用者效能要求如下:支援100萬註冊使用者
效能需求分析:
1、根據使用者的要求,本系統要支援100萬使用者,其中效能機器配置如何?高峰值是多少?頻寬?等
2、如果都是採用公司的測試環境,那麼本次效能應該做哪幾種效能?效能評測、負載測試、強度測試?
3、怎麼算出並發使用者數?回應時間?
效能指標確定:
因為使用者的效能需求太廣,沒有定到具體的數值。那麼我怎麼開展後繼的工作?1、確定採用公司測試環境,不用考慮環境問題。也就是說,用戶端、服務端以及頻寬等一系統都可以不用考慮,這是固定。
2、考慮此項目組以前開發過的系統效能情況,能否做為一個參考值。解決方案:找出本項目組以並發過二個項目,其效能個項指標進行求權。其中瀏覽功能:並發數為1100,平均回應時間363秒;每使用者平均回應時間為0.33秒。每秒中並發3個使用者。其中一系統使用者已達500萬,另一系統使用者為320萬。並且二系統一直運行正常,但目前的二系統的伺服器各為3台。可以得出一台伺服器為載166萬,甚至更多。(因為伺服器中有求權的關係)
3、100萬使用者,那麼怎麼計算出他的每小時峰值活動使用者數?
解決方案:採用80•20原則計算得到每小時峰值活動使用者數 6.667萬/小時;那麼每秒中的同一功能點點擊並發數應該是18.5。
4、怎麼得其並發數?
解決方案:本系統有多少個功能點?功能點為153個;也就是本系統在高峰值時一功能將被點擊1258次,每秒點擊0.35次。(不考慮間隔時間)考慮以前本項目組的數值。初步設定並發數為1100,主要以瀏覽功能為主、其次是查詢和新增。
5、應該測試那種效能類型經再三考慮,三種效能都進行測試。
執行效能:
評測,依據效能指標確定中的第三點,將使用者的並發設定為300-350,看其情況。負載測試,以1100為起點強度測試,為15小時和24小時為準
效能測試結果:
發現本系統最大使用者支援為1100.失敗使用者最高為209,回應時間為315。可以判斷此系統最大並發數為1100左右。也就說此系統在一台伺服器上可支援150萬使用者數。
根據上述情況,可以得出:
1100使用者並發時,使用者一共回應時間為315秒(即每使用者平均回應時間0.005秒),其中最高產生209個失敗使用者,但成功使用者基本上可以完成後續操作,符合現系統要求的最大穩定使用者數。由此可得出本系統在新增功能點中支援最大使用者並發數為1100。按照1*100比例,計算得到每小時峰值活動使用者數11萬/小時;採用80•20原則計算得出本系統支援註冊使用者數約為165萬。而本系統效能需求大規模支援100萬註冊使用者,由上述的資料我們的系統已達到本系統效能需求。
註:100萬,採用80•20原則計算得到每小時峰值活動使用者數6.667萬/小時。
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.