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

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

ภาพหน้าจอของการตรวจสอบ "เวลาในการตอบกลับของเซิร์ฟเวอร์ของ Lighthouse ต่ำ"

เวลาในการตอบกลับของเซิร์ฟเวอร์ที่ช้าส่งผลต่อประสิทธิภาพ

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

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

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

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

วิธีปรับปรุงเวลาในการตอบกลับของเซิร์ฟเวอร์

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

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

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

ใช้ CDN เพื่อลดเวลาในการตอบสนองของเครือข่าย วิธีนี้มีประสิทธิภาพเป็นพิเศษหากแคชเอกสารได้ที่โหนด Edge ของ CDN

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

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

Drupal

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

Magento

ใช้การผสานรวม Varnish ของ Magento

โต้ตอบ

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

WordPress

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

ลองอัปเกรดโฮสติ้งเป็นบริการที่มีการจัดการหรือบริการเฉพาะ

แหล่งข้อมูล