เจาะลึกงานถ่ายทอดสด iPhone 6: ทำไมถึงล่ม, เสียงเจ๊จีนคืออะไร

apple-iphone-6-live-problem

สำหรับใครที่ได้ติดตามถ่ายทอดสด Keynote งาน iPhone 6 ก็น่าจะพอนึกออกว่า Keynote ครั้งนี้การถ่ายทอดสดมันแย่แค่ไหน (และคงจะคุ้นตากับหน้าจอแถบสีด้านบน) ทาง Streaming Media Blog ได้ออกบทวิเคราะห์ว่าทำไมงานใหญ่กับบริษัทใหญ่อย่าง Apple ถึงพลาดในจุดนี้ไปได้ ทั้งที่ก่อนหน้าก็เคยมีการกระตุกบ้างแต่ก็ไม่ได้มั่วจนดูไม่รู้เรื่องแบบครั้งนี้

เตือนก่อนว่าบทความนี้เป็นเชิงเทคนิคซะส่วนใหญ่ ฉะนั้น ใครอ่านไม่รู้เรื่องอย่าว่ากันนะฮะ 😛

เหตุเกิดเพราะหน้าเว็บแบบใหม่

เหตุผลที่การถ่ายทอดสดในครั้งนี้มีปัญหาหนัก Apple ได้ทำหน้าเว็บถ่ายทอดสดใหม่ โดยเมื่อผู้บริหารขึ้นพูด ก็จะมีภาพ Press ขึ้นมาด้านล่างทันที หรือทวีตของนักข่าวขึ้นมาด้านล่าง เป็นแบบ interactive​ โดยใช้ JavaScript ทำ

ระบบนี้ ทำให้จำนวนครั้งในการ refresh หน้าเว็บพุ่งสูงมาก เพราะต้อง refresh แทบทุกมิลลิวินาที และทำให้หน้าเว็บของ Apple ไม่สามารถเก็บแบบชั่วคราวได้ เพราะปกติ Apple จะเก็บหน้าเว็บเก็บแบบชั่วคราวไว้ที่ Akamai ซึ่งการเก็บหน้าเว็บไว้ชั่วคราวจะทำให้ประสิทธิภาพดีขึ้นมาก ประกอบกับช่วงที่เข้าสู่ event แล้ว เมื่อเข้า apple.com ก็จะมาที่หน้าถ่ายทอดสดทันที ทำให้อัตราการขอข้อมูลพุ่งสูงขึ้นอีก

การที่ถูกเรียกหน้านี้ใหม่บ่อยๆ ทำให้ video player ต้องลดความละเอียดของวิดีโอลงเพื่อทำให้อัตราการส่งข้อมูลต่ำ

เสียงเจ๊จีนมาจากไหน

เสียงเจ๊จีนที่เราได้ยินพากษ์ในวิดีโอนั้น คาดว่าเพราะการ encode วิดีโอของ Apple เอง การ encode ที่ตั้งค่าไว้ผิดพลาด ทำให้ตอนส่งวิดีโอไปที่เครือข่ายการส่งเนื้อหา (Content Delivery Network: CDN) ของ Akamai จึงติดเสียงพากษ์นี้มาด้วย ผู้เขียน blog ต้นทางคาดว่าเครื่องมือ encode วิดีโอขอ Apple น่าจะถูกรีบู๊ตใหม่หลังจากนั้น ทำให้บางคนเจอข้อความ “Could not load movie” หรือ “You don’t have permission to access” หลังจากนั้นเสียงเจ๊จีนก็หายไป

คำขอมากเกิน ทรัพยากรมากเท่าไรก็ไม่พอ

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

ในด้านข้อมูลแบบ interactive นั้น Apple ใช้ Amazon S3 เป็นโฮสต์ คาดว่า Apple น่าจะตั้งค่าเซิร์ฟเวอร์ไว้ไม่ค่อยดี ทรัพยากรน้อยเกินไป และไม่มีการเก็บหน้าเว็บไว้ ขณะที่ปริมาณการขอข้อมูลเยอะมากๆ ทำให้เซิร์ฟเวอร์ไม่สามารถทำงานทัน

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

ที่มา – Streaming Media Blog

เรียบเรียงโดย ทีมงาน MacThai