มาทำ 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

PSG vs Monaco: ศึก 100 นัดเดือด ลีกเอิง และบทเรียนที่ปาร์ค เดส์ แพร็งซ์

PSG vs Monaco: ศึก 100 นัดเดือด ลีกเอิง และบทเรียนที่ปาร์ค เดส์ แพร็งซ์

สรุปผลและวิเคราะห์เกมเดือด PSG พบ Monaco ในลีกเอิงนัดที่ 25 ซึ่งเป็นการพบกันครั้งที่ 100 ในประวัติศาสตร์ลีก ความพ่ายแพ้ 1-3 คาบ้านของ PSG และบทบาทของ Akliouche พร้อมผลกระทบต่อเส้นทางแชมเปี้ยนส์ลีก

By ทีมงาน devdog
บาเยิร์นผงาดไร้เคน! ถล่มกลัดบัค 4-1 โชว์ความลึกของทีมก่อนลุยศึก UCL

บาเยิร์นผงาดไร้เคน! ถล่มกลัดบัค 4-1 โชว์ความลึกของทีมก่อนลุยศึก UCL

บาเยิร์น มิวนิค โชว์ฟอร์มแกร่ง แม้ไม่มีแฮร์รี่ เคน ถล่ม โบรุสเซีย มึนเชนกลัดบัค 4-1 ก่อนเตรียมลุยศึกแชมเปียนส์ลีกกับอตาลันต้า!

By ทีมงาน devdog
PSG: มหาอำนาจลูกหนังฝรั่งเศส กับศึกดวลเดือดโมนาโก และเป้าหมายสู่บัลลังก์ยุโรป

PSG: มหาอำนาจลูกหนังฝรั่งเศส กับศึกดวลเดือดโมนาโก และเป้าหมายสู่บัลลังก์ยุโรป

เจาะลึกเส้นทาง PSG สู่มหาอำนาจลูกหนัง วิเคราะห์สถานการณ์ลีกเอิง เตรียมพร้อมศึกใหญ่กับโมนาโก พร้อมความมุ่งมั่นสู่แชมป์ยุโรป

By ทีมงาน devdog
ลาลีกา: มนต์เสน่ห์ฟุตบอลสเปน, นวัตกรรมเรโทร, และบิ๊กแมตช์แห่งอนาคต

ลาลีกา: มนต์เสน่ห์ฟุตบอลสเปน, นวัตกรรมเรโทร, และบิ๊กแมตช์แห่งอนาคต

สำรวจลาลีกา ฟุตบอลสเปนอันทรงเสน่ห์ พร้อมไฮไลต์บิ๊กแมตช์ 2025/26 นวัตกรรมสัปดาห์เรโทร และบทบาทต่อวัฒนธรรมและเศรษฐกิจ.

By ทีมงาน devdog