lmc-autotestBSF 全鏈路壓測工具
lmc-autotest 是萬級并發(fā)分布式全鏈路性能壓測工具。
基于 BSF 基礎(chǔ)框架構(gòu)建全鏈路壓測框架,從框架層面進行 流量錄制 (也可以從瀏覽器自定義錄制), 從工具層面進行流量回放,進行性能壓測,自動輸出壓測報告,自動進行全鏈路功能驗收,從而提升測試效能,指導(dǎo)網(wǎng)站性能優(yōu)化。
全鏈路壓測架構(gòu)設(shè)計
1. 業(yè)務(wù)層引入 bsf core 和 autotest jar 包,該基礎(chǔ)框架可以對流量進行采樣錄制。
2. 采樣錄制的流量批量同步到 mysql 存儲引擎。
3. 全鏈路壓測管理端,進行任務(wù)編寫并啟動壓測任務(wù)。
4. 壓測任務(wù)分發(fā)到壓測到節(jié)點集群,并進行樣本流量批量回放壓測。
5. 超過時間或者指定條件后,自動生成壓測報告。
單個節(jié)點建議最大 2000-3000 并發(fā)線程,可以開多個壓測節(jié)點(可部署 10-20 個節(jié)點,隨時擴縮容), 支持上萬級高并發(fā)大規(guī)模分布式性能自動化壓測 。
全鏈路壓測任務(wù)執(zhí)行生命周期
任務(wù)分別由樣本篩選腳本,錯誤過濾樣本腳本,壓測請求前腳本,壓測請求后腳本,任務(wù)終止腳本組成。
壓測節(jié)點收到任務(wù)后按照任務(wù)執(zhí)行生命周期,不間斷進行壓測,直到命中 “任務(wù)終止腳本規(guī)則” 后,正常退出。
全鏈路壓測管理端功能
1. 任務(wù)管理:可以對定制的壓測任務(wù)進行編寫,管理。可以實現(xiàn)不同場景和不同姿勢的壓測進行定制。 編寫任務(wù)幫助文檔
2. 定時計劃:可以對所有任務(wù)進行定時計劃編寫,管理。實現(xiàn)任務(wù)定時自動化調(diào)度。 編寫定時計劃幫助文檔
3. 節(jié)點狀態(tài):可以管理所有壓測節(jié)點的心跳和狀態(tài)及當(dāng)前的性能情況。
4. 壓測報告:可以管理所有壓測任務(wù)自動生成的報告。
5. 執(zhí)行日志:所有壓測任務(wù)和定時計劃執(zhí)行的執(zhí)行日志,在壓測執(zhí)行異常的時候,可以查看執(zhí)行日志獲悉。
6. 采樣查詢:自動化 bsf 框架錄制的流量或者用戶自動導(dǎo)入的流量,可以通過此菜單進行查詢和模擬調(diào)用驗證。
7. 公共方法庫:通過定義公共的方法庫,簡化任務(wù)和定時計劃的編寫。 公共方法庫幫助文檔
8. 用戶管理:可以管理平臺用戶和 token 授權(quán)。
9. 幫助文檔:到 gitee 源碼管理文檔和一些最佳實踐文檔。
快速編譯
|
快速安裝
一般在 mysql8.0,jdk8 環(huán)境下,三步執(zhí)行即可安裝。同樣也可以支持云原生方式安裝,如 阿里云安裝最佳實踐。
- sql 初始化腳本
- 管理端 provider 包 (65M 左右大小)
- 節(jié)點端 task 包 (20M 左右大小)
|
支持多語言使用和第三方介入
完善的實踐文檔
- 小白快速上手壓測
- 小白快速流量回放壓測
- 自動化 QPS 核心和主要接口 jenkins 觸發(fā)性能壓測
- 自動化 QPS 核心和主要接口性能 url 壓測
- 自動化 QPS 不同級別接口壓測
- 自動化 QPS 不同開發(fā)人員接口壓測
- 自動化 QPS 全鏈路接口壓測
- 自動化 QPS 秒殺 / 活動接口壓測 - 待實踐
- 自動化 TPS 秒殺 / 活動場景壓測 - 待實踐
- k8s 滾動升級驗證
功能界面展示
評論
圖片
表情
