『壹』 如何做壓力測試
一個壓力測試的流程:
1、明確測試目標
2、制定測試計劃
3、實施測試,收集參數
4、分析測試結果
5、給出優化方案
一 、明確測試目標:如果是客戶的需求,那需要向客戶確認,有清楚的性能指標參數,測試時就是保證系統達到該指標並能良好運轉,即壓力測試。如果是自己的系統需要有一個評估,那就需要完整的得到該系統的幾個臨界點,拿到完整的性能曲線,從而來分析部署情況,即為性能測試。不管是哪個,知道了需求,才能制定計劃。
性能測試的目標是發現重大的系統瓶頸。你可以想像一個系統由一系列的瓶頸組成;發現並改善一個瓶頸往往會在其他地方產生一個新的瓶頸。例如,我曾為一運行微軟Windows CE的器件部門工作。我們發現的第一大性能問題體現在某一具體硬體環境下的內存管理中。我們把問題分離出來,改善了內存分配的效率。爾後再次運行我們的測試,又找到了一個新的瓶頸,這次體現在網路吞吐量上(throughput)。解決了這個問題後,我們接著又為下一個瓶頸改善而工作,然後再下一個,直到整個系統都達到了性能目標。要記住的是:關鍵在於要盡早訂立性能目標,否則你可能不知道什麼時候該停止性能測試。
二、制定測試計劃:確定使用什麼工具,著重哪些參數,設置線程數,方法執行次數,執行時間,是否多個介面同時進行測試等等。
三、實施測試,收集參數:選一個施壓工具,來向部署好的服務發起高並發請求,同時關注和收集性能參數。這個是我們花費時間最多的地方。通常該階段需要反復執行,來得到想要的數據。通常來說,我們可以使用JMeter LR AB 自己寫多線程等各種方式,之後介紹一下JMeter。
四、分析測試結果:即根據上一節的參數介紹來進行參數分析。
五、給出優化方案:如果是代碼邏輯耗費cpu,就優化演算法;如果是redis等資料庫耗時,就增加節點,減少讀取,讀寫分離,使用內存等;如果是外在條件限制,則與外部們溝通問題,共同優化等等。
『貳』 怎樣測試伺服器壓力
下載並安裝WAST;
1.設置並行連接數;
2.設置持續時間;
3.其餘設置;
註:所有以上的選項可以根據自己的需要進行設置。
設置完成後就可以進行壓力測試。測試的步驟如下:
第一步,點擊工具欄上的「New Script」按鈕,在打開的面板中點擊「Nanual」按鈕創建一個新的測試項目。在打開的窗口中對它進行設置,在主選項中的Server中填寫要測試的伺服器的IP地址。這里我們填寫192.168.1.20。在下方選擇測試的Web連接方式,這里的方式Verb選擇get。Path選擇要測試的Web頁面路徑,這里填寫/Index.asp即動網的首頁文件,WAST可以設置更多的Path。
第二步,在「Settings」功能設置中將Stress Level (Threads)線程數設置為1000。然後點工具中的灰色三角按鈕即可進行測試。測試過程中我們可以從伺服器的任務管理器中看到CPU使用率已經達到100%,損耗率達到最大。在CMD窗口中使用命令netstat -an,可以看到客戶端的IP地址在伺服器上的80埠進行了非常多的連接,而且Web網站已經打不開了,提示過多用戶連接。
『叄』 網站伺服器如何做訪問壓力測試
網站伺服器的壓力測試我覺得主要有一些幾點。
1.協議這邊基本上以http或者https為主了,如果使用其他協議需要分析其打解包的方法。
2.要產生一定的壓力,壓力源這邊一定要有保證。一般都是用機器人來模擬壓力,關於機器人的邏輯可以根據具體業務來開發。
3.需要觀察在一定壓力下,伺服器的各項性能指標(cpu,內存,IO,網路流量)進行觀察,比如內存是否有泄漏,cpu利用率過高的情況。
4.壓力測試應該是一個持續性的過程,在這個過程中需要統計伺服器的性能數據,包括tps,以及機器的負載情況等。據此可以分析伺服器的瓶頸在何處,後續可以針對優化。
5.目前大部分的伺服器都部署在Linux系統上,測試同學還需要掌握相關的Linux命令以便可以更好的測試。
如果你覺得前面的太麻煩,可以來WeTest伺服器壓力測試高並發,實時性能報表,專家級性能優化建議,目前我們正在做網站壓測這一塊,你要做的僅僅是填下被測的URL即可,壓力源、數據統計這些瑣碎的工作交給我們就行了。
『肆』 游戲伺服器的壓力測試應該如何進行自己寫機器人還是LR等工具
對於游戲後台性能,評測標准不只單單是TPS(每秒處理多少個XX請求),因為當你的游戲伺服器上線後,不存在一群玩家只發XX請求的壓力場景。所以,游戲後台受到的現網請求壓力永遠是多場景混合的,在這樣的壓力下,後台能支撐多少人同時在線,才是一個游戲壓測者需要得到的有價值的測試結論。
要得到可支撐的"最大同時在線人數",主要做好2件事:
1、設計你的類現網壓力模型
在現網真實壓力里,不論壓力大小如何變化,現網環境如何變化,一個游戲類型和玩法設計定型後,永遠有2個壓力宏觀數據保持不變:a. 各介面的壓力比例不變, b.玩家平均每分鍾操作頻率不變。因此,壓力測試目標就轉變成了如何模擬符合ab數據的壓力。
對於a,首先從同類型游戲或者本游戲內測階段,日誌插樁,收集各個介面的調用比例;然後,將介面比例轉化為場景比例,如同時會有個2%完結登陸、15%玩家戰斗、20%玩家拉取好友列表、10%玩家賭博(一個手游場景例子)。
對於b,同樣在內測階段收集玩家平均操作頻率。
此時有了a和b,就可以構造出一分鍾內玩家同時在線的真實壓力模型了。
2、用壓測工具構造出符合壓力模型的壓力
這個可以自己寫,也可以使用現成的壓測工具。現在市面上的壓測工具很多,但很多都是專注於TPS這個參數,不符合游戲行業壓測的關注點-同時在線人數。最近騰訊開放平台推出了一款針對游戲後台的壓測工具還不錯,在騰訊游戲開發中已經被廣泛使用的,現在正式對外,建議你看看http://wetest.qq.com/gaps
『伍』 多台伺服器負載均衡的壓力測試要怎麼做
負載均衡是演算法上的問題,按常規軟體測試的方式來。
如果負載沒問題,那理論上壓力測試只要測單個服務就行了。
『陸』 如何用Jmeter做壓力測試
在「伺服器名稱或ip」設置127.0.0.1,埠號設置:8080,「方法」設置post,路徑設置網站登錄的地址,如「/exam/operatorAction」。
登錄需傳入用戶、密碼。在「同請求一起發送參數」列表中添加參數。參數值根據web應用設置。如login_user=0001;login_password=1;actFlag=login。
一般網站登錄後,在tomcat中生成了session,之後訪問其他頁面將無需再次登錄,前提是瀏覽器需支持cookie。在jmap中也同樣,如要繼續訪問其他頁面,還需做下面關鍵的設置。
Apache JMeter
是Apache組織開發的基於Java的壓力測試工具。用於對軟體做壓力測試,它最初被設計用於Web應用測試,但後來擴展到其他測試領域。 它可以用於測試靜態和動態資源,例如靜態文件、Java小服務程序、CGI 腳本、Java 對象、資料庫、FTP伺服器, 等等。JMeter 可以用於對伺服器、網路或對象模擬巨大的負載,來自不同壓力類別下測試它們的強度和分析整體性能。