The Chromium Chronicle #20: การควบคุมการทดสอบการเปรียบเทียบ

ตอนที่ 20: โดย John Chen ใน Bellevue รัฐวอชิงตัน (เมษายน 2021)
ตอนก่อนหน้า

ความเร็วเป็นหนึ่งในหลักการสำคัญ 4 ประการของ Chrome การเพิ่มการเปรียบเทียบเป็นวิธีง่ายๆ ในการป้องกันไม่ให้ประสิทธิภาพถดถอย และช่วยปรับปรุงประสิทธิภาพให้ดีขึ้นได้เรื่อยๆ การเปรียบเทียบที่ดีจะมีวงจรการทำซ้ำที่รวดเร็ว ตรวจจับการถดถอยของประสิทธิภาพได้เร็วกว่า UMA และเหมาะสำหรับการวัดประสิทธิภาพของฟีเจอร์ใหม่

การเปรียบเทียบจะทำงานในห้องทดลองเป็นประจำ เมื่อพบการถดถอย bisect จะค้นหา CL ผู้ต้องหาโดยอัตโนมัติและมอบข้อบกพร่องให้กับเจ้าของ CL

การเปรียบเทียบของ Chrome จะรวมลำดับของการโต้ตอบหน้าเว็บ (ที่เรียกว่าเรื่องราว) เข้ากับการวัดประสิทธิภาพ กรณีที่คล้ายกันจะถูกจัดกลุ่มเป็น แถบควบคุมการเปรียบเทียบ การเปรียบเทียบใหม่มักจะสอดคล้องกับโปรแกรมใช้ประโยชน์จากที่มีอยู่อันใดอันหนึ่งดังนี้

  • ประสิทธิภาพระบบ
  • กำลังโหลด
  • หน่วยความจำ
  • การแสดงภาพ
  • พาวเวอร์
  • เริ่มต้นทำงาน
  • รันไทม์ V8
  • สื่อ
  • WebRTC
  • สื่อ
  • ประสิทธิภาพ Blink

เฟรมเวิร์กการส่งข้อมูลทางไกลจะเล่นเรื่องราวที่บันทึกไว้ซ้ำเพื่อจำลองการโต้ตอบของผู้ใช้กับ Chrome ขณะเก็บรวบรวมการติดตามที่บันทึกกิจกรรมต่างๆ ของ Chrome หลังจากเรื่องราวเสร็จสิ้นแล้ว เฟรมเวิร์กจะเรียกใช้เมตริกประสิทธิภาพต่างๆ เพื่อวิเคราะห์การติดตามและคำนวณผลลัพธ์ด้านประสิทธิภาพ

คุณครอบคลุมกรอบการทดสอบประสิทธิภาพใหม่ๆ ส่วนใหญ่ใน Chrome ได้โดยการเพิ่มเรื่องราวใหม่ โดยใช้เมตริกที่มีอยู่แล้วในการใช้ประโยชน์จากที่มีอยู่ คุณยังรวบรวมการติดตามเพิ่มเติมและเพิ่มเมตริกลงในการเปรียบเทียบที่มีอยู่ หรือส่งแฟล็กเพิ่มเติมไปยังเบราว์เซอร์ได้ด้วย

ใช้ Blink Perf สำหรับเคสแบบครั้งเดียวที่ใช้ไม่ได้กับสายรัดอื่นๆ ใน Blink Perf คุณจะวัดเหตุการณ์การติดตามในหน้าแบบครั้งเดียวได้

ทำให้เรื่องราวเปรียบเทียบเรียบง่าย และใส่เฉพาะการโต้ตอบน้อยที่สุดเท่าที่จำเป็นเพื่อทำให้สถานการณ์ของคุณสมบูรณ์ หากกรอบการทดสอบมีความซับซ้อน การทำให้ใช้งานได้อัตโนมัติ อาจทำได้ยากหรือมีปัญหา

จำกัดการทดสอบให้เหลือน้อยที่สุดที่ครอบคลุมกรณีการใช้งานที่สำคัญที่สุด โครงสร้างพื้นฐานที่ใช้เปรียบเทียบมีค่าใช้จ่ายสูงในการบำรุงรักษา โปรดดูรายชื่อฮาร์ดแวร์ที่รองรับที่หัวข้ออุปกรณ์ Chrome Speed

การวัดประสิทธิภาพทำได้หลายวิธี การเปรียบเทียบที่อิงตามการวัดและส่งข้อมูลทางไกลจะควบคุม Chrome จากกระบวนการภายนอก แต่ก็อาจไม่ได้มีการควบคุมในระดับที่จำเป็นเสมอไป อีกทางเลือกหนึ่งคือ การเปรียบเทียบที่อิงตาม gtest ช่วยให้โค้ดทดสอบแชร์กระบวนการเดียวกับโค้ด Chrome ได้ นอกจากนี้ คุณอาจลองใช้เครื่องมือเพิ่มประสิทธิภาพอื่นๆ เช่น การใช้ UMA เพื่อวัดประสิทธิภาพในอุปกรณ์ของผู้ใช้แทนในห้องทดลอง

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการเปรียบเทียบ Chrome โปรดติดต่อ Telemetry@chromium.org

แหล่งข้อมูลเพิ่มเติม