雙十一臨近,怎樣讓買家流暢地秒殺? ——騰訊WeTest獨家開放電商產品壓測服務

商業轉載請聯繫騰訊WeTest得到受權,非商業轉載請註明出處。
原文連接:http://wetest.qq.com/lab/view/347.htmlphp

WeTest 導讀

十一月臨近,一年一度的電商大戲「雙十一」又將隆重出場,目前各大商家已經開始各種優惠券的發放,各種大促的商品表單也已經提早流出,即將流入各個用戶的購物車中。html

做爲這些活動的載體,產品宣傳、商品購買、交易結算、客戶反饋以及售後服務都是電商產品(包括網站、APP、小程序等形式)很是重要的功能,但當雙十一臨近,電商產品要面對大量級用戶羣體涌入,流量猛增的局面,性能表現每每就成爲了成功的關鍵。前端


雙十一的流量挑戰

在優化電商產品的性能表現前,首先要了解一下電商產品的訪問邏輯,以電商網站爲例:chrome

電商網站的核心內容,包括了Web服務器、應用服務器和數據庫服務器,其中前端Web服務器負責接收並處理來自用戶的HTTP請求,並生成Web頁面反饋給用戶;中間的應用服務器負責執行其中的業務邏輯;後臺數據庫和文件服務器負責存儲用戶、產品信息及狀態。數據庫

爲了提高訪問的性能,有的網站會在數據庫服務器前部署數據緩存設備。外圍部署負載均衡服務器,負責在海量用戶訪問與多臺服務器間進行負載分擔。小程序

對於電商產品來講,當流量變高,成百上千的服務器和其餘設備面對海量用戶的訪問,會遇到這樣的場景:有的用戶在不斷查詢商品信息,有的用戶在註冊會員,有的用戶在修改購物車信息,有的用戶在下單付款,有的用戶在秒搶商品,等等。瀏覽器

此時若不重視承載能力,會形成嚴重的後果。好比國慶期間鹿晗公佈戀情致使微博宕機,以及過去幾年iPhone新機發布致使官網崩潰,都是因爲對流量突增沒有足夠的承載能力致使的。
圖片描述緩存

而這些現象,都給用戶帶來了很大的困擾,並且用戶體量越大,影響的波及面就越廣,不只影響用戶口碑,也影響產品收入。若是把產品的月收入平攤到每一分鐘的話,你們能夠經過30分鐘,60分鐘,乃至12小時,24小時計算具體的損失金額,還要加上所以產生的用戶流失以及品牌口碑影響。服務器

因此,如何在「雙十一」這樣火熱的節點保證用戶順暢訪問網站,成了一個重大的挑戰。cookie

電商產品的壓測方案

那麼,怎麼樣才能讓電商網站在面對活動流量高峯的時候可以提供正常服務呢?容量規劃,壓力測試以及壓測環境的配置是電商網站必需要經歷的考驗。

尤爲是壓力測試,是整個電商網站活動前的實戰演習,可以提早預知網站性能表現的瓶頸與故障點。

1、預估流量狀況

電商網站背後的系統一般分爲兩部分,一部分是導購,主要的做用是爲用戶推薦各式各樣的商品,提供搜索服務,給用戶挑選商品帶來便利;另外一部分就是交易,簡單來講就是電商網站下單、搶購等活動的過程。

兩部分的流量形式是不一樣的。導購部分的流量會呈現爲一個慢慢上漲的曲線,對於服務器來講,流量的壓力是慢慢增長的;而交易部分的流量,倒是陡然上升的,特別是在某個搶購活動中,壓力會瞬間增加到一個高峯,沒有給人和機器任何的反應和決策時間,這也是電商產品承載能力要求比其餘的產品高的重要緣由之一。

可是這個高峯會是多少?不少人在事前並不知道,若是要模擬真實的壓力場景,不一樣的壓力形成的測試成本都不一樣,定高了,成本高,定低了,沒效果,所以要想讓壓力測試既能知足足夠的流量壓力,又把測試的成本壓縮到最小,活動籌備以前對於流量的預估很是重要。

阿里巴巴在雙十一活動前一般也會進行壓力的預估,將其叫作」容量規劃「。活動流量會有多少?峯值會到多少?電商網站的開發人員須要內心有數。

2、場景化壓測

在實際電商活動開始後,用戶會從四面八方涌入產品,如何去模擬用戶的真實行爲,造成一個最接近真實的壓測場景是電商產品壓測第二件須要作的事情。

電商產品一般有不少接口,用戶在訪問過程當中可能接觸其中的某幾個接口,一種壓測的方式就是針對這全部的接口進行統一的壓測,增長相同的壓力,算出一個系統的容量,而後再根據這個系統的容量狀況擴展到一個個集羣。

這種方法有一個缺陷,就是若是這個系統某個接口出現了問題,整個集羣都會崩潰。

