ความผันแปรของ Lighthouse

ปัจจัยหลายประการที่มีผลต่อประสิทธิภาพของหน้าเว็บ คะแนนประสิทธิภาพของ Lighthouse มีแนวโน้มที่จะเปลี่ยนแปลงเนื่องจากความแปรปรวนตามปกติของเทคโนโลยีเว็บและเครือข่ายแม้ว่าจะไม่มีการเปลี่ยนแปลงในหน้าเว็บก็ตาม

แหล่งที่มาของความแปรปรวน

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

แหล่งที่มา มีอิทธิพล ผู้ใช้ทั่วไป PageSpeed Insights ห้องทดลองที่มีการควบคุม
การไม่กำหนดหน้า สูง น่าจะ น่าจะ น่าจะ
ความผันแปรของเครือข่ายในพื้นที่ สูง น่าจะ ไม่น่าจะนำไปใช้ ไม่น่าจะนำไปใช้
ความผันแปรของเครือข่ายระดับ 1 สื่อ เป็นไปได้ เป็นไปได้ เป็นไปได้
ความผันแปรของเว็บเซิร์ฟเวอร์ ต่ำ น่าจะ น่าจะ น่าจะ
ความผันแปรของฮาร์ดแวร์ไคลเอ็นต์ สูง น่าจะ ไม่น่าจะนำไปใช้ ไม่น่าจะนำไปใช้
การช่วงชิงทรัพยากรของไคลเอ็นต์ สูง น่าจะ เป็นไปได้ ไม่น่าจะนำไปใช้
การไม่กำหนดเบราว์เซอร์ สื่อ บางส่วน บางส่วน บางส่วน

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

การไม่กำหนดหน้า

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

ความผันแปรของเครือข่ายในพื้นที่

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

ความผันแปรของเครือข่ายระดับ 1

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

ความผันแปรของเว็บเซิร์ฟเวอร์

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

ความผันแปรของฮาร์ดแวร์ไคลเอ็นต์

ฮาร์ดแวร์ที่หน้าเว็บโหลดอยู่สามารถส่งผลต่อประสิทธิภาพการทำงานได้อย่างมาก การควบคุมเชิงประยุกต์ไม่สามารถช่วยลดปัญหานี้ได้ การจำลอง การควบคุมจะบรรเทาปัญหานี้ได้บางส่วนโดยการจำกัดเวลาการดำเนินการทางทฤษฎีของงาน CPU ในระหว่างการจำลอง

การโต้แย้งทรัพยากรของไคลเอ็นต์

แอปพลิเคชันอื่นๆ ที่ทำงานในเครื่องเดียวกันขณะที่ Lighthouse ทำงานอยู่อาจทำให้เกิดการแย่งชิงทรัพยากร CPU, หน่วยความจำ และเครือข่ายได้ มัลแวร์ ส่วนขยายเบราว์เซอร์ และซอฟต์แวร์ป้องกันไวรัสมีผลกระทบอย่างมากต่อประสิทธิภาพของเว็บอย่างมาก สภาพแวดล้อมการทำงานของเซิร์ฟเวอร์แบบหลายกลุ่มผู้ใช้ (เช่น Travis, AWS ฯลฯ) อาจได้รับผลกระทบจากปัญหาเหล่านี้เช่นกัน โดยปกติแล้ว การเรียกใช้ Lighthouse หลายอินสแตนซ์พร้อมกันจะทำให้ผลลัพธ์บิดเบือนจากปัญหานี้ การควบคุมที่นำไปใช้มีความเสี่ยงต่อปัญหานี้ การจำลองการควบคุมจะบรรเทาปัญหานี้ได้บางส่วนโดยการเล่นกิจกรรมเครือข่ายอีกครั้งด้วยตนเองและกำหนดการดำเนินการ CPU สูงสุด

การไม่กำหนดเบราว์เซอร์

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

ผลกระทบของกลยุทธ์การควบคุม

ด้านล่างนี้เป็นตารางที่ประกอบด้วยแหล่งที่มาโดยทั่วไปของความแปรปรวนของเมตริกต่างๆ ผลกระทบทั่วไปที่มีต่อผลลัพธ์ และขอบเขตที่กลยุทธ์การควบคุมของ Lighthouse ต่างๆ สามารถลดผลกระทบลงได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับกลยุทธ์การควบคุมแบบต่างๆ ในเอกสารการควบคุม

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

กลยุทธ์ในการรับมือกับความแปรปรวน

แยกปัจจัยภายนอก

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

หากเครื่องของคุณมีทรัพยากรจำกัดมากหรือการสร้างสภาพแวดล้อมที่สะอาดเป็นเรื่องยาก ให้ใช้สภาพแวดล้อมของห้องทดลองที่โฮสต์ เช่น PageSpeed Insights หรือ WebPageTest เพื่อทำการทดสอบให้คุณ ในกรณีที่มีการผสานรวมอย่างต่อเนื่อง ให้ใช้เซิร์ฟเวอร์เฉพาะหากเป็นไปได้ สภาพแวดล้อม CI แบบฟรีและอินสแตนซ์ที่ "เร่งประสิทธิภาพ" มักจะค่อนข้างมีความผันผวน

เรียกใช้ Lighthouse หลายครั้ง

เมื่อสร้างเกณฑ์สำหรับความล้มเหลว ไม่ว่าจะเป็นด้านจิตใจหรือแบบเป็นโปรแกรม ให้ใช้ค่ารวม เช่น ค่ามัธยฐาน เปอร์เซ็นไทล์ที่ 90 หรือค่าต่ำสุด แทนการทดสอบเดี่ยว

คะแนนมัธยฐานของคะแนน Lighthouse ซึ่งก็คือ 5 รันนั้นคงที่มากกว่า 1 รัน 1 ครั้ง และเครื่องมืออย่าง pwmetric จะเรียกใช้ Lighthouse ให้คุณโดยอัตโนมัติได้ การใช้ค่าขั้นต่ำยังช่วยได้อย่างมากมากกว่าการไม่ต้องทดสอบเลย อีกทั้งยังใช้ได้ง่ายมาก เพียงแค่เรียกใช้ Lighthouse ไม่เกิน 5 ครั้งจนกว่าจะผ่านการทดสอบ

ความคิดเห็น

หน้านี้มีประโยชน์ไหม
มี
ไม่ได้