เผยแพร่: 27 มี.ค. 2025
คำขอเอกสารเริ่มต้นสำหรับหน้าเว็บมีความสำคัญมากที่สุดเนื่องจากคำขอเครือข่ายและเนื้อหาของหน้าเว็บทั้งหมดขึ้นอยู่กับคำขอนี้ การเพิ่มประสิทธิภาพคำขอเอกสารเริ่มต้นจะช่วยปรับปรุงประสิทธิภาพ
สิ่งที่ข้อมูลเชิงลึกตรวจสอบ
ข้อมูลเชิงลึกจะตรวจสอบว่าเงื่อนไขต่อไปนี้ส่งผลต่อคำขอเอกสารเริ่มต้นหรือไม่
- มีการเปลี่ยนเส้นทางคำขอการนำทางอย่างน้อย 1 ครั้ง
- เซิร์ฟเวอร์ใช้เวลาตอบสนองคำขอนานกว่า 600 มิลลิวินาที
- การตอบกลับไม่ได้บีบอัด

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

คำแนะนำเฉพาะสำหรับกองซ้อน
ข้อมูลเชิงลึกนี้ยังมีคำแนะนำเฉพาะสำหรับสแต็กสำหรับหน้าเว็บที่ใช้เทคโนโลยีต่อไปนี้ด้วย
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
- ใช้การผสานรวม Varnish ของ Magento