ความสามารถในการปรับขนาดนั้นวัดได้ในแง่ของปริมาณงานโดยขึ้นอยู่กับตัวแปรบางตัว ตัวอย่างเช่นจำนวนคำขอ / วินาทีกับผู้ใช้X วิธีที่ง่ายที่สุดในการอธิบายความยืดหยุ่นคือ:
การวัดประสิทธิภาพเมื่อโหลดเพิ่มขึ้น
สิ่งแรกที่คุณต้องเข้าใจในการออกแบบเพื่อความยืดหยุ่นคือการวัดใดที่สำคัญที่สุดสำหรับการใช้งานของคุณ มีหลายวิธีในการวัดประสิทธิภาพซึ่งเป็นองค์ประกอบสำคัญของความยืดหยุ่น:
- คำขอพร้อมกันต่อวินาที
- เวลาตอบสนองโดยเฉลี่ยต่อคำขอ
- จำนวนเร็กคอร์ดที่ประมวลผลต่อวินาที / นาที
มีการวัดประสิทธิภาพเพิ่มเติมที่สามารถใช้ได้ แต่สิ่งเหล่านี้เป็นเรื่องปกติสำหรับระบบที่ทำงานบนเว็บหรือระบบประมวลผลแบบกลุ่ม
ความสามารถในการปรับขนาดได้ถัดไปคือการวัดว่าเกิดอะไรขึ้นกับประสิทธิภาพของคุณเมื่อมีการเพิ่มโหลด วิธีทั่วไปสำหรับการโหลดเพื่อเพิ่มคือ:
- ผู้ใช้จำนวนมากกดปุ่มเซิร์ฟเวอร์ (เช่นการเข้าชมเว็บมากขึ้น)
- ข้อมูลเพิ่มเติมในฐานข้อมูล (เช่นคิวรีใช้เวลานานขึ้นหรือการประมวลผลจะใช้เวลานานกว่า)
- ความล้มเหลวของฮาร์ดไดรฟ์ใน RAID (ประสิทธิภาพการจัดเก็บ / ความน่าเชื่อถือได้รับผลกระทบ)
- ความอิ่มตัวของเครือข่าย
เป้าหมายสำหรับแอปพลิเคชันที่ปรับขนาดได้คือการบำรุงรักษาหรือปรับปรุงประสิทธิภาพตามที่เราจัดการกับปัญหาโหลด กล่าวโดยย่อหากเวลาตอบสนองใช้เวลานานเกินไปเราสามารถเพิ่มเซิร์ฟเวอร์อื่นเพื่อกระจายโหลดอย่างสม่ำเสมอได้หรือไม่ วิธีนี้จะช่วยลดปริมาณงานที่เซิร์ฟเวอร์หนึ่งต้องทำและทำให้เซิร์ฟเวอร์ทำงานใน "จุดที่น่าสนใจ" นั้นเพื่อประสิทธิภาพ
แอปพลิเคชันของคุณจะต้องได้รับการออกแบบมาโดยเฉพาะเพื่อปรับขนาด นั่นหมายความว่าคุณต้องระวังข้อมูลเซสชันการขอเส้นทางไปยังเซิร์ฟเวอร์ที่ถูกต้องลดปัญหาคอขวดที่จำกัดความสามารถของแอปพลิเคชันในการขยาย