A. linux下如何測試TCP並發數量
查看httpd進程數:
Linux命令:
ps -ef | grep httpd | wc -l
返回結果示例:1388
表示伺服器能夠處理1388個並發請求,這個值回伺服器可根據負載情答況自動調整。
查看伺服器的並發請求數及其TCP連接狀態:
Linux命令:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
返回結果示例:
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057
其中的SYN_RECV表示正在等待處理的請求數;ESTABLISHED表示正常數據傳輸狀態;TIME_WAIT表示處理完畢,等待超時結束的請求數。
B. 怎麼測試自己做的網站的性能
用測試工具,如Loadrunner,專業的性能測試工具。可以模擬虛擬用戶,做負載測試、壓力測試、並發測試。由於網站是你自己做的,那麼可以先從網站的性質入手,估算出這個網站一般是什麼人使用,大致估算出人數。再找出該網站經常使用的功能,如查詢功能、發帖功能等。然後模擬一定數量的虛擬用戶(LR可以設置人數),做並發測試。測試發現並發可以支持10個人,那麼換算後得到的用戶數應該在100人左右,這個要具體分析。關於性能測試的問題可以發到我的郵箱里:1756410608@qq.com
C. 如何測試網站最大並發數
這篇文章解決了很多用戶的難題,就是如何通過最大用戶並發數來確定系統最大用戶數,因為這個問題不解決的話,用戶很難挑選到最為適合自身系統的伺服器,我們來看看這篇文章。以下是作者原文。
本篇主要是性能方面的。
一個系統的最大並發用戶數為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萬/小時。
D. 有系統大量並發訪問,該如何做測試,有什麼建議
用工具做壓力測試,創建大量的虛擬賬號進行測試
E. 網站性能測試主要有哪幾種方法
常見的性能測試方法有以下幾種:
1.負載測試
在這里,負載測試指的是最常見的驗證一般性能需求而進行的性能測試,在上面我們提到了用戶最常見的性能需求就是「既要馬兒跑,又要馬兒少吃草」。因此負載測試主要是考察軟體系統在既定負載下的性能表現。我們對負載測試可以有如下理解:
(1)負載測試是站在用戶的角度去觀察在一定條件下軟體系統的性能表現。
(2)負載測試的預期結果是用戶的性能需求得到滿足。此指標一般體現為響應時間、交易容量、並發容量、資源使用率等。
2.壓力測試
壓力測試是為了考察系統在極端條件下的表現,極端條件可以是超負荷的交易量和並發用戶數。注意,這個極端條件並不一定是用戶的性能需求,可能要遠遠高於用戶的性能需求。可以這樣理解,壓力測試和負載測試不同的是,壓力測試的預期結果就是系統出現問題,而我們要考察的是系統處理問題的方式。比如說,我們期待一個系統在面臨壓力的情況下能夠保持穩定,處理速度可以變慢,但不能系統崩潰。因此,壓力測試是能讓我們識別系統的弱點和在極限負載下程序將如何運行。
例子:負載測試關心的是用戶規則和需求,壓力測試關心的是軟體系統本身。對於它們的區別,我們可以用華山論劍的例子來更加形象地描述一下。如果把郭靖看做被測試對象,那麼壓力測試就像是郭靖和已經走火入魔的歐陽峰過招,歐陽鋒蠻打亂來,毫無套路,盡可能地去打倒對方。郭靖要能應對住,並且不能丟進小命。而常規性能測試就好比郭靖和黃葯師、洪七公三人約定,只要郭靖能分別接兩位高手一百招,郭靖就算勝。至於三百招後哪怕郭靖會輸掉那也不用管了。他只要能做到接下一百招,就算通過。
思考:
我們在做軟體壓力測試時,往往要增加比負載測試更多的並發用戶和交易,這是為什麼?
3.並發測試
驗證系統的並發處理能力。一般是和伺服器端建立大量的並發連接,通過客戶端的響應時間和伺服器端的性能監測情況來判斷系統是否達到了既定的並發能力指標。負載測試往往就會使用並發來創造負載,之所以把並發測試單獨提出來,是因為並發測試往往涉及伺服器的並發容量,以及多進程/多線程協調同步可能帶來的問題。這是要特別注意,必須測試的。
4.基準測試
當軟體系統中增加一個新的模塊的時候,需要做基準測試,以判斷新模塊對整個軟體系統的性能影響。按照基準測試的方法,需要打開/關閉新模塊至少各做一次測試。關閉模塊之前的系統各個性能指標記下來作為基準(Benchmark),然後與打開模塊狀態下的系統性能指標作比較,以判斷模塊對系統性能的影響。
5.穩定性測試
「路遙知馬力」,在這里我們要說的是和性能測試有關的穩定性測試,即測試系統在一定負載下運行長時間後是否會發生問題。軟體系統的有些問題是不能一下子就暴露出來的,或者說是需要時間積累才能達到能夠度量的程度。為什麼會需要這樣的測試呢?因為有些軟體的問題只有在運行一天或一個星期甚至更長的時間才會暴露。這種問題一般是程序佔用資源卻不能及時釋放而引起的。比如,內存泄漏問題就是經過一段時間積累才會慢慢變得顯著,在運行初期卻很難檢測出來;還有客戶端和伺服器在負載運行一段時間後,建立了大量的連接通路,卻不能有效地復用或及時釋放。
6.可恢復測試
測試系統能否快速地從錯誤狀態中恢復到正常狀態。比如,在一個配有負載均衡的系統中,主機承受了壓力無法正常工作後,備份機是否能夠快速地接管負載。可恢復測試通常結合壓力測試一起來做。
提示:每種測試有其存在的空間和目的。當我們接手一個軟體項目後,在有限的資源條件下,選擇去做哪一種測試,這應該根據當前軟體過程階段和項目的本身特點來做選擇。比如,在集成測試的時候要做基準測試,在軟體產品每個發布點要做性能測試。