เวลาในการตอบสนองต่อคำขอเอกสาร

Adam Raine
Adam Raine

เผยแพร่: 27 มี.ค. 2025

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

สิ่งที่ข้อมูลเชิงลึกตรวจสอบ

ข้อมูลเชิงลึกจะตรวจสอบว่าเงื่อนไขต่อไปนี้ส่งผลต่อคำขอเอกสารเริ่มต้นหรือไม่

  • มีการเปลี่ยนเส้นทางคำขอการนำทางอย่างน้อย 1 ครั้ง
  • เซิร์ฟเวอร์ใช้เวลาตอบสนองคำขอนานกว่า 600 มิลลิวินาที
  • การตอบกลับไม่ได้บีบอัด
DevTools รายงานว่าคุณลดเวลาในการตอบสนองของเอกสารได้โดยการนำการเปลี่ยนเส้นทางออก
DevTools รายงานว่าสามารถลดเวลาในการตอบสนองของเอกสารได้โดยการเลิกใช้การเปลี่ยนเส้นทาง

หลีกเลี่ยงการเปลี่ยนเส้นทาง

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

HTTP/1.1 301 Moved Permanently
Location: /path/to/new/location

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

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

ลดเวลาในการตอบกลับของเซิร์ฟเวอร์

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

การตอบสนองของเซิร์ฟเวอร์ช้าอาจเกิดจากหลายสาเหตุ และมีวิธีปรับปรุงหลายวิธีดังนี้

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

ดูรายละเอียดเพิ่มเติมได้ที่คู่มือเพิ่มประสิทธิภาพ TTFB

เปิดใช้งานการบีบอัด

การบีบอัดข้อความจะช่วยลดขนาดโดยรวมของเอกสาร HTML เริ่มต้นได้ เมื่อเบราว์เซอร์ขอทรัพยากร เบราว์เซอร์จะใช้ส่วนหัวของคำขอ HTTP Accept-Encoding เพื่อระบุอัลกอริทึมการบีบอัดที่รองรับ

Accept-Encoding: gzip, compress, br, zstd

ดูเพิ่มเติมที่เพิ่มประสิทธิภาพการเข้ารหัสและขนาดการโอนของชิ้นงานที่เป็นข้อความ

เซิร์ฟเวอร์ควรส่งส่วนหัวการตอบกลับ HTTP Content-Encoding เพื่อระบุอัลกอริทึมการบีบอัดที่ใช้

เครื่องมือสำหรับนักพัฒนาเว็บรายงานว่าคำขอเอกสารใช้การบีบอัด gzip
เครื่องมือสำหรับนักพัฒนาเว็บรายงานว่าคำขอเอกสารใช้การบีบอัด gzip

คำแนะนำเฉพาะสำหรับกองซ้อน

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

WordPress

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

Drupal

  • หากติดตั้งโมดูล Redirect ไว้ ให้ตรวจสอบและนำการเปลี่ยนเส้นทางที่ไม่จำเป็นออก
  • ลดภาระการเข้าชมด้วยโมดูลการแคช Drupal อย่างน้อย 1 โมดูล เช่น Internal Page Cache, Internal Dynamic Page Cache และ BigPipe เชื่อมต่อโมดูลเหล่านี้ด้วย CDN เพื่อปรับปรุงเวลาในการตอบกลับให้ดียิ่งขึ้น เซิร์ฟเวอร์โฮสติ้งควรใช้ประโยชน์จาก PHP OPcache
  • ลองใช้การแคชหน่วยความจำ เช่น Redis หรือ Memcached เพื่อลดเวลาในการค้นหาฐานข้อมูล
  • ใช้ธีมที่มีประสิทธิภาพ โมดูล และเซิร์ฟเวอร์ที่รวดเร็วกว่าเพื่อลดเวลาในการตอบกลับของเซิร์ฟเวอร์

โต้ตอบ

  • หากคุณกำลังใช้ React Router ให้ลดการใช้ของคอมโพเนนต์ <Redirect> ในการไปยังเส้นทางต่างๆ
  • หากคุณกำลังแสดงคอมโพเนนต์ของ React ใดๆ บนฝั่งเซิร์ฟเวอร์ ให้ลองใช้ renderToNodeStream() หรือ renderToStaticNodeStream() เพื่อให้ไคลเอ็นต์ได้รับและรวมส่วนต่างๆ ของมาร์กอัปแทนที่จะรวมทั้งหมดในคราวเดียว

Joomla

  • เปิดใช้การตั้งค่าการบีบอัดหน้าของ Gzip (ระบบ > การกำหนดค่าส่วนกลาง > เซิร์ฟเวอร์)
  • ข้อกำหนดของเทมเพลต ส่วนขยาย และเซิร์ฟเวอร์ล้วนส่งผลต่อเวลาในการตอบสนองของเซิร์ฟเวอร์ ลองหาเทมเพลตที่เพิ่มประสิทธิภาพมากขึ้น พยายามเลือกส่วนขยายการเพิ่มประสิทธิภาพด้วยความระมัดระวัง หรืออัปเกรดเซิร์ฟเวอร์

Magento

แหล่งข้อมูล