บรรดาผู้ที่กังวลเกี่ยวกับประสิทธิภาพของเว็บฟรอนท์เอนด์จะประสบปัญหา Time to First Byte (TTFB) เวลารอนานเมื่อปรับประสิทธิภาพเว็บให้เหมาะสม สำหรับไซต์ WordPress ที่ไม่ได้รับการปรับให้เหมาะสม เวลา TTFB มักจะเกินเวลาในการดาวน์โหลดเนื้อหาของหน้า ซึ่งทำให้ผู้ใช้มีเวลารอโดยไม่จำเป็น สาเหตุหลักของปัญหานี้อยู่ที่ฝั่งเซิร์ฟเวอร์ สำหรับผู้ที่ไม่คุ้นเคยกับการทำงานและการบำรุงรักษาเซิร์ฟเวอร์อาจไม่รู้ว่าจะเริ่มต้นจากตรงไหน วันนี้เราจะมาวิเคราะห์แง่มุมต่างๆ ของสาเหตุและแนวทางแก้ไขของ TTFB
Time to First Byte คืออะไร (TTFB)
TTFB ย่อมาจาก Time to First Byte ซึ่งหมายถึงเวลาที่เบราว์เซอร์เริ่มรับข้อมูลการตอบสนองจากเซิร์ฟเวอร์ (เวลาประมวลผลเบื้องหลัง + เวลาเปลี่ยนเส้นทาง) และเป็นตัวบ่งชี้ที่สำคัญของความเร็วในการตอบสนองของเซิร์ฟเวอร์ ตัวอย่างเช่น ถ้าคุณถามคำถามเพื่อน ยิ่งเพื่อนของคุณคิดสั้น เพื่อนคุณฉลาดขึ้น หรือเขาคุ้นเคยกับปัญหาของคุณมากขึ้น สำหรับเซิร์ฟเวอร์ ยิ่งเวลา TTFB สั้นลง เซิร์ฟเวอร์ก็จะยิ่งตอบสนองเร็วขึ้น
เวลา TTFB ถือว่านานเท่าไร?
เนื่องจากฮาร์ดแวร์และสภาพแวดล้อมเครือข่ายของแต่ละเซิร์ฟเวอร์ต่างกัน เวลา TTFB ของแต่ละเซิร์ฟเวอร์จึงแตกต่างกันด้วย หากคุณต้องการทราบว่าเซิร์ฟเวอร์ของคุณสามารถเพิ่มประสิทธิภาพได้เพียงใด คุณสามารถอัปโหลดหน้า HTML แบบคงที่บางหน้าไปยังเซิร์ฟเวอร์ จากนั้นเปิดหน้าคงที่เหล่านี้เพื่อดูเวลา TTFB ของบางหน้าเหล่านี้ เซิร์ฟเวอร์ส่วนใหญ่มีเวลา TTFB น้อยกว่า 50 มิลลิวินาที คราวนี้เป็นเวลาที่เราสามารถดำเนินการปรับให้เหมาะสมได้ เวลา TTFB ในสองตัวเลขต่อไปนี้คือเวลารอ TTFB ของหน้าสแตติกและไดนามิกบนเซิร์ฟเวอร์ที่โฮสต์ไซต์นี้
เวลารอหน้าเว็บแบบคงที่ (TTFB)

เวลารอหน้าเว็บแบบไดนามิก (TTFB)

