從川普勝選、雙十一購物來看服務器性能的測試思路

導讀

沒有流量,產品煩惱;流量太大,開發人員困擾。川普勝選癱瘓了加拿大移民局網站,雙十一的購物熱潮也影響了衆多網站服務的速度,每一次大事件都給服務器帶來了無上的壓力。在流量高峯的日子裏,購物,狂歡,是其餘人的事情;定位風險,預防風險,纔是測試人員的使命。php

北京時間2016年11月9日,週三,美國共和黨參選人川普(Donald Trump)贏得了美國大選,成爲了新的一屆美國總統。而後,發生了一件有趣的事,加拿大移民局官網癱瘓了! 
這裏寫圖片描述html

網站上寫着:「使用該網站可能面臨延遲現象,咱們正盡力排除問題,感謝您耐心等候」 
緣由是有至關一部分美國人表示若是川普當選,他們就要移民加拿大,而此時一位加拿大議員就將自家移民局的網站連接發了出去,而後悲劇就產生了……chrome

從美國東部時間星期二8點至半夜,谷歌上「如何搬去加拿大」點擊量暴增1500%。到了週三凌晨,加拿大移民局官網完全癱瘓……不過,福克斯新聞網也表示,這很正常,每次大選加拿大移民局網站都會迎來一場移民申請高峯。瀏覽器

每四年的十一月都有一次訪問高峯給服務器帶來了巨大的壓力。這熟悉的場景好像咱們每一年都有? 
在美國,這現象叫作「美國大選」,在中國,咱們叫「雙十一」……服務器

2009年,當時還叫「淘寶商城」的天貓在11月11日舉辦了促銷活動,活動的初衷很簡單,天貓想要營造一個屬於本身的節日,選在這一天的緣由也很簡單,由於光棍節正好處在十一黃金週和聖誕促銷中間,而這時候天氣變化正是人們添置冬裝的時候。雙十一的活動戳中的用戶的心理,也掀起了電商圈的一股驚濤駭浪。 
這裏寫圖片描述cookie

從2009到2015年,天貓的雙十一活動交易額從0.5億上升到了900億,近兩年都可以近乎翻倍的增加,從2012年支付寶交易額達到191億元打破了全球網購單日銷售記錄;到2013年55秒交易額突破1億;再到2014年13小時打破2013年的交易額,天貓每一年都在創造記錄。架構

然而,雙十一的活動也不歷來都是一路順風的,每每在雙十一開始的最高峯時期,支付寶也不止一次的出現過故障的狀況,同加拿大移民局的網站面對申請高峯出現故障同樣,訂單的瞬間暴增會形成多家網銀沒法經過支付寶支付的現象。分佈式

這裏寫圖片描述

在使用了雲計算的狀況下,支付寶這類業內一流的架構在高峯期仍然遇到巨大的挑戰。 爲了保證企業業務在訪問高峯時期依然可以正常運行,不影響用戶體驗和企業收入,在」用戶暴漲「的時間節點以前對產品服務器進行預先的測試是很是必須的,那麼,應該如何進行測試呢?性能

