เว็บไซต์จองตั๋วล่ม บทเรียนของ Developer
หลายๆคนพุ่งเป้าไปที่ Hardware ว่าจะเลือกใช้อะไรดี ว่าจะ config ยังไงดี ซึ่งก็เป็นเรื่องที่ปฏิเสธไม่ได้ว่ามันมีส่วนเกี่ยวข้อง แต่การลงทุนด้าน Hardware ก็เป็นอะไรที่โหดร้ายมาก เนื่องจากค่าใช้จ่ายค่อนข้างสูง ยิ่งถ้าต้องเตรียม Hardware เพื่อรองรับการใช้งานจำนวนมหาศาลแล้วละก็จะมีค่าใช้จ่ายค่อนข้างมากเลยทีเดียว (มีเงินลงทุนก็ดีไปนะครับ)
ในฐานะ Developer สิ่งที่เราต้องพิจารณาตามหน้าที่ของเรา "ไม่ใช่ Hardware" แต่เราต้องไปโฟกัสที่โค้ดต่างหาก การเขียนโค้ดที่ดี นอกจากมันจะต้องทำงานได้ตามวัตถุประสงค์แล้ว มันยังจะต้อง "มีประสิทธิภาพ" ด้วย ซึ่งจากการได้คุยกับหลายๆคนมักบอกว่า
- ต้องปิดงานไว (อันนี้เป็นบิสซิเน็สลอจิค) จริงๆ มันก็ใช่นะครับ Developer ก็ต้องกินต้องใช้ จบงานไวก็ดี
- รับ User ไม่ไหวก็ไปอัปเกรด Hardware เอา เพิ่ม Ram เพิ่ม CPU อัปเกรด Hardware อะไรก็ได้ให้เจ้าของเว็บไปอัปเกรดเอา (ส่วนใหญ่คิดแบบนี้ โดยโทษไปที่เรื่องของ Hardware)
- ไม่รู้วิธี ไม่ได้วางแผน ไม่ได้คำนึงถึง หรือไม่ก็ "มันไม่เกิดขึ้นหรอก"
การทดสอบเว็บข้างต้นเป็นการทดสอบภาพรวมของเว็บไซต์ ว่ามันสามารถรองรับผู้ใช้งานพร้อมๆกันจำนวนมากได้สักเท่าไร ซึ่งหากต้องการแก้ไขก็ต้องไปพึ่งพาวิธีการเขียนโค้ดที่มีประสิทธิภาพ
- benchmark โค้ดระดับฟังก์ชั่น ฟังก์ชั่นแต่ละตัวถึงจะให้ผลลัพท์เหมือนกัน แต่มันก็มีประสิธิภาพต่างกันนะ ลองทดสอบมันดู และเลือกใช้ให้ถูก เช่น เปรียบเทียบการค้นหาข้อความด้วย PHP แบบไม่สนใจขนาดตัวอักษร
- เขียนโค้ดให้ถูกวิธี ผลลัพท์ที่ต้องการ 1 อย่าง มีหลายวิธีในการเขียน แต่จะมีวิธีเดียวที่มีประสิทธิภาพสูงที่สุด
- เลือก software หรือ Framework ที่เหมาะสม ดูตัวอย่าง PHP Framework Benchmark
- เลือกใช้เทคโนโลยีที่เหมาะสม เช่น ใช้ PHP7 แทน ใช้แคชช่วย และอีกสารพัดเครื่องมือให้นำมาใช้ (โดยไม่ต้องอัปเกรด Server)
สุดท้าย การทดสอบเว็บก่อนใช้งานจริง มีความสำคัญอย่างยิ่งนะครับ มันแสดงถึงความรับผิดชอบ และ ความรอบคอบของเราด้วย เพราะผลเสียของการไม่ทดสอบ หากมันเกิดขึ้น อาจมีผลร้ายแรงเกินกว่าจะรับไหวเลยทีเดียว และที่สุดแล้วหากเรา (Developer) ทำการ Optimize โค้ดอย่างเต็มที่แล้ว และมันยังล่มอีก คงถึงเวลาที่จะต้องอัปเกรด Hardware แล้วละครับ
จะได้ไม่ต้องเขียนโค้ดยาวๆ เอิ้กๆ ขอบคุณครับ
อิอิ
ดูดครับดูด ดูดความรู้ของอาจารย์ให้หมด
สุดยอดครับ สั้นๆๆ ง่ายๆๆ
ขอบคุง คับ