【性能測試】自己遇到的常見問題

性能測試常見問題

1、一般策略

     (1)一般先針對單個接口進行壓力測試、並且在測試過程中尋找該接口的性能瓶頸;然後纔是多接口的場景壓力測試、場景的穩定性測試;

2、測試人員可能導致的異常

     (1)進行壓力測試之前,應該觀察需要壓測的服務機器穩定狀態,如果還沒有進行測試,CPU佔用率、內存使用率就已經很高,這個時候應該查明原因,帶系統穩定之後再測試,否則你測試時候的實際壓力已經很高了,比你測試的壓力還高,那麼你的測試就毫無意義;
     (2)有些接口帶Cookie和不帶Cookie的性能會差別很大,這個需要注意;

3、系統問題

     (1)接口是否添加緩存,例如常見的商品詳情頁接口,未加緩存和加了緩存的差別非常大(可以將訪問量比較高的數據,放到redis或者memcache等緩存庫中)
     (2)循環讀庫問題,這個涉及SQL的優化,例如常見的查詢一批id的數據,見過有些開發在java中寫了遍歷List,然後循環讀庫,表示無語。這個循環就建議放到SQL語句的IN語句中處理;
     (3)可以使用jprofiler定位java的性能問題
                1. 可能存在嵌套循環的性能問題,這個需要找出優化循環操作數據的方法,例如簡單的for循環的嵌套,循環少的一定要放在最外層,循環多的放在最裏層;
                2. 數據能夠少拿儘量少拿,比如有兩個接口,一個接口是需要拿出用戶的全部數據,另外一個接口是需要拿出用戶的暱稱即可,如果暱稱的那個接口訪問量是比較高頻的,就應該單獨寫一個接口,而不是共用一個接口。
                3.
     (4)用來進行測試的肉機帶寬大小,如果你的機器帶寬是10M,但是實際你測試的接口流量達到8M/s了,甚至超過10M,那麼這個時候瓶頸並不在服務上,而是出現在你的配置上了;
     (5)進行壓力測試前,確認系統風控、流控限制是否取消,否則可能導致測試數據不準確;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章