Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

Performance Testing :: อย่าประเมินพลังของผู้ใช้งานต่ำเกินไป

$
0
0

Leadership-Performace

Leadership-Performace ปัญหาเรื่องระบบล่มเนื่องมาจากผู้ใช้งานเข้ามาใช้ระบบจำนวนมากพร้อม ๆ กัน เป็นปัญหาที่ผมคิดว่า นักพัฒนาพบเห็นประจำ เช่น ดังนั้นสิ่งที่ควรต้องเตรียมตัวไว้เสมอคือ การทดสอบปริมาณการใช้งานแบบพุ่งสูงอย่างรวดเร็ว (Spike Traffic) เพื่อให้เราสามารถรับมือกับปัญหาต่าง ๆ ได้อย่างรวดเร็ว มิฉะนั้นระบบไฟไหม้อย่างแน่นอน
ปล. จงรู้ปัญหาก่อนผู้ใช้งาน และรับมือมันได้อย่างทันท่วงที
มาดูปัญหาที่ระบบเหล่านี้มักพบเจอ และวิธีการแก้ไขปัญหาในเบื้องต้นกัน

ปัญหาที่ 1 ประเมินจำนวนผู้ใช้งานต่ำเกินไป

ในบางครั้งอาจจะไม่รู้ด้วยซ้ำ !! ในบางครั้งอาจจะประเมินสูงเกินไป ก็จะเกิดปัญหาอีกแบบ !! เราจะรู้ว่าระบบล่ม เมื่อผู้ใช้งานจริงเข้ามาใช้ ซึ่งมันน่ากลัวมาก ๆ หรือว่า คนจริงต้องเจอกันบน production server !! และรู้ปัญหาหลังผู้ใช้งานเสมอ แน่นอนว่าส่งผลไม่ดีต่อธุรกิจเลย ดังนั้นสิ่งที่ต้องทำก็คือ การทำ Stress Testing และ Soak Testing เพื่อให้รู้ขีดความสามารถของระบบงาน ว่าสามารถรองรับการใช้งานสูงสุดเท่าไร อย่างไร และทำให้เห็นถึงปัญหาที่ต้องแก้ไข เช่น
  • Bandwidth ที่ใช้งาน
  • Memory
  • CPU
และระบบที่เกี่ยวข้อง เพื่อหาจุดที่เป็นคอขวด เพื่อแก้ไขปัญหาต่อไป โดยในการทดสอบให้ทำการเพิ่มจำนวนผู้ใช้งาน หรือ traffic ขึ้นไปเรื่อย ๆ จนไปถึงจุดที่ทำให้ระบบมีปัญหา จากนั้นทำการแก้ไข และ ทดสอบซ้ำ ๆ ไปเรื่อย ๆ ประเด็นหลักคือ เราทำการทดสอบรูปแบบนี้หรือไม่ และ ตอนไหน ?

ปัญหาที่ 2 เมื่อเกิดข้อผิดพลาดแล้วทำการ recover ระบบได้รวดเร็วเพียงใด

เมื่อระบบเกิดปัญหาขึ้นมา เช่น ระบบล่ม หรือ ทำงานผิดพลาด คำถามคือ คุณสามารถกู้ระบบกลับคืนมาทำงานปกติได้รวดเร็วเพียงใด เพื่อลดผลกระทบที่ต่อธุรกิจ หรือ การบริการ ดังนั้นสิ่งที่ต้องทำคือ การ Backup Server รวมทั้งการเตรียม Server ไว้ในสถานที่ต่าง ๆ เพื่อทำให้สามารถเปลี่ยนการทำงานไป server ต่าง ๆ ได้อย่างรวดเร็วเมื่อเกิดปัญหา ประเด็นหลักคือ เราทำการ recover ระบบกันอย่างไร ? ถ้าทำ Backup server แล้ว คุณเคยทดสอบมันหรือไม่ ว่าเมื่อเกิดปัญหายังสามารถ recover ได้นะ !!

ปัญหาที่ 3 ต้องรู้ด้วยว่า พฤติกรรมของผู้ใช้งานเป็นอย่างไร ?

เมื่อเราทำ Performance testing ระบบงาน สิ่งที่ต้องเข้าใจคือ พฤติกรรมของผู้ใช้งานต่อระบบเป็นอย่างไรบ้าง มิฉะนั้นแล้ว คุณอาจจะทดสอบไม่เจอปัญหาที่ผู้ใช้งานเจอจริง ๆ ก็เป็นได้ ซึ่งนั่นคือปัญหาที่ส่งผลร้ายแรงมาก ดังนั้นสิ่งที่ควรทำคือ การ tracking พฤติกรรมของผู้ใช้งานด้วย Analytic tool ต่าง ๆ จากนั้นนำข้อมูลเหล่านี้มาใช้สำหรับการทำ Performance testing ต่อไป
คำถามคือ วันนี้คุณทำ Performance testing กันหรือยัง ?

Viewing all articles
Browse latest Browse all 1997

Trending Articles