การแก้ไขปัญหา Safari - โหลดหน้าช้า

การยกเลิกการใช้ Prefetching DNS สามารถปรับปรุงประสิทธิภาพของ Safari

Safari พร้อมกับเบราเซอร์อื่น ๆ เพียงอย่างเดียวตอนนี้มี DNS prefetching ซึ่งเป็นคุณลักษณะที่ออกแบบมาเพื่อให้การท่องเว็บเป็น ประสบการณ์ที่รวดเร็วยิ่งขึ้น โดยการดูลิงก์ทั้งหมดที่ฝังอยู่ในหน้าเว็บและสอบถามเซิร์ฟเวอร์ DNS ของคุณเพื่อแก้ไขลิงก์แต่ละลิงก์ให้ตรงตามความเป็นจริง ที่อยู่ IP.

เมื่อการดึงข้อมูลล่วงหน้าของ DNS ทำงานได้ดีเมื่อคุณคลิกที่ลิงก์บนเว็บไซต์เบราว์เซอร์ของคุณทราบที่อยู่ IP แล้วและพร้อมที่จะโหลดหน้าเว็บที่ร้องขอ ซึ่งหมายความว่าเวลาตอบกลับเร็วมากขณะที่คุณเลื่อนจากหน้าไปยังหน้า

ดังนั้นสิ่งนี้จะเป็นสิ่งที่ไม่ดีได้อย่างไร? ดีปรากฎว่าการดึงข้อมูล DNS ล่วงหน้าอาจมีข้อบกพร่องที่น่าสนใจบางอย่างแม้ว่าจะอยู่ภายใต้เงื่อนไขเฉพาะก็ตาม ขณะที่เบราว์เซอร์ส่วนใหญ่มี DNS prefetching อยู่แล้ว เราจะมุ่งเน้นไปที่ Safari เนื่องจากเป็นเบราว์เซอร์ชั้นนำสำหรับ Mac

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

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

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

ดังนั้นสิ่งที่เกิดขึ้นกับ DNS Prefetching?

ในตัวอย่างข้างต้นเมื่อคุณไปที่เว็บไซต์สิ่งแรกในตอนเช้า Safari ใช้โอกาสในการส่งแบบสอบถาม DNS สำหรับทุกลิงก์ที่เห็นบนหน้าเว็บ ขึ้นอยู่กับหน้าเว็บที่คุณกำลังโหลดอาจเป็นข้อความค้นหา 2-3 ข้อหรืออาจเป็นพันโดยเฉพาะอย่างยิ่งหากเป็นเว็บไซต์ที่มีความคิดเห็นจำนวนมากหรือคุณกำลังเข้าชมฟอรัมบางประเภท

ปัญหาคือไม่มากนักที่ Safari กำลังส่งออกข้อความค้นหา DNS จำนวนมาก แต่เราเตอร์เครือข่ายในบ้านบางรุ่นไม่สามารถจัดการโหลดคำขอหรือระบบ DNS ของ ISP ของคุณมีขนาดเล็กสำหรับคำขอหรือใช้ร่วมกันได้

มีสองวิธีที่ง่ายในการแก้ปัญหาและแก้ไขปัญหาเกี่ยวกับประสิทธิภาพของ DNS ล่วงหน้า เราจะนำคุณผ่านทั้งสองวิธี

เปลี่ยนผู้ให้บริการ DNS ของคุณ

วิธีแรกคือการเปลี่ยนผู้ให้บริการ DNS ของคุณ หลายคนใช้ การ ตั้งค่า DNS ที่ ISP บอกให้ใช้ แต่โดยทั่วไปคุณสามารถใช้ผู้ให้บริการ DNS ที่คุณต้องการได้ จากประสบการณ์ของผมบริการ DNS ของ ISP ในประเทศของคุณไม่ดีนัก การเปลี่ยนแปลงผู้ให้บริการเป็นไปในทางที่ดี มันอาจจะเป็นการดีสำหรับคุณเช่นกัน

คุณสามารถทดสอบผู้ให้บริการ DNS ปัจจุบันได้โดยใช้คำแนะนำในคู่มือต่อไปนี้:

เบราเซอร์ของฉันไม่แสดงผลเว็บไซต์อย่างถูกต้อง: ฉันจะแก้ไขปัญหานี้ได้อย่างไร?

ถ้าหลังจากตรวจสอบบริการ DNS ของคุณคุณตัดสินใจที่จะเปลี่ยนไปเป็นคำถามอื่นคำถามที่ชัดเจนคือคำถามใด? คุณสามารถลอง OpenDNS หรือ Google Public DNS ซึ่งเป็นผู้ให้บริการ DNS ที่เป็นที่นิยมและไม่เสียค่าใช้จ่าย แต่ถ้าคุณไม่คิดจะปรับแต่งเล็กน้อยคุณสามารถใช้คู่มือต่อไปนี้เพื่อทดสอบผู้ให้บริการ DNS ต่างๆเพื่อดูว่ามีบริการใดที่ดีที่สุดสำหรับคุณ:

ทดสอบผู้ให้บริการ DNS เพื่อรับสิทธิ์การเข้าถึงเว็บที่รวดเร็วยิ่งขึ้น

เมื่อคุณเลือกผู้ให้บริการ DNS เพื่อใช้คุณสามารถดูคำแนะนำในการเปลี่ยนการตั้งค่า DNS ของ Mac ได้ในคู่มือต่อไปนี้:

จัดการ DNS ของ Mac ของคุณ

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

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

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

ปิดใช้งาน Prefetch DNS ของ Safari

หากคุณยังคงประสบปัญหาอยู่คุณสามารถแก้ปัญหาได้โดยไม่เคยเข้าชมเว็บไซต์นั้นอีกครั้งหรือปิดการใช้งานการดึงข้อมูลล่วงหน้าของ DNS

จะดีถ้า DNS prefetching เป็นค่ากำหนดใน Safari ก็จะยิ่งดีกว่าถ้าคุณสามารถปิดใช้งานการดึงข้อมูลล่วงหน้าในแต่ละไซต์โดยพื้นฐาน แต่เนื่องจากไม่มีตัวเลือกใดที่สามารถใช้ได้ในขณะนี้เราจะต้องใช้แนวทางอื่นในการปิดใช้งานคุณลักษณะ

  1. Launch Terminal ตั้งอยู่ที่ / Applications / Utilities
  2. ในหน้าต่างเทอร์มินัลที่เปิดขึ้นให้ป้อนหรือคัดลอก / วางคำสั่งต่อไปนี้:
  3. ค่าเริ่มต้นเขียน com.apple.safari WebKitDNSPrefetchingEnabled -boolean false
  4. กด Enter หรือ return
  5. จากนั้นคุณสามารถออกจาก Terminal ได้

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

  1. เปิด Terminal
  2. ในหน้าต่าง Terminal ให้ป้อนคำสั่งต่อไปนี้:
  3. ค่าเริ่มต้นเขียน com.apple.safari WebKitDNSPrefetchingEnabled
  4. กด Enter หรือ return
  5. จากนั้นคุณสามารถออกจาก Terminal ได้

แค่นั้นแหละ; คุณควรจะตั้งค่าทั้งหมด ในระยะยาวคุณจะดีกว่าเมื่อเปิดใช้งานการดาวน์โหลดล่วงหน้าของ DNS แต่ถ้าคุณเข้าชมเว็บไซต์ที่มีปัญหาบ่อยๆการเปิด DNS prefetching off จะทำให้การเยี่ยมชมในแต่ละวันเป็นไปอย่างสนุกสนานมากขึ้น