มาทำ LoadTesting ด้วย locust.io

การทำ Load Testing ด้วย locust.io เป็นกระบวนการที่ช่วยในการทดสอบประสิทธิภาพและความทนทานของระบบโดยการสร้างการตั้งค่าและจำลองผู้ใช้แบบพร้อมกันหลายคน

เริ่มต้นด้วยการติดตั้ง locust.io โดยใช้คำสั่งต่อไปนี้ในเทอร์มินัล:

pip install locust

เมื่อติดตั้งเสร็จสมบูรณ์ คุณสามารถสร้างไฟล์สคริปต์ของการทดสอบด้วย locust.io ได้โดยใช้ภาษา Python

ตัวอย่างการสร้างไฟล์สคริปต์ Load Testing ด้วย locust.io:

from locust import HttpUser, task, between

data = {
    "username": "username",
    "password": "password"
}


class WebsiteTestUser(HttpUser):
    wait_time = between(0.5, 3.0)

    def on_start(self):
        response = self.client.post(
            "/v1/signin", json=data).json()
        self.header = {"authorization": response["access_token"]}

    @task(1)
    def testapi01(self):
        self.client.get(
            "/v1/dashboard", headers=self.header)

    @task(2)
    def testapi02(self):
        self.client.get(
            "/v1/event", headers=self.header)

    @task(3)
    def testapi03(self):
        self.client.get(
            "/v1/test?search=&page=1&pageSize=100", headers=self.header)

ในตัวอย่างนี้ เราสร้าง Class ชื่อ MyUser ที่สืบทอดจาก HttpUser ซึ่งเป็น Base class ของ locust.io และกำหนดเวลาหน่วงระหว่างการส่งคำขอระหว่าง 1-2 วินาที ในเมท็อด เรียกใช้ endpoint ที่ต้องการทดสอบผ่าน self.client.get()

เมื่อคุณได้กำหนดสคริปต์การทดสอบเสร็จสิ้น ให้บันทึกไฟล์และปิดตัวอย่างการทดสอบ

คุณสามารถเริ่มต้นการทดสอบด้วย locust.io ได้โดยใช้คำสั่งต่อไปนี้ในเทอร์มินัล:

locust -f mylocustfile.py

โดยในตัวอย่างเราใช้ชื่อไฟล์ mylocustfile.py สามารถตั้งชื่อไฟล์ตามที่คุณต้องการได้

หลังจากนั้น ให้เปิดเบราว์เซอร์และไปที่ http://localhost:8089 เพื่อเข้าสู่หน้าตรวจสอบผลลัพธ์และสถิติการทดสอบของ locust.io

การทำ Load Testing ด้วย locust.io เป็นเครื่องมือที่มีประสิทธิภาพและความยืดหยุ่นในการทดสอบและปรับปรุงระบบของคุณ แต่ควรระวังในการใช้งานร่วมกับระบบที่มีความสำคัญและต้องการการทดสอบอย่างรอบคอบ ควรใช้ locust.io ในการทดสอบบนระบบเฉพาะเพื่อป้องกันความเสียหายที่อาจเกิดขึ้น

Read more

สวีเดน พบ ตูนิเซีย: ศึกเปิดสนามฟุตบอลโลก 2026 กลุ่ม F – ใครจะเหนือกว่ากัน?

สวีเดน พบ ตูนิเซีย: ศึกเปิดสนามฟุตบอลโลก 2026 กลุ่ม F – ใครจะเหนือกว่ากัน?

วิเคราะห์เจาะลึกแมตช์เดือด สวีเดน พบ ตูนิเซีย ฟุตบอลโลก 2026 กลุ่ม F พร้อมรายชื่อนักเตะ การวิเคราะห์เกมรุก-รับ และช่องทางดูบอลสด

By ทีมงาน devdog
ลือสะเทือนวงการ! HUAWEI Mate 90 series เตรียมเขย่าตลาดด้วย 5 รุ่นรวด พร้อม "Fan Edition" ทรงพลัง

ลือสะเทือนวงการ! HUAWEI Mate 90 series เตรียมเขย่าตลาดด้วย 5 รุ่นรวด พร้อม "Fan Edition" ทรงพลัง

เตรียมพบกับ HUAWEI Mate 90 series ที่ลือว่าจะเปิดตัว 5 รุ่นรวด รวมถึง Fan Edition พร้อมเทคโนโลยีระบายความร้อน 3D Liquid-Cooling สุดล้ำ คาดการณ์กันยายนนี้!

By ทีมงาน devdog
อัปเดตล่าสุด: ราคาน้ำมันเบนซิน แก๊สโซฮอล์ และดีเซลวันนี้ (15 มิ.ย. 69) พร้อมแนวโน้มตลาด

อัปเดตล่าสุด: ราคาน้ำมันเบนซิน แก๊สโซฮอล์ และดีเซลวันนี้ (15 มิ.ย. 69) พร้อมแนวโน้มตลาด

เช็กราคาน้ำมันเบนซิน แก๊สโซฮอล์ และดีเซลล่าสุด 15 มิ.ย. 69 จาก ปตท. บางจาก เชลล์ และปั๊มอื่น ๆ พร้อมข้อมูลการปรับลดราคา วางแผนการเดินทางได้เลย!

By ทีมงาน devdog
เจาะลึก! iOS 27 กับ 3 ฟีเจอร์ลับที่ Apple ยังไม่เปิดตัว คาดเตรียมเซอร์ไพรส์กันยายนนี้

เจาะลึก! iOS 27 กับ 3 ฟีเจอร์ลับที่ Apple ยังไม่เปิดตัว คาดเตรียมเซอร์ไพรส์กันยายนนี้

Mark Gurman เผย iOS 27 มี 3 ฟีเจอร์ลับ Siri AI เชื่อมต่อภายนอก, กล้องปรับแต่งได้, หน้าปัด Apple Watch Ultra ใหม่ คาดเปิดตัวพร้อม iPhone 18 เดือน ก.ย. นี้

By ทีมงาน devdog