การวิเคราะห์ไฟล์ Log JMeter

ทำความเข้าใจไฟล์ Log JMeter

ไฟล์ log JMeter (jmeter.log) ที่จับจากแต่ละ load engine ให้ diagnostic output โดยละเอียดจาก JMeter runtime รวมถึงข้อความ INFO, WARN และ ERROR ที่สร้างโดย JMeter core และ plugins -- จำเป็นสำหรับการแก้ไขปัญหาการกำหนดค่า ข้อผิดพลาด plugin หรือพฤติกรรม runtime ที่ไม่คาดคิด

JMeter Log File Example

สิ่งที่อยู่ใน JMeter Log

แต่ละบรรทัดใน log ตามรูปแบบนี้: <timestamp> [<thread-name>] <level> <logger> - <message>

  • timestamp วันที่และเวลาที่เขียน log entry
  • thread-name JMeter thread หรือ component ที่สร้าง log
  • level Log level: INFO, WARN, ERROR หรือ DEBUG (หากเปิดใช้)
  • logger Java class หรือ package ที่ส่งข้อความ
  • message ข้อความ diagnostic จริงที่อธิบายเหตุการณ์ คำเตือน หรือข้อผิดพลาด

วิธีเข้าถึงและใช้ JMeter Log

  1. นำทางไปที่ "Logs" ในแดชบอร์ดผลทดสอบ เลือกแท็บ Logs และเลือก JMeter log file ในแผง Test files
  2. เลื่อนและค้นหา แผงกลางสตรีมเนื้อหา log ใช้การค้นหาของเบราว์เซอร์เพื่อข้ามไปยังคีย์เวิร์ดเช่น ERROR หรือ WARN
  3. ดาวน์โหลดสำหรับการวิเคราะห์ Offline คลิกไอคอนดาวน์โหลดข้าง JMeter log file เพื่อบันทึก jmeter.log เต็ม

Log Entries ที่พบบ่อย

  • INFO StandardJMeterEngine - Running the test! เครื่องหมายเริ่มต้นการรันทดสอบ
  • WARN ConfigTestElement - Missing property 'foo' บ่งชี้ JMeter property ที่ขาดหายหรือผิดรูปแบบ
  • ERROR HTTPSamplerProxy - Non HTTP response code: 500 แสดง HTTP errors ที่ samplers พบ
  • INFO JOrphanUtils - Will scan jar ... ข้อความโหลด plugin และ library (ปกติ)
  • ERROR GC - OutOfMemoryError ปัญหา JVM หรือ plugin memory -- พิจารณาเพิ่ม heap

การแก้ไขปัญหาด้วย Log

  • Thread Startup Failures มองหา ERROR entries ทันทีหลังบรรทัด "Running the test!" -- มักเป็น thread groups ที่กำหนดค่าผิดหรือ plugins ที่ขาดหาย
  • Plugin Load Errors ข้อความ ClassNotFoundException หรือ NoClassDefFoundError ชี้ไปที่ JARs ที่โหลดไม่สำเร็จ
  • Resource Limits คำเตือน out-of-memory หรือ file-handle บ่งชี้ว่าต้องปรับ JVM options
  • Latency & Timeout Warnings HTTP sampler timeouts และ socket exceptions เปิดเผยปัญหาการเชื่อมต่อเครือข่าย

แนวทางปฏิบัติที่ดี

  • เปิด Debug Logging อย่างเลือกสรร ตั้ง log_level.jmeter=DEBUG เฉพาะสำหรับการทดสอบที่แคบเพื่อหลีกเลี่ยง logs ที่ใหญ่มาก
  • ซิงโครไนซ์นาฬิกา ตรวจสอบว่า load agents ทั้งหมดใช้ NTP เพื่อให้ timestamps ตรงกัน
  • เชื่อมโยงกับมุมมองอื่น จับคู่ log timestamps กับแผนภูมิ Engine Health และ Errors
  • เก็บถาวร Logs จัดเก็บ jmeter.log พร้อมผลลัพธ์ JTL สำหรับการตรวจสอบย้อนหลังเต็มรูปแบบ

สรุป

ไฟล์ log JMeter ใน LoadFocus เป็นเครื่องมือแก้ไขปัญหาที่จำเป็น -- แสดง JVM errors, คำเตือนการกำหนดค่า และปัญหา plugin ที่ไม่ปรากฏในเมตริกระดับสูง การตรวจสอบและเก็บถาวร logs เหล่านี้เป็นประจำช่วยวินิจฉัยปัญหาการรันทดสอบที่ยากจับต้องและรักษาแคมเปญทดสอบโหลดที่น่าเชื่อถือและทำซ้ำได้