Locust性能-零基礎入門系列(12)-批處理請求

本文主要內容爲怎麼批量處理類似的請求。在實際的項目中,很多時候我們需要模擬一些類似的請求。特別是,在相同的場景下去運行不同的數據。其目的主要是爲了檢驗在不同的數據環境下,性能的表現是否一致。通常來說,如果性能的表現隨着數據的不同而不同,那麼是有性能問題的。可以去查看是否不同的測試數據導致後端的測試處理集合不一致,有兩種情況。

1)如果後端處理數據集合一致,那很可能是後端邏輯代碼的性能穩定性差,需要關注代碼執行的穩定性和效率性。對於這種情況,可以獲取多次測試結果進行統計分析,首先要先確認剛纔的論斷,然後再分析代碼的性能穩定性。

2)如何後端處理數據集合不一致。首先需要確認實際情況是不是真的處理數據集合不一致。如果就應該不一致,那麼就應該考慮涉及代碼的可擴展性,特別是性能的響應相差太多的情況。比如一個處理時間爲1秒,一個處理時間爲5秒,這樣的性能相差就算大的了。

說了那麼多相似請求的背景,下面以一個案例來講解,案例是以瀏覽博客園文章爲例子,以瀏覽多個博客園文章爲測試場景,那查看多個瀏覽請求的性能表現是怎樣的。

from locust import HttpUser, task, between

#simulate search from baidu.com
class MyUserBlogs(HttpUser):
    wait_time = between(5,10)
    def open_index(self):
        self.client.get("/")

#https://www.cnblogs.com/ittranslator/p/13561431.html
    @task
    def search_from_blog(self):
        key_words = [13561431,13462874,13215081]
        for i in key_words:
            self.client.get("/ittranslator/p/%i.html" % i)
#host : https://www.cnblogs.com

執行測試命令如下:

locust --host=https://www.cnblogs.com -f locustfile.py 

Locust web頁面截圖如下:
Locust性能-零基礎入門系列(12)-批處理請求

Locust性能-零基礎入門系列(12)-批處理請求

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章