การวิเคราะห์ไฟล์ Log JMeter
ทำความเข้าใจไฟล์ Log JMeter
ไฟล์ log JMeter (jmeter.log) ที่จับจากแต่ละ load engine ให้ diagnostic output โดยละเอียดจาก JMeter runtime รวมถึงข้อความ INFO, WARN และ ERROR ที่สร้างโดย JMeter core และ plugins -- จำเป็นสำหรับการแก้ไขปัญหาการกำหนดค่า ข้อผิดพลาด plugin หรือพฤติกรรม runtime ที่ไม่คาดคิด
สิ่งที่อยู่ใน 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
- นำทางไปที่ "Logs" ในแดชบอร์ดผลทดสอบ เลือกแท็บ Logs และเลือก JMeter log file ในแผง Test files
- เลื่อนและค้นหา แผงกลางสตรีมเนื้อหา log ใช้การค้นหาของเบราว์เซอร์เพื่อข้ามไปยังคีย์เวิร์ดเช่น
ERRORหรือWARN - ดาวน์โหลดสำหรับการวิเคราะห์ 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 มองหา
ERRORentries ทันทีหลังบรรทัด "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 เหล่านี้เป็นประจำช่วยวินิจฉัยปัญหาการรันทดสอบที่ยากจับต้องและรักษาแคมเปญทดสอบโหลดที่น่าเชื่อถือและทำซ้ำได้