秒殺場景的特色:html
定時開始、庫存有限、操做可靠前端
1、開發人員須要注意的事項redis
現有的秒殺活動持續時間短,瞬間數量大,爲了避免影響其餘業務的正常運行,須要把它從業務、技術、數據上作隔離,架構設計須要分幾層來考慮,從客戶請求到數據庫存儲,到最後上線前的壓力測試。數據庫
一、數據庫設計(數據量特別大的狀況下可以使用:分表、分庫、加索引等)緩存
二、redis+session管理服務器
三、參數校驗+全局異常處理網絡
四、前端靜態資源壓縮整合session
五、使用CDN架構
六、緩存併發
七、讀寫分離
隔離(業務隔離、系統隔離、數據隔離)、動靜分離、分層校驗(大量的數據作成是漏斗式設計)
參考連接:http://www.51testing.com/html/62/n-3720162.html
2、壓力測試方案:
首先肯定測試步驟,且同步肯定測試要求,以下:
(1)肯定測試目標:與性能測試不一樣的是,壓力測試的目標是何時系統接近崩潰
(2)肯定關鍵功能:針對核心功能進行壓力測試,如:下單、庫存扣減
(3)肯定負載:不是每一個服務都有高負載的,咱們的測試實際上是要關注那些負載量大的服務,或者是一段時間內系統中某些服務的負載有波動。這些都是測試目標。
(4)選擇環境:建議搭建和生產環境如出一轍的環境進行測試。
(5)肯定監測點:實際上就是對關注的參數進行監視,例如 CPU 負載,內存使用率,系統吞吐量等等。
(6)產生負載:這裏須要從生產環境去獲取一些真實的數據做爲負載數據源,這部分數據源根據目標系統的承受要求由腳本驅動,對系統進行衝擊。建議使用往期秒殺系統的數據,或者實際生產系統的數據進行測試。
(7)執行測試:這裏主要是根據目標系統,關鍵組件,用負載進行測試,返回監視點的數據。模擬不一樣的網絡環境,硬件條件進行有規律的測試。
(8)分析數據:對關鍵服務的壓力測試數據進行分析得知該服務的承受上限在哪裏。對一段時間內有負載波動或者大負載的服務進行數據分析,得出服務改造的方向。
3、性能測試關注點
一、測試的目的:
(1)瞭解秒殺系統在高併發下,系統是否穩定
(2)瞭解秒殺系統性能瓶頸,並進行優化
(3)經過業務場景壓力測試實施,爲系統調優提供數據參考
二、業務分析:
(1)用戶註冊/登陸頁面併發測試
(2)用戶填寫信息頁面併發測試
(3)用戶提交訂單頁面併發測試
(4)後臺數據庫壓力測試
三、測試指標
(1)用戶併發數:15000
(2)交易響應時間:
<=3秒,性能優異,<=5秒性能良好,>=10秒,性能很差接受
(3)交易吞吐量:後臺主機每秒處理事務數
(4)併發交易成功率>=99%
四、測試資源指標
關注服務器資源使用狀況,監控的服務器包括API服務器和數據庫服務器
系統CPU佔用率:<=80%;系統內存使用率:<=80%;系統I/O使用率:<=80%