การคำนวณค่า IOPS เบื้องต้นสำหรับระบบ Virtual Desktop Infrastructure (VDI)
ในช่วงที่ผ่านมานี้ระบบ Virtual Desktop Infrastructure ก็เริ่มแพร่หลายในองค์กรต่างๆ เนื่องจากสามารถประหยัดเวลาในการบริหารจัดการ Desktop ให้แก่ผู้ดูแลระบบได้มากขึ้น และยังทำให้ระบบโดยรวมมีความปลอดภัยสูงขึ้นอีกด้วย แต่ปัญหาที่ผู้ดูแลระบบมักจะพบก็คือ “ความช้าของระบบ VDI” อันเนื่องมาจากสาเหตุหลักๆ คือ “IOPS ไม่เพียงพอ” ในครั้งนี้เราจะมาดูกันครับว่า ก่อนจะลงทุนกับระบบ VDI เราควรจะประเมินค่า IOPS ของระบบกันอย่างไร เพื่อที่จะได้จัดซื้อระบบ Storage ได้เหมาะสมกับความต้องการ
ค่า IOPS คืออะไร?
ค่า IOPS ย่อมาจากคำว่า Input/Output Operation per Second ซึ่งหมายถึงปริมาณการอ่านและเขียนไฟล์ต่อ 1 วินาทีนั่นเอง ซึ่งในการใช้งานระบบคอมพิวเตอร์นั้น การอ่านและเขียนถือเป็นขั้นตอนพื้นฐานในโปรแกรมต่างๆ เริ่มต้นตั้งแต่การบูทระบบปฏิบัติการ, การเล่นอินเตอร์เน็ต รวมถึงการเรียกใช้งาน Application ต่างๆ
ตัวเลขที่ควรทราบสำหรับการออกแบบระบบ VDI
ในขั้นตอนต่างๆ นั้น ทาง Citrix ซึ่งเป็น Vendor ผู้เชี่ยวชาญทางด้านระบบ VDI ได้ให้ตัวเลขค่าเฉลี่ยของพฤติกรรมต่างๆ ในการใช้งานคอมพิวเตอร์มาแล้วระดับหนึ่ง ซึ่งตัวเลขเหล่านี้เราจะนำไปใช้คำนวณค่า IOPS ของทั้งระบบกันต่อไป โดยแต่ละองค์กรอาจทำการปรับแต่งค่าต่างๆ เหล่านี้ให้เหมาะสมมากขึ้นได้ตามความเป็นจริงครับ
- Boot IOPS / การเปิดเครื่องแต่ละเครื่อง = 300 IOPS, มีอัตราส่วน Read/Write = 90/10
- Login IOPS / การ Login เข้าใช้งาน = 120 IOPS (จาก Windows 7)
- Desktop Login Time / เวลาที่ใช้ในการ Login แล้วแต่จะกำหนด
- Steady State / ในการใช้งานทั่วไป มีอัตราส่วน Read/Write = 10/90
- Light User / ผู้ที่ใช้งาน Application เดียว และไม่ใช้ Web Browser = 6 IOPS
- Normal User / ผู้ท่ใช้งานหลาย Application และใช้งาน Web Browser เพียงเล็กน้อย = 10 IOPS
- Power User / ผู้ที่ใช้งานหลาย Application และใช้งาน Web Browser เยอะ = 25 IOPS
- Heavy User / ผู้ที่ใช้งานระดับการ Compile Code หรือจัดการ Video = 50 IOPS
สิ่งที่ควรคำนวณสำหรับการออกแบบระบบ VDI
- Launch Rate / ความถี่ในการ Login เครื่อง เช่น จะ Login วินาทีละ 1 เครื่อง หรือจะ Login วินาทีละ 2 เครื่อง โดยนำตัวเลขนี้ไปหารจำนวนผู้ใช้งานทั้งหมดในองค์กร ก็จะได้เวลาที่ใช้ในการ Login เครื่องทั้งหมดในองค์กรขึ้นมา
- Max Login IOPS / ปริมาณ IOPS สูงสุดในการ Login ซึ่งจะเกิดขึ้นในตอนที่ User ทำการ Login พร้อมกันหลายๆ คน เช่น ตอนเริ่มงานในช่วงเช้าและบ่าย โดยให้นำจำนวนผู้ใช้งานที่คาดว่าจะ Login พร้อมกัน * Login IOPS
- Steady State IOPS / ปริมาณ IOPS เฉลี่ยขณะใช้งาน โดยให้นำ User ทั้งองค์กรมาคำนวนแยกตามประเภทของ User ซึ่งจะมีค่าเท่ากับ (จำนวน Light User*Light User IOPS) + (จำนวน Normal User*Normal User IOPS) + (จำนวน Power User*Power User IOPS) + (จำนวน Heavy User*Heavy User IOPS)
- Peak IOPS / ค่า IOPS ที่อาจจะเกิดขึ้นได้ขณะใช้งาน โดยให้นำค่าสูงสุดที่เป็นไปได้ในการ Login และ Steady State มาคำนวนรวมกัน บางองค์กรอาจคำนวนไม่เหมือนกัน เช่น บางที่อาจยอมให้ Users ทั้งหมดทำการ Login พร้อมกันได้ทุกคน ทำให้ค่า Max Login IOPS กลายเป็น Peak IOPS ไป แต่ในบางองค์กรอาจประเมินไว้เพียงว่ามีผู้ใช้งาน Login พร้อมกันเพียง 20% ในขณะที่อีก 80% อาจกำลังใช้งานตามปกติอยู่ ทำให้ต้องนำค่า Login IOPS จากผู้ใช้งาน 20% มาคำนวนรวมกับ Steady State แบบ Max ของผู้ใช้งานอีก 80%
- Estimated Boot IOPS / ตัวเลขประมาณของ Boot IOPS ทาง Citrix ได้ให้ Magic Number มา โดยให้ใช้จำนวนเครื่องที่จะทำการบูทพร้อมกัน*22 โดยอาจทำการเผื่อค่าเอาไว้อีก 10%
ตัวอย่างการคำนวนประสิทธิภาพระบบ VDI
- User = 100 คน
- Boot IOPS = 300 IOPS
- Login IOPS = 120 IOPS
- Desktop Login Time = 30 วินาที
- Steady State / ในการใช้งานทั่วไป มีอัตราส่วน Read/Write = 10/90
- Light User = 6 IOPS มีจำนวน 40 คน
- Normal User = 10 IOPS มีจำนวน 30 คน
- Power User = 25 IOPS มีจำนวน 20 คน
- Heavy User = 50 IOPS มีจำนวน 10 คน
- Launch Rate = 0.5 ดังนั้นผู้ใช้งานทั้งหมด 100 คน จะ Login ครบหมดในเวลา = 100*0.5 = 50 วินาที
- Max Login IOPS เนื่องจากแต่ละเครื่องมี Desktop Login Time = 30 วินาที ดังนั้นในช่วงวินาทีที่ 29-30 จะเป็นช่วงที่มี IOPS สูงสุด เพราะมีเครื่องที่ Login จากวินาทีที่ 0-29 ทำงานอยู่ด้วย รวมทั้งสิ้น = 30/0.5*120 = 7,200 IOPS
- Steady State IOPS = 6*40 + 10*30 + 25*20 + 50*10 = 240 + 300 + 500 + 500 = 1,540 คน
- Peak IOPS ในช่วงวินาทีที่ 50 จากการ Login จะแปลว่ามีเครื่องที่กำลัง Login เสร็จไปแล้ว 40 เครื่อง และกำลัง Login อยู่อีก 60 เครื่อง ถ้ามองในกรณีที่แย่ที่สุดแปลว่าผู้ใช้งานที่มี Load สูงสุด 40 คนได้บูทเสร็จแล้ว และกำลังทำงานอยู่ ในขณะที่คนที่เหลือกำลังค่อย บูทตาม โดยการใช้งานจริงนั้นล้วนมี IOPS ไม่ถึงค่า Login IOPS ที่เรากำหนดไว้เลย ดังนั้นจึงสันนิษฐานได้ว่าช่วงวินาทีที่ 50 น่าจะเป็นช่วงที่มี IOPS สูงสุด ซึ่งมีค่าเท่ากับ 60*120 <Login IOPS> + 10*10 + 25*20 + 50*10 <Workload IOPS>= 7,200 + 100 + 500 + 500 = 8,300 IOPS
- Estimated Boot IOPS = 100*22 = 2,200 IOPS
เมื่อเกิดเหตุฉุกเฉินในระบบ VDI
สรุปการออกแบบระบบ VDI
———-
บทความโดย Throughwave Thailand
ท่านสามารถติดตามข่าวสารเพิ่มเติมได้ที่ https://www.throughwave.co.th