Skip to main content

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

Anonim

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 ของ Mac ได้

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

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

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

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

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

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

  1. Launch Terminal ตั้งอยู่ที่ / Applications / Utilities

  2. ในหน้าต่างเทอร์มินัลที่เปิดขึ้นให้ป้อนหรือคัดลอก / วางคำสั่งต่อไปนี้:

    ค่าเริ่มต้นเขียน com.apple.safari WebKitDNSPrefetchingEnabled -boolean false

  3. กด Enter หรือ return

  4. จากนั้นคุณสามารถออกจาก Terminal ได้

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

  1. เปิด Terminal

  2. ในหน้าต่าง Terminal ให้ป้อนคำสั่งต่อไปนี้:

    ค่าเริ่มต้นเขียน com.apple.safari WebKitDNSPrefetchingEnabled

  3. กด Enter หรือ return

  4. จากนั้นคุณสามารถออกจาก Terminal ได้

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