จากการทดสอบของเรา หากเวลา TTFB เกิน 500 มิลลิวินาที ผู้ใช้จะรู้สึกรออย่างมากเมื่อเปิดหน้าเว็บ เราสามารถพิจารณาได้ 500 ms เป็นเกณฑ์มาตรฐาน
เหตุผลที่ยาว TTFB
อย่างที่เราทราบกันดีว่าสำหรับหน้าเว็บแบบไดนามิก เมื่อเซิร์ฟเวอร์ได้รับคำขอจากผู้ใช้ให้เปิดหน้าเว็บ อันดับแรกจะอ่านข้อมูลที่จำเป็นสำหรับหน้าจากฐานข้อมูล จากนั้นส่งข้อมูลไปยังเทมเพลตซึ่งแสดงผลแล้วส่งกลับ ให้กับผู้ใช้ เนื่องจากต้องใช้เวลาสักครู่ในการสืบค้นข้อมูลและแสดงเทมเพลต เบราว์เซอร์จึงอยู่ในสถานะรอรับการตอบกลับจากเซิร์ฟเวอร์อย่างสม่ำเสมอจนกว่ากระบวนการนี้จะเสร็จสิ้น บริการบางอย่างมีประสิทธิภาพต่ำกว่าหรือไม่ได้รับการปรับให้เหมาะสม และครั้งนี้จะนานกว่านี้
แน่นอน ถ้าเครือข่ายระหว่างเซิร์ฟเวอร์กับผู้ใช้ไม่ดี (เช่น ถ้าเซิร์ฟเวอร์อยู่ในยุโรปและผู้ใช้อยู่ในเอเชีย เมื่อผู้ใช้เปิดเพจ คำขอต้องข้ามพันไมล์กว่าจะถึง เซิร์ฟเวอร์) เซิร์ฟเวอร์ใช้เวลานานเกินไปในการรับคำขอของผู้ใช้ซึ่งเป็นสาเหตุของเวลา TTFB ที่ยาวนานเช่นกัน
บางครั้ง หน้าเพจบันทึกคุกกี้มากเกินไปในเบราว์เซอร์ของผู้ใช้ และทุกครั้งที่มีการร้องขอ คุกกี้เหล่านี้ต้องถูกส่งไปยังเซิร์ฟเวอร์ และเซิร์ฟเวอร์ต้องดำเนินการ ซึ่งเป็นหนึ่งในสาเหตุของ TTFB ที่ยาว เวลา.
วิธีแก้ปัญหาสำหรับ TTFB . ที่ยาวนาน
เมื่อคุณทราบสาเหตุแล้ว วิธีแก้ไขก็ชัดเจน และนั่นคือการลดเวลาตอบสนองของเซิร์ฟเวอร์ เมื่อโหลดหน้าเว็บ จะเทียบเท่ากับการดาวน์โหลดหน้าสแตติกจากเซิร์ฟเวอร์โดยตรง
หากสาเหตุของปัญหาคือเครือข่าย การเปลี่ยนเซิร์ฟเวอร์เป็นวิธีแก้ปัญหาโดยตรง ถ้าด้วยเหตุผลบางอย่างคุณไม่สามารถเปลี่ยนเซิร์ฟเวอร์ได้ คุณสามารถใช้ CDN เพื่อซิงโครไนซ์เพจกับโหนด CDN ใกล้กับผู้ใช้ ซึ่งเป็นทางออกที่ดีเช่นกัน
หากสาเหตุคือคุกกี้ คุณสามารถลบคุกกี้ที่ไม่จำเป็นบางส่วนได้โดยแก้ไขแอปพลิเคชัน หรือปรับปรุงเนื้อหาของคุกกี้ ลดระยะเวลาที่ใช้ได้ของคุกกี้ ฯลฯ
ที่เกี่ยวข้อง
วิธีเร่งเวลาเป็นไบต์แรก (TTFB)
บรรดาผู้ที่กังวลเกี่ยวกับประสิทธิภาพของเว็บฟรอนท์เอนด์จะประสบปัญหา Time to First Byte (TTFB) เวลารอนานเมื่อปรับประสิทธิภาพเว็บให้เหมาะสม สำหรับไซต์ WordPress ที่ไม่ได้รับการปรับให้เหมาะสม เวลา TTFB มักจะเกินเวลาในการดาวน์โหลดเนื้อหาของหน้า ซึ่งทำให้ผู้ใช้มีเวลารอโดยไม่จำเป็น สาเหตุหลักของปัญหานี้อยู่ที่ฝั่งเซิร์ฟเวอร์ สำหรับผู้ที่ไม่คุ้นเคยกับการทำงานและการบำรุงรักษาเซิร์ฟเวอร์อาจไม่รู้ว่าจะเริ่มต้นจากตรงไหน วันนี้เราจะมาวิเคราะห์แง่มุมต่างๆ ของสาเหตุและแนวทางแก้ไขของ TTFB
Time to First Byte คืออะไร (TTFB)
TTFB ย่อมาจาก Time to First Byte ซึ่งหมายถึงเวลาที่เบราว์เซอร์เริ่มรับข้อมูลการตอบสนองจากเซิร์ฟเวอร์ (เวลาประมวลผลเบื้องหลัง + เวลาเปลี่ยนเส้นทาง) และเป็นตัวบ่งชี้ที่สำคัญของความเร็วในการตอบสนองของเซิร์ฟเวอร์ ตัวอย่างเช่น ถ้าคุณถามคำถามเพื่อน ยิ่งเพื่อนของคุณคิดสั้น เพื่อนคุณฉลาดขึ้น หรือเขาคุ้นเคยกับปัญหาของคุณมากขึ้น สำหรับเซิร์ฟเวอร์ ยิ่งเวลา TTFB สั้นลง เซิร์ฟเวอร์ก็จะยิ่งตอบสนองเร็วขึ้น
เวลา TTFB ถือว่านานเท่าไร?
เนื่องจากฮาร์ดแวร์และสภาพแวดล้อมเครือข่ายของแต่ละเซิร์ฟเวอร์ต่างกัน เวลา TTFB ของแต่ละเซิร์ฟเวอร์จึงแตกต่างกันด้วย หากคุณต้องการทราบว่าเซิร์ฟเวอร์ของคุณสามารถเพิ่มประสิทธิภาพได้เพียงใด คุณสามารถอัปโหลดหน้า HTML แบบคงที่บางหน้าไปยังเซิร์ฟเวอร์ จากนั้นเปิดหน้าคงที่เหล่านี้เพื่อดูเวลา TTFB ของบางหน้าเหล่านี้ เซิร์ฟเวอร์ส่วนใหญ่มีเวลา TTFB น้อยกว่า 50 มิลลิวินาที คราวนี้เป็นเวลาที่เราสามารถดำเนินการปรับให้เหมาะสมได้ เวลา TTFB ในสองตัวเลขต่อไปนี้คือเวลารอ TTFB ของหน้าสแตติกและไดนามิกบนเซิร์ฟเวอร์ที่โฮสต์ไซต์นี้
เวลารอหน้าเว็บแบบคงที่ (TTFB)
เวลารอหน้าเว็บแบบไดนามิก (TTFB)
จากการทดสอบของเรา หากเวลา TTFB เกิน 500 มิลลิวินาที ผู้ใช้จะรู้สึกรออย่างมากเมื่อเปิดหน้าเว็บ เราสามารถพิจารณาได้ 500 ms เป็นเกณฑ์มาตรฐาน
เหตุผลที่ยาว TTFB
อย่างที่เราทราบกันดีว่าสำหรับหน้าเว็บแบบไดนามิก เมื่อเซิร์ฟเวอร์ได้รับคำขอจากผู้ใช้ให้เปิดหน้าเว็บ อันดับแรกจะอ่านข้อมูลที่จำเป็นสำหรับหน้าจากฐานข้อมูล จากนั้นส่งข้อมูลไปยังเทมเพลตซึ่งแสดงผลแล้วส่งกลับ ให้กับผู้ใช้ เนื่องจากต้องใช้เวลาสักครู่ในการสืบค้นข้อมูลและแสดงเทมเพลต เบราว์เซอร์จึงอยู่ในสถานะรอรับการตอบกลับจากเซิร์ฟเวอร์อย่างสม่ำเสมอจนกว่ากระบวนการนี้จะเสร็จสิ้น บริการบางอย่างมีประสิทธิภาพต่ำกว่าหรือไม่ได้รับการปรับให้เหมาะสม และครั้งนี้จะนานกว่านี้
แน่นอน ถ้าเครือข่ายระหว่างเซิร์ฟเวอร์กับผู้ใช้ไม่ดี (เช่น ถ้าเซิร์ฟเวอร์อยู่ในยุโรปและผู้ใช้อยู่ในเอเชีย เมื่อผู้ใช้เปิดเพจ คำขอต้องข้ามพันไมล์กว่าจะถึง เซิร์ฟเวอร์) เซิร์ฟเวอร์ใช้เวลานานเกินไปในการรับคำขอของผู้ใช้ซึ่งเป็นสาเหตุของเวลา TTFB ที่ยาวนานเช่นกัน
บางครั้ง หน้าเพจบันทึกคุกกี้มากเกินไปในเบราว์เซอร์ของผู้ใช้ และทุกครั้งที่มีการร้องขอ คุกกี้เหล่านี้ต้องถูกส่งไปยังเซิร์ฟเวอร์ และเซิร์ฟเวอร์ต้องดำเนินการ ซึ่งเป็นหนึ่งในสาเหตุของ TTFB ที่ยาว เวลา.
วิธีแก้ปัญหาสำหรับ TTFB . ที่ยาวนาน
เมื่อคุณทราบสาเหตุแล้ว วิธีแก้ไขก็ชัดเจน และนั่นคือการลดเวลาตอบสนองของเซิร์ฟเวอร์ เมื่อโหลดหน้าเว็บ จะเทียบเท่ากับการดาวน์โหลดหน้าสแตติกจากเซิร์ฟเวอร์โดยตรง
หากสาเหตุของปัญหาคือเครือข่าย การเปลี่ยนเซิร์ฟเวอร์เป็นวิธีแก้ปัญหาโดยตรง ถ้าด้วยเหตุผลบางอย่างคุณไม่สามารถเปลี่ยนเซิร์ฟเวอร์ได้ คุณสามารถใช้ CDN เพื่อซิงโครไนซ์เพจกับโหนด CDN ใกล้กับผู้ใช้ ซึ่งเป็นทางออกที่ดีเช่นกัน
หากสาเหตุคือคุกกี้ คุณสามารถลบคุกกี้ที่ไม่จำเป็นบางส่วนได้โดยแก้ไขแอปพลิเคชัน หรือปรับปรุงเนื้อหาของคุกกี้ ลดระยะเวลาที่ใช้ได้ของคุกกี้ ฯลฯ
กระทู้ที่เกี่ยวข้อง:
ที่เกี่ยวข้อง