而場景化壓測能夠避免這類問題。在實際的壓測場景中,流量很大一部分都會被分流,因爲每一個用戶的購物流程都不同,所以對於電商網站上的接口受到的壓力都會不一樣,能夠實現用最少的服務器支撐最大的流量。

那麼,通常電商購物會有哪些場景呢?如下舉三個例子。

場景一:登陸註冊,訪問我的中心

用戶在進入電商產品後,會有查看本身訂單狀況的需求,所以,「登陸「」註冊「以及」我的中心「會成爲流量較高的接口。

場景二:商品遍歷

「商品遍歷「指的是用戶在下單購買前,對不一樣的商品頁進行訪問的過程,而此時用戶已經進入了登陸狀態,會帶着登陸態對不一樣的頁面進行訪問,此時不一樣的商品頁面接口會承受比較大的壓力。

場景三:購買下單

這多是電商網站併發壓力最高的一個接口,購買按鈕,購物車頁面以及付費接口都會面臨很大的瞬時壓力。

在確認完「雙十一「活動中承受壓力可能最高的幾個場景以後,產品開發或測試人員就能夠根據場景配置相應的測試用例了。

3、線上壓測配置

配置測試用例,實現真實壓力,一般須要一個可以真實模擬海量用戶的測試工具,WeTest壓測大師爲電商行業提供了一個適用的測試環境,提供了」上下文變量「、」全局參數化「等功能,能夠知足電商產品大部分的測試需求。

「上下文變量「實現」用戶登陸」、」購買下單「場景

「上下文變量「實現的是將用戶登陸時的用戶信息傳輸到下一個頁面中,對於電商平臺來講,能夠真實模擬用戶登陸後,點擊了」購買「,進入了購買頁面。如下是操做介紹:

一、進入壓測大師首頁,選擇一個已有的項目進入,如沒有項目能夠新建項目
圖片描述

二、建立一個新的URL測試,以下圖:
圖片描述

三、在測試設置部分,填寫壓力預估的最大人數
圖片描述

這裏當配置人數大於400時,爲防範非法攻擊等現象,須要對被測域名進行認證,點擊域名認證按照提示認證便可。

四、在「客戶端請求「點擊」上下文變量「,開始配置
圖片描述

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

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

那麼」提取規則「應該填寫什麼呢?咱們須要在URL頁面中去尋找這個」鍵值「。

首先在chrome瀏覽器中輸入第一個URL,點擊F12,點擊Network,刷新一下頁面以後點擊最左側的」setcookie_prep.php「,找到對應的header「Set-Cookie「,後面order_id後的值,就是咱們將要傳輸給下一個URL的信息。
圖片描述

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

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

「全局參數化「實現」商品遍歷「場景

「全局參數化「實現的是經過自動更改」index「字段中的參數,實現遍歷電商平臺上全部商品頁面,對電商平臺上全部的商品頁面模擬真實的用戶壓力。

圖片描述

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

二、點擊「添加「,添加參數,將參數名修改成想要測試的字段,好比上面的」index「字段。另外參數化形式中有」自增「、」隨機值「和」定長「三種配置方式。

「自增「能夠設置」最大值「和」最小值「,好比最小值設置1,最大值設置100,就能夠自定義服務器壓力,遍歷電商平臺上參數值爲1-100的全部商品;

「隨機值「能夠實如今自定義範圍內隨機對某商品頁面進行壓力測試;

「定長「經過設置必定長度下的數值,在這個範圍內的全部商品頁面進行隨機的壓力測試,好比定長設置爲3,則會在」000-999「」aaa-zzz「之間進行隨機的壓力測試。

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

圖片描述
「全局參數化「下的」定長「參數設置

對電商平臺來講,要進行壓測的部分不止是遍歷全部商品頁還有模擬真實用戶購買那麼簡單,還會有搜索,聊天,收貨,評價等更多的功能,本文經過兩個簡單的場景示例,能夠幫助電商網站把測試成本降到最小,把測試效果放到最大,避免讓電商平臺的買家由於沒法付款而流失。

作好這些,才能作出完整的電商產品。


WeTest壓測大師 服務了包括王者榮耀、龍之谷手遊、火影忍者等多款高星級手遊, QQ、NOW直播等明星產品,更是服務了攜程、京東、特侖蘇以及各種規模的電商產品,這次推出」電商行業壓測解決方案「,但願可以幫助開發者真實模擬電商用戶使用場景,幫助開發者發現服務器端的性能瓶頸,進行鍼對性的性能調優。在保證用戶流暢體驗的同時,也能下降服務器採購和維護成本,實現用戶與電商開發者的技術雙贏!

「壓測大師」目前已經開放對外,目前更有低至四折的時效資源包優惠,歡迎你們的使用!

體驗地址:http://wetest.qq.com/gaps/

若是對使用當中有任何疑問,歡迎聯繫騰訊WeTest企業qq:800024531

相關文章
相關標籤/搜索