ในบทความนี้ผมจะพูดภึงปัจจัยที่ทำให้เว็บไซต์ของตัวเองนั้นโหลดหน้าเวปช้านะครับซึ่งมีหลักๆอยู่หลายองค์ประกอบผมจะมาแยกแต่ละส่วนให้ฟังคร่าวๆจากประสบการณ์แล้วกันนะครับ
1 Internet เต่าเรียกพี่
บ่อยครับที่พบเจอปัญหา Internet ช้าบางทีก็เร็วบางทีก็ช้าซึ่งในจุดนี้ไม่สามารถแก้ไขปัญหาได้นะครับคงต้องคุยกับผู้ให้บริการกันเอาเองหลักๆก็ตรวจสอบ Speed Test ดูครับในปัจจุบันหากความเร็วไม่ถึง 3-5 Mbps ก็ถือว่าช้าแล้วครับ
ตรวจสอบความเร็ว Internet ได้ที่ Speedtest
2 Hosting ช้า
ในการที่จะให้เว็บไซต์แจ้งเกิดบนโลกออนไลน์นั้นจำเป็นต้องฝากไว้ที่ผู้ให้บริการ Hostings, VPS หรือ ว่างเครื่องเองก็แล้วแต่ต้นทุนของแต่ละ่คนนะครับ ในส่วนนี้ก็เป็นปัจจัยหลักที่มีผลต่อความเร็วของการโหลดหน้าเว็บไซต์ บางผู้ให้บริการอาจจะอัดเวปไว้เป็นร้อย หรือ หลักพันในเครื่องๆเดียว หรือ มีช่องสัญญาณ (bandwidth) ที่น้อยและไม่เพียงพอต่อความต้องการของผู้ใช้งาน ในเรื่องของการเลือกผู้ให้บริการก็เป็นสิ่งสำคัญนะครับควรศึกษาข้อมูลให้ดีก่อนตัดสินใจเช่าใช้บริการครับ (ราคาได้มาซึ่งประสิทธิภาพ นะครับ ^ ^)
3 Script มีความซับซ้อนมากเกินไป
ในเบื้องหลังการทำงานของเวปไซต์เราอาจจะมีการเขียน Code ที่มีความซับซ้อนเกินไปเช่นมี Loop มากผิดปกติหรือพูดกันตรงๆก็ Logic หรือ ทักษะของผู้พัฒนายังไม่ดีพอนั่นเอง ในส่วนนี้พบเจอกับโปรแกรมเมอร์ที่ยังอ่อนประสบการณ์และเป้าหมายหลักในการเขียน Coding เพียงแค่ให้โปรแกรมที่พัฒนาทำงานได้ตามผลลัพท์เพียงอย่างเดียวไม่ได้คำนึงถึงประสิทธิภาพและความปลอดภัยนั่นเอง ที่พบเจอมากๆก็คือส่วนใหญ่จะไปคอขวดที่การ Query ฐานข้อมูลเช่น เช่น Query แบบบ้าระห่ำมาก
SELECT * FROM xxx ORDER BY RAND()
จากตัวอย่างเป็นต้นลองจินตนาการดูนะครับหากข้อมูลมีหลัก “แสน” หรือหลัก “ล้าน” เรคคอร์ดในการ Query แต่ละครั้งจะทำให้กิน CPU เครื่องมากขนาดไหน ^ ^
ในบทความนี้จะยังไม่เน้นในเรื่องของการ Optimize คำสั่ง Query นะครับขอยกเป็นบทความครั้งหน้าเดี๋ยวผมจะอธิบายแบบเจาะลึกในเรื่องของการใช้งานระบบฐานข้อมูลให้ได้ประสิทธิภาพและใช้งานเครื่องเซิฟเวอร์ให้คุ้มค่าที่สุดอีกทีครับ
4 Contents ที่แสดงในหน้าเวป
Content ที่แสดงในหน้าเวปเป็นปัจจัยหลักเลยครับที่จะทำให้เวปไซต์ของท่านโหลดหน้าเวปช้า เช่น มีไฟล์ข้อมูลที่มีขนาดใหญ่เกินไป ,ข้อมูลที่ Request เกิด timeout หรือมีการทำงานของ javascript ที่ผิดพลาดล้วนเป็นปัจจัยที่มีผลต่อ page speed ทั้งสิ้นสามารถตรวจสอบได้ด้วย Google Chrome เลยครับไม่ต้องติดตั้ง Plugin อะไรเพิ่มเติม
– ขั้นแรกเปิด Web ด้วย Google Chrome และกด ctrl+shift+j
กดเลือกที่ Tab Network ด้านบนและให้ดูในแต่ละ request ว่าจุดไหนที่กินเวลามากที่สุดหากเป็นส่วนที่ Optimize หรือแก้ไขได้ก็ให้จัดการได้เลยครับ เช่นพบเจอการโหลดรูปภาพที่มีขนาดใหญ่หรือเจอ request ที่มี response code เป็น 404 เป็นต้น
** ใน 1 request ไม่ควรเกิน 1-2 Second นะครับถ้าเกินกว่านี้ควรจะหาวิธี Optimize ได้แล้วครับ
แนะนำ Tools สำหรับตรวจสอบเพิ่มเติม (PageSpeed Insights)
https://developers.google.com/speed/pagespeed/insights/