各位同窗知道本身負責系統各個接口能抗多大量嗎?TP99多少?需不須要擴容?面對大促的流量會不會系統會不會掛掉?
壓測的做用
- 知道接口能抗多大量。
- 知道接口的瓶頸在哪裏。
- 發現系統存在的問題。
壓測分類
- 全鏈路壓測
- 單接口壓測
壓測須要關注的數據
- docker 主要關注:cpu利用率、內存使用率、網絡流入流出速率、TCP鏈接數、磁盤繁忙【%】、FULLGC
- redis 主要關注:物理機cpu利用率、ops、used_memory、網絡流入流出速率
- mysql 主要關注:cpu利用率、mysql read、write、insert、update 的qps
壓測環境準備
壓測通常分爲讀接口和寫接口壓測
針對讀接口,首先保證壓測的實例線上沒有流量打進來。
針對寫接口,最好徹底隔離一套環境,從主機,redis,數據庫,mq等所有隔離一套環境,千萬保證流量不能打到線上去。
壓測別人接口時必定要提早通知。
壓測小技巧
確認壓測目標:tp99(秒級|分鐘級)要達到多少。好比和去年高點對比,新接口和業務方確認估出一個值來。
量由少到多,當發現增長壓測併發量,tp99上升不明顯反而降低時,找出瓶頸,修改,反覆壓測,最後決定是否須要擴容。
好比修改下日誌級別改爲error,分段確認代碼的性能,找出具體那段代碼耗時最長,找出性能很差的機器摘調再試試等等。
結語
寫的很籠統,不少細節沒能表述出來,壓測的時候碰到不少問題,能夠幫你發現系統的不少問題,這些小的問題,可能在大促大流量面前就會被放大。
經過壓測找到系統每個死角,能夠幫助你在大促時安心,不太回擔憂系統掛了,扛不住大流量。