23
雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例 拓元售票 邱光宗

雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例

  • Upload
    kt-chiu

  • View
    7.437

  • Download
    6

Embed Size (px)

Citation preview

Page 1: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例

雲端系統對爆量的測試與準備 -

以張惠妹秒殺售票為例

拓元售票

邱光宗

Page 2: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例
Page 3: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例

台灣第一的售票系統

運動 演唱會 影展

拓元售票與其子公司,元氣娛樂 自2012年起,每年銷售兩百萬張票

Page 4: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例

我們的發展歷史

拓連 成立於2000 網站資料庫專案製作

售票 系統

元氣娛樂 ibon售票系統供應商

授權 拓元 成立於2013

2003開始服務

2014成為子公司

以技術為股份

法人股東

增資

Page 5: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例
Page 6: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例

售票方式的變化

1996

年代售票系統啟用,開創網路/端點售票型態

10,000張/4~6小時

2011

ibon售票系統團隊初試啼聲,完成演唱會秒殺任務

100,000張/1小時

2014

智慧型手機使用率超越個人電腦後,售票系統的下一步?

100,000張/10分鐘

Page 7: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例

Ver. 1 - 2003 Internet

Users

UI

Database

Web

Application

Database

Overloaded

Page 8: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例

Ver. 2 - 2007

UI

Database

API

Service

UI

Web

Application

Internet

Users

Web Server

Overloaded

2008年,台灣7-Eleven在近5,000

家店內,建置了ibon機台,成為當時國內數量最大的標準化末端設備

Page 9: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例

Ver. 3 - 2009

UI

Database

API

Service

UI

Web

Application

Internet

Users

全省5,000

家7-Eleven

店內

ibon

Intranet

In

CVS

POS

Overloaded

Customers

Queue in

Stores

Page 10: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例

有些變化發生了

雲端服務成熟 行動裝置成長

Affordable large-size

structure

Kiosks to mobile

phones

Page 11: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例

Ver. 4 - 2014 Internet

Users

X10,000

UI

Database

?

UI

Web

Application

120,000 張票在12 分鐘完售

Page 12: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例
Page 13: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例

我們的目標

• 售票越快越好,但是要保留消費者選擇的可能性

• 保護主要資料庫

• 讓UI伺服器可以無限制(?)擴充

• 所有伺服器的資訊保持同步

• 做好即時備援方案

Page 14: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例

tixCraft System - UI

Amazon S3

Amazon Route 53

Elastic Load Balancing

DynamoDB

Amazon EC2

UI Servers

Auto Scaling

CloudFront

Static Files

Page 15: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例

tixCraft System - API

DynamoDB

Amazon EC2

API Servers

Auto Scaling

Elastic Load Balancing

tixCraft Ticketing

Server Ticketing database

Page 16: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例
Page 17: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例

售票的任務

• 爆炸性的人流

▫ 自動擴展來不及,因此需要在開賣前估算出量

• 選區選位的即時性

▫ 目前仍有30~60秒的不完全同步,將利用其他服務改善

• 金流與備案

▫ 線上刷卡是否撐得住? 備案為何?

Page 18: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例

壓力測試

• 模擬客戶數 ▫ 以50,000個同時要求為單位

▫ 模擬方式:開多台機器同步送出多個要求

• AWS限制 ▫ EC2 instances:申請10,000

▫ DynamoDB: Throughput拉至r/w各200,000

Page 19: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例

檢查清單 • 依使用者操作流程

• 依資料進入流程

• 依各連外接入點

• 障礙與備案討論 ▫ UI→監控、加機器

▫ DynamoDB→拉高Throughput、table分配

▫ API→自動擴展、死命加

▫ Payment

收單刷卡掛點 - 批次轉虛擬帳號+公告

無法進入刷卡頁 - 批次轉虛擬帳號+公告

AWS payment掛點 - 替換機器+人工對帳

虛擬帳號自動對帳異常 - 人工對帳

▫ 其他伺服器異常→切換備援機

障礙發生

Page 20: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例

實際狀況

• 開賣前10 min – 檢視機器數

• 開賣前 1 min – 觀察session數

• 開賣後 3 min – 發現結帳問題

• 開賣後 10 min – 處理

• 開賣後 15 min – 完售與公告

Page 21: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例

金流狀況與改善方向

• 拓元訂單產生速度

▫ 每秒約200~300筆,最快每秒500+筆

• 銀行收單速度

▫ 一般銀行最多到每秒30筆

▫ 經改善後,目前收單行可拉到每秒75筆

▫ NCCC理論上可以到每秒100筆,但未經驗證

• 改善方法

▫ 網站前端拉長導至收單行的時間

▫ 利用ATM虛擬帳號收單,限制繳款時間在1小時內

Page 22: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例
Page 23: 雲端系統對爆量的測試與準備 - 以張惠妹秒殺售票為例

拓元售票

邱光宗

[email protected]