Upgrade to Pro — share decks privately, control downloads, hide ads and more …

網站壓力測試透過 JMeter on GKE

Brent Chang
December 01, 2019

網站壓力測試透過 JMeter on GKE

ab/siege 壓測工具只能對單一個 URL 進行壓測,若要模擬大量使用者進行特定操作,如登入會員、加入購物車等會無法模擬。
本議程將介紹如何透過瀏覽器外掛程式搭配 JMeter 進行錄製,再搭配 GKE 依照測試量級快速調整 JMeter 分散式架構。

Brent Chang

December 01, 2019
Tweet

More Decks by Brent Chang

Other Decks in Technology

Transcript

  1. 網站壓力測試目的 人數 / 行為 • 網站能否撐過 多少人同時 / 瀏覽首頁 多少人同時

    / 將商品加入購物車 多少人同時 / 留下評論 多少人同時 / 登入後台 ...
  2. 以 opencart 為例 • HTTP POST • 送出產品 id 以及數量

    • 帶 Cookie 加入購物車的 HTTP 要求
  3. • 可用內建的 Proxy 錄製腳本 • GUI / CLI 介面 •

    Windows / Linux / Mac OS • 可做迴圈、邏輯判斷等流程 • 可驗證 Request / Response … 壓測工具 - Apache JMeter
  4. • 可用內建的 Proxy 錄製腳本 • GUI / CLI 介面 •

    Windows / Linux / Mac OS • 可做迴圈、邏輯判斷等流程 • 可驗證 Request / Response … 壓測工具 - Apache JMeter
  5. 手把手教學文件 • 新建 Template 錄製腳本 • 啟動 Proxy • 將

    JMeter CA 安裝到瀏覽器 • 設定瀏覽器 Proxy https://jmeter.apache.org/usermanual /jmeter_proxy_step_by_step.html Apache JMeter - 錄製說明頁
  6. BlazeMeter Plugin 註冊免費會員後: • 錄製瀏覽器行為 • 支援匯出成 JMX / Selenium

    • 具簡易編輯功能 https://chrome.google.com/webstore/d etail/blazemeter-the-continuous/mbop gmdnpcbohhpnfglgohlbhfongabi
  7. BlazeMeter Plugin 註冊免費會員後: • 錄製瀏覽器行為 • 支援匯出成 JMX / Selenium

    • 具簡易編輯功能 https://chrome.google.com/webstore/d etail/blazemeter-the-continuous/mbop gmdnpcbohhpnfglgohlbhfongabi
  8. 壓測腳本做法統整 製作方式 JMeter GUI 自己一步一步刻 JMeter Template JMeter Proxy 錄製腳本

    BlazeMeter 錄製腳本 上手難易度 困難 中等 中等 簡易 腳本可用性 高 中 高 中 ~ 高 適合對象 大神 稍熟之人 所有等級 初心者
  9. 壓測執行方式抉擇 • 用 JMeter GUI 圖形化介面進行壓測 • 用 JMeter CLI

    指令行介面進行 • JMeter Distributed 分散式壓測
  10. 壓測執行方式抉擇 • 用 JMeter GUI 圖形化介面進行壓測 > 最直覺,但也最沒效率 • 用

    JMeter CLI 指令行介面進行 >比 GUI 有效率,也是官方建議方式 • JMeter Distributed 分散式壓測 >若以 CLI 指令方式壓測 還是無法壓到指定量級時使用
  11. 以 Kubernauts 做好的 JMeter 分散式架構為例 • 自動化腳本部署 • 支援 Kubernetes

    / Openshift • 內含 InfluxDB / Grafana https://goo.gl/mkoX9E Kubernauts LTaaS 分散式壓測環境
  12. 執行方式 JMeter GUI JMeter CLI JMeter 分散式 Kubernauts + GKE

    上手難易度 簡易 簡易 困難 中等 壓測量級 低 低 ~ 中 高 低 ~ 高 適合場景 除錯 少量壓測 大量壓測 少 ~ 大量壓測 壓測執行方式統整