การทำ Load Test Web HTTP/HTTPs ด้วย Jmeter




   บทความนี้จะพูดถึงการทำ Load Test ด้วย Jmeter ตั้งแต่การสตาร์ทโปรแกรม การตั้งค่า (Configuration) ทั้งในตัวโปรแกรมเอง และบราวส์เซอร์ และตอนท้ายเราจะมา record scripts และลองรันดู สรุปคือในบทความนี้จะมี 8 หัวข้อ ลองอ่านทีละขั้นนะครับ


  1. การ record scripts 
           สคริปต์ตัวอย่างนี้จะเป็นการทำการทดสอบโหลดเวปไซด์โปรโตคอล HTTP/HTTPs ซึ่งการใช้วิธี Record&Playback ใน Jmeter จะเป็นวิธีที่ง่ายและสะดวกที่สุด

      2. การตั้งค่า Load generator
         
          อย่างแรกต้องตรวจสอบ environment variable PATH และ JAVA_HOME ไปยัง path ที่ลง java development kid (JDK) เอาไว้ วิธีการเช็คว่าการตั้งค่าไว้ถูกต้อง ให้รัน command prompt ขึ้นมาแล้ว key java -version จะต้องบอก JDK ที่เราลงไว้ถูกต้อง 👍



     3. เมนูพื้นฐานใน Jmeter

         เริ่มจากเราสามารถรัน Jmeter ได้ที่ path {Application}\bin และดับเบิ้ลคลิ้ก jmeter.bat จะขึ้นหน้าจอแบบนี้


       ต่อไปให้เลือก Template... button บนเมนูบาร์ (ที่วงไว้ในรูปบน) หลังจากเลือก Template... แล้ว โปรแกรม Jmeter จะขึ้น list ให้เลือกว่าจะเลือกการทดสอบแบบใด ในที่นี้ให้เลือก Recording




      เมื่อเลือก Recording แล้วโปรแกรม Jmeter จะสร้างTest plan ขึ้นมาอัตโนมัติ ตามภาพ



      ในหน้า HTTP Request Defaults ให้ใส่ค่า www.example.com (ใส่ URL ปลอม) ในฟิลด์ Server Name or IP และไม่ต้องใส่ค่าในช่อง Path



     กลับไปยังเมนู HTTP(S) Test Script Recorder และกดปุ่ม Start 😁

     เมื่อกดปุ่ม Start โปรแกรมจะสร้าง ApacheJmeterTemporaryRootCA.crt ใน path โฟลเดอร์ JMETER_HOME/bin และ install certificate ใน browser ที่จะทดสอบต่อไป 👉

    4. การ install certificate ใน Browser

    ในที่นี้จะใช้ firefox ให้เลือกเมนู Tools ⏩ Options ⏩ Advance ⏩ Certificates หรือ search keyword คำว่า Certificates


      เลือก View Certificates ⏩ Authorities ⏩ Import...



        Browse ไปยังไฟล์ ApacheJmeterTemporaryRootCA.crt และกด Open (ตัวอย่าง Certificate location ด้านล่าง)



      คลิ้ก View และตรวจสอบ details และเลือก “Trust this CA to identify web sites” และกด OK 👌


       5.   ตั้งค่า Network Settings ในบราวส์เซอร์


      เนื่องจากในแบบฝึกหัดนี้จะลองใช้ Firefox สำหรับ record สคริปต์ Jmeter จึง ให้เปิด Firefox ขึ้นมาในขณะที่เปิด Jmeter ค้างไว้

       บน Tool bar ให้เข้าไปที่ Edit ⏩ Preference หรือพิมพ์ about:preferences#advance แล้วกด Enter
เสร็จแล้วเลื่อน page ไปด้านล่างสุดเจอ Network Settings ให้กดปุ่ม Settings




    ใส่ค่าต่างๆตาม field ด้านล่าง ⏬



     6. การ Record สคริปต์


          ใส่ URL https://jmeter.apache.org/ (หรือเวปที่จะทดสอบ) และเข้าไปกด link หรือทำรายการที่ต้องการทดสอบ
          เมื่อ record เสร็จให้ปิด Browser และ Stop record ในส่วนของ Record controller จะแสดงรายการที่ record ดังนี้



      ในการทำ Load Test จะต้องกำหนดจำนวนผู้ใช้งาน (Virtual Users)  ค่า Ramp-up หรือค่าที่กำหนดปริมาณผู้ใช้งานที่เข้าระบบต่อหนึ่งหน่วยเวลา และจำนวนรอบที่ผู้ใช้งานเข้าใช้งาน ตามหน้าจอถัดไป 


     Number of Threads (users) คือจำนวนผู้ใช้งานที่จะจำลองเข้าไป load test ระบบ
     Ramp up period คือระยะเวลาที่ผู้ใช้ทั้งหมดจะเข้าระบบจนครบ
     Loop count คือจำนวนรอบที่จะให้ผู้ใช้ทำงานจนกว่าจะจบการทดสอบ

     7. ตรวจสอบ test script ก่อนทดสอบ (Validate Script)

          ก่อนการทดสอบผู้ทดสอบจะต้องตรวจสอบ test script ก่อนรัน โดยเลือก Thread Group ⏩ Validate  และกด run หลังจากนั้นตรวจสอบผลได้จาก View Result Tree ⏬



      8.เริ่มต้นทดสอบ
         ก่อนทดสอบให้เตรียม report สำหรับเก็บผลทดสอบ add ⏭ Summary report เสร็จแล้วกด Start และหลังจากทดสอบเสร็จ Jmeter จะสร้าง Summary report ตามนี้

 



No comments:

Post a Comment