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

網站壓力測試透過 JMeter on GKE

Avatar for Brent Chang Brent Chang
December 01, 2019

網站壓力測試透過 JMeter on GKE

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

Avatar for Brent Chang

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

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