在通常的電商系統中,功能上有搜索,聊天,下單,付費,收貨,評價等諸多功能,對系統都會產生不同的壓力,要對自身的業務進行剖析,權重最高的是哪一個,風險最高的是哪一個,從而進行設計相對應的測試策略。爲了檢驗電商網站自身系統性能,就須要對服務器反覆的測試與迴歸,力求實現最真實的用戶訪問場景。騰訊WeTest服務器性能測試(http://wetest.qq.com/gaps 的「全局參數化設置」與」上下文變量設置「功能幫助用戶實現了模擬用戶的訪問場景。測試

「全局參數化「遍歷電商網站全部商品

騰訊WeTest服務器性能測試的「全局參數化「實現的是經過自動更改」index「字段中的參數,實現遍歷電商平臺上全部商品頁面,對電商平臺上全部的商品頁面模擬真實的用戶壓力。 
這裏寫圖片描述

一、點擊右上角的「全局參數化「的設置按鈕,開始設置全局參數化 
這裏寫圖片描述

二、點擊「添加「,添加參數,將參數名修改成想要測試的字段,好比上面的」index「字段。另外參數化形式中有」自增「、」隨機值「和」定長「三種配置方式。 
「自增「能夠設置」最大值「和」最小值「,好比最小值設置1,最大值設置100,就能夠自定義服務器壓力,遍歷電商平臺上參數值爲1-100的全部商品; 
「隨機值「能夠實如今自定義範圍內隨機對某商品頁面進行壓力測試; 
「定長「經過設置必定長度下的數值,在這個範圍內的全部商品頁面進行隨機的壓力測試,好比定長設置爲3,則會在」000-999「」aaa-zzz「之間進行隨機的壓力測試。 
這裏寫圖片描述

「全局參數化「能夠設置」自增「、」隨機值「和」定長「三種形式

這裏寫圖片描述

「全局參數化「下的」定長「參數設置

具體操做可見以下動圖: 
這裏寫圖片描述

「上下文變量設置「模擬用戶傳輸登陸信息

「上下文變量設置「實現的是將用戶登陸的所包括的用戶信息傳輸到下一個頁面中,對於電商平臺來講,一般表明的是用戶在登陸以後,點擊了」購買「,帶着用戶的登陸信息,進入了購買頁面。

一、經過騰訊WeTest服務器性能測試,在「客戶端請求「點擊」上下文變量「,開始配置 
這裏寫圖片描述

二、「上下文變量設置「是爲了實現URL之間參數信息的傳遞,所以須要點擊右下角的」+一個URL請求「增長一個URL,而後保證第一個URL的」變量名「與第二個URL的字段保持一致 
這裏寫圖片描述

三、「提取方式「一般選擇」鍵值對「較多(具體使用可根據實際狀況),選擇想要傳遞信息的」header名稱「,肯定」提取規則「。」提取規則「中所填寫的就是傳遞到下一個頁面的信息,好比電商平臺用戶的會員信息。

這裏寫圖片描述

那麼」提取規則「應該填寫什麼呢?咱們須要在URL頁面中去尋找這個」鍵值「。 
首先在chrome瀏覽器中輸入第一個URL,點擊F12,點擊Network,刷新一下頁面以後點擊最左側的」setcookie_prep.php「,找到對應的header「Set-Cookie「,後面order_id後的值,就是咱們將要傳輸給下一個URL的信息。 
這裏寫圖片描述

四、完成了」上下文變量「的設置以後,在「測試模型「中的場景中選擇」上下文「模式,分別輸入兩個URL。 
這裏寫圖片描述

五、若是自有服務器,則能夠在「服務器監控「的」添加監控「中設置服務器信息;若是沒有,則能夠點擊」當即執行「開始測試 
這裏寫圖片描述

具體操做可見以下動圖: 
這裏寫圖片描述

總結

對電商平臺來講,要進行壓測的部分不止是遍歷全部商品頁還有模擬真實用戶購買那麼簡單,還會有搜索,聊天,收貨,評價等更多的功能,本文但願經過以上兩個簡單的範例,讓你們瞭解到如何剖析自身的業務特色,而後根據不一樣的特色去測試各自的場景,力求達到最真實的用戶訪問狀況,也爲可能出現的火爆狀況作好準備,避免出現加拿大移民局網站的悲劇,也避免讓電商平臺的買家由於沒法付款而流失。

作好這些,才能作出更好的電商網站。

在流量高峯的日子裏,購物,狂歡,是其餘人的事情;定位風險,預防風險,纔是測試人員的使命。 
騰訊WeTest運用了沉澱十多年的內部實踐經驗總結,經過基於真實業務場景和用戶行爲進行壓力測試,幫助遊戲開發者發現服務器端的性能瓶頸,進行鍼對性的性能調優,下降服務器採購和維護成本,提升用戶留存和轉化率。

功能目前免費對外開放中,歡迎你們的體驗 
體驗地址:http://wetest.qq.com/gaps/ 
若是對使用當中有任何疑問,歡迎聯繫騰訊WeTest企業qq:800024531

參考文章: 
解密天貓雙十一的發展歷程 今年又有什麼新鮮事兒? 
http://sz.winshang.com/news-544595.html 
逃不掉的雙十一 可怕的分佈式架構隱患, 
http://server.it168.com/a2014/1112/1681/000001681959.shtml 
加拿大移民局官網癱瘓!是由於這羣「川普難民」… 
http://www.fr-cn.fr/china/news/18761.html 
加拿大移民官網癱瘓,美國「川普難民」也要來加拿大 
http://www.andyyimin.com/AU/news/588.html

相關文章
相關標籤/搜索