5 Tips for Improving Software Performance and Speed
หนึ่งในสิ่งสำคัญของ Software ที่ดีนั้นคือจะต้องมีความเร็วและตอบสนองได้ทันใจผู้ใช้งาน ส่งผลให้ผู้ใช้มีประสบการณ์ใช้งานที่ดี แต่การที่จะทำให้ Software ที่มี Feature มากมาย ทำงานได้เร็วและมีประสิทธิภาพนั้น เป็นสิ่งที่ค่อนข้างยากและซับซ้อน ดังนั้นในบทความนี้จะขอเสนอสิ่งที่ควรทำ 5 ข้อ ที่จะช่วยให้ Software ของเราเร็วขึ้นได้ไม่มากก็น้อย
การวัดประสิทธิภาพของ Software
ก่อนที่จะทำการเพิ่มประสิทธิภาพของ Software นั้น เราจะมีวิธีดูอย่างไรว่า Software ปัจจุบันของเราทำงานช้าหรือเปล่า ในส่วนนี้มีแนวทางที่อ้างอิงจากความเร็วของการรับรู้ของมนุษย์ ซึ่งมีมาหลาย 10 ปีแล้ว ซึ่งมีเกณฑ์ความเร็วอยู่ 3 ส่วน
-
0.1 วินาที ผู้ใช้จะรู้สึกได้ว่ามีการเปลี่ยนแปลงทันที เหมือนกับว่าผู้ใช้เป็นคนเปลี่ยน UI ด้วยตัวเอง ไม่ได้สั่งให้ Computer จัดการ การกระทำอย่างเรียงคอลัมน์ตารางหรือลากการ์ดไปมาควรจะมีความเร็วเท่านี้
-
1 วินาที ผู้ใช้จะเริ่มรู้สึกได้ว่ามีการรอ Computer โหลดขึ้น แต่จะยังไม่กระทบกับประสบการณ์การทำงานของผู้ใช้หากเป็น Feature ที่ปกติควรจะทำให้เสร็จเร็ว เราควรจะตั้งเป้าให้เสร็จภายใน 1 วินาที หากเกินกว่านั้นในส่วน UI ควรจะเริ่มแสดงผลอะไรบางอย่างว่า Software ของเรากำลังโหลดอยู่
-
10 วินาที เป็นขีดจำกัดของผู้ใช้ที่จะจดจ่อกับสิ่งที่ทำอยู่บน Software ของเรา หาก Software ของเราโหลดเกิน 10 วินาที ควรจะมี UI บอก Progress ว่าโหลดเสร็จแล้วกี่เปอร์เซ็นต์ และไม่ควรโหลดนานขนาดนั้น หากผู้ใช้กำลังทำงานอย่างต่อเนื่องอยู่
ในการวัดประสิทธิภาพเบื้องต้นนั้น หากเป็นเว็บไซต์ สามารถใช้ Tab Performance ใน Browser Google Chrome เพื่อใช้ดูความเร็วของแต่ละ Action ได้
การใช้งานเบื้องต้นหลังจากทำการเริ่มบันทึก Performance แล้ว ลองเล่นเว็บไซต์ส่วนที่เราต้องการเช็กดู ตัว Performance จะแสดงผลให้ว่า API ใช้เวลาโหลดนานเท่าไร หน้าจอค้างอยู่นานเท่าไร หลังจากทำ Action อะไรบางอย่างจะช่วยให้เห็นได้ว่าจุดไหนที่ช้ากว่ามาตรฐาน และควรแก้ไข Code เพื่อเพิ่มความเร็วและประสิทธิภาพของ Software
วิธีการเพิ่มความเร็วของ Software
หากดูจากเกณฑ์เบื้องต้นแล้ว คิดว่า Feature ใน Software ของเราควรจะเร็วและมีประสิทธิภาพกว่านี้ บทความนี้จะพูดถึง 5 ข้อที่จะสามารถช่วยในส่วนนี้ได้
1. เขียน Code ตามหลักการ Best Practice ของแต่ละภาษา
ภาษา Programming ที่ใช้เขียน Software มักจะมีแนวทางการเขียน Code ที่ดีที่สุดของแต่ละภาษา เพื่อให้ Code ที่เขียนออกมานั้น มีความเป็นระเบียบและมีประสิทธิภาพ ผู้พัฒนาสามารถกลับมาดูหรือแก้บัคได้ง่าย และในบางกรณีนั้นยังสามารถช่วยเพิ่มความเร็วในการทำงานของ Code ได้ด้วย อย่างเช่น ในภาษา JavaScript การลบโค้ดที่ Import เข้ามาแต่ไม่ได้ใช้ ลดการตั้งตัวแปรที่ไม่จำเป็น และ ลดการวน Loop Code ที่ไม่จำเป็นลง จะช่วยให้ Code มีประสิทธิภาพมากขึ้น
2. จัดการการเรียกใช้ API นอกของ Software
บางครั้ง Software ของเราจำเป็นต้องใช้ข้อมูลจากด้านนอกในการทำงาน เพื่อความรวดเร็วในการพัฒนา Software แต่การพึ่งพา API นอกนั้นอาจจะมีความไม่แน่นอนเกิดขึ้น เช่น ระบบ API นอกล่มหรือช้า Software เราก็อาจจะช้าไปด้วย ดังนั้นเราจึงควรพยายามเขียน Code ที่ไม่ต้องรอการทำงานของ API นอก เช่น API ที่ใช้การส่ง Mail ควรเขียนให้ใช้ Background Job หรือ Asynchronous ที่จะช่วยให้ Code รันต่อได้โดยไม่ต้องรอ API นอกรันเสร็จ
3. ลดขนาดของรูปที่ใช้ใน Software
หาก Software ของเรามีการใช้รูปหรือไอคอนต่าง ๆ เป็นจำนวนมาก เราควรที่จะใส่ใจเรื่องขนาดของรูปด้วย หากเป็นรูปที่ไม่มีการเปลี่ยนแปลง แนะนำว่าให้นำไปบีบอัดให้รูปขนาดเล็กลงอาจจะใช้บริการออนไลน์อย่าง TinyPNG หรืออื่น ๆ เพื่อความสะดวก และกรณีที่เป็นรูปไอคอน ควรใช้เป็นไฟล์ SVG ที่สามารถลดขยายขนาดได้โดยภาพไม่แตกและขนาดไฟล์เล็กกว่า PNG
4. ปรับเปลี่ยน UX ให้เหมาะสมตามความเร็ว
หากข้อมูลที่ต้องโหลดในหน้า Software มีจำนวนมาก ก็คงไม่แปลกที่จะใช้เวลาในการโหลดนานพอสมควร แม้จะทำการเพิ่มความเร็วและประสิทธิภาพของ Code แล้วก็ตาม ฉะนั้นเพื่อให้ผู้ใช้งานมีประสบการณ์ใช้งานที่ดี เราควรจะออกแบบ Loading Screen ที่เหมาะสมกับเวลาโหลด โดยอ้างอิงจากเกณฑ์การวัดประสิทธิภาพที่เขียนไว้ข้างต้น เช่น หากข้อมูลต้องโหลดนานมาก ๆ Loading Screen ก็ควรจะมีการบอกว่าโหลดไปแล้วกี่เปอร์เซ็นต์เพื่อให้ผู้ใช้รู้ว่า Software ของเรายังทำงานอยู่ เป็นต้น
5. เลือกใช้ Hardware หรือ Infrastructure ที่เหมาะสมกับ Software ของเรา
ต่อให้เราปรับปรุงประสิทธิภาพและความเร็วของ Code มาดีเท่าไร ถ้าหาก Server ที่เราใช้ Host Service ของ Software เรานั้นไม่สัมพันธ์กับจำนวนผู้ใช้งานของเรา ก็จะทำให้ผู้ใช้เจอปัญหา Software ค้างหรือหลุดได้ ฉะนั้นหากคุณเลือกใช้บริการอย่าง AWS ก็ควรเลือกใช้เครื่องที่ขนาดเพียงพอต่อผู้ใช้งานเพื่อประสบการณ์ใช้งานที่ดีและมีประสิทธิภาพ
หากตรวจสอบและแก้ไข 5 ข้อนี้ได้ก็จะช่วยให้ Software ของคุณทำงานได้ไวและมีประสิทธิภาพมากขึ้นกว่าเดิมอย่างแน่นอน
ข้อมูลเรื่องเกณฑ์การวัดประสิทธิภาพของ Software
ตัวอย่างเว็บไซต์ที่บริการบีบอัดไฟล์