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萬/小時。