สิ่งใดเร็วกว่าสำหรับการเข้าถึงแบบอ่านบน EC2 ไดรฟ์ในท้องถิ่นหรือ EBS


11

สิ่งใดเร็วกว่าสำหรับการเข้าถึงการอ่านบนอินสแตนซ์ EC2 ไดรฟ์ "ภายในเครื่อง" หรือไดรฟ์ EBS ที่ต่อพ่วงหรือไม่

ฉันมีข้อมูลบางส่วนที่ต้องยืนยันเพื่อให้ได้ข้อมูลนี้ในโวลุ่ม EBS ฉันใช้ OpenSolaris ดังนั้นไดรฟ์ข้อมูลนี้จึงถูกแนบเป็นพูล ZFS อย่างไรก็ตามฉันมีพื้นที่ดิสก์ขนาดใหญ่ของ EC2 ที่ไม่ได้ใช้งานดังนั้นฉันจึงพิจารณาใหม่อีกครั้งว่านี่เป็นโวลุ่มแคช ZFS แต่ฉันไม่ต้องการทำสิ่งนี้หากการเข้าถึงดิสก์จะช้ากว่า ที่ของปริมาณ EBS เพราะมันอาจจะมีผลกระทบที่เป็นอันตราย

คำตอบ:


13

เพียงเพิ่มเล็กน้อยให้กับฉันทามติที่ EBS เร็วขึ้น ...

จุดสำคัญที่ควรทำความเข้าใจที่นี่คือความเร็วในการจัดเก็บอินสแตนซ์นั้นไม่แน่นอน - Amazon ไม่รับประกันเกี่ยวกับเรื่องนี้

ข้อมูลนี้มาจากหนังสือCloud Application Architecturesโดย George Reese (ซึ่งค่อนข้างดีจากสิ่งที่ฉันอ่านมันจนถึงตอนนี้) มีตารางชื่อการเปรียบเทียบตัวเลือกการจัดเก็บข้อมูล EC2 (หน้า 41); นี่เป็นตัวอย่างของตารางนั้น (ในหนังสือมีคุณสมบัติอื่น ๆ ที่เปรียบเทียบ):

               S3              Instance          EBS

Speed          Low             Unpredictable     High
Reliability    Medium          High              High
Durability     Super high      Super low         High

ดังนั้นที่เก็บข้อมูลอินสแตนซ์อาจมีประสิทธิภาพสูงกว่า EBS ในการเข้าถึงการอ่านในบางครั้ง แต่ถ้าคุณต้องการความเร็วสูงคงที่คุณต้องไปกับ EBS แน่นอน รีสวางไว้ในหนังสือของเขา:

ปัญหาอื่นคือความไม่แน่นอนของประสิทธิภาพในการจัดเก็บอินสแตนซ์ คุณอาจคิดว่ามันควรจะเร็วกว่าตัวเลือกอื่นและบางครั้งก็เป็น อย่างไรก็ตามบางครั้งมันช้าอย่างไม่น่าเชื่อ - ช้ากว่าเมานต์ NFS ผ่านการเชื่อมต่ออีเธอร์เน็ต 10bT ในทางกลับกัน EBS จะให้ประสิทธิภาพของ SAN อย่างต่อเนื่องผ่านการเชื่อมต่ออีเธอร์เน็ต GB


4
ฉันมีประสบการณ์ตรงข้ามแน่นอน ประสิทธิภาพของ EBS นั้นไม่แน่นอน การหยุดทำงานครั้งสำคัญของ EC2 ทั้งหมดเกี่ยวข้องกับ EBS ที่เก็บข้อมูลอินสแตนซ์มีประสิทธิภาพที่คาดการณ์ได้เสมอ
Joe Van Dyk

3
เนื่องจากมันใช้งานง่ายว่าดิสก์ในตัวเครื่องจะช้าลง (โดยเฉพาะถ้าคุณใช้ SSD) มันคงจะดีถ้ามีข้อมูลมากกว่า "ใครบางคนบอกว่ามันเร็วกว่า"
L. Blanc

8

เราวิ่งขึ้นประมาณ $ 1,000 ค่าใช้จ่ายใน AWS ในการสำรวจระบบของคำถามนี้และที่เกี่ยวข้องและโพสต์วิเคราะห์อย่างกว้างขวาง

สำหรับการอ่านแบบสุ่ม (เล็ก) เราพบหน่วยเก็บข้อมูล "local" (EC2 อินสแตนซ์) และ EBS มีประสิทธิภาพคล้ายกัน แต่หน่วยเก็บข้อมูลในเครื่องมีหางแฝงที่ดีกว่า

สำหรับการอ่านตามลำดับ (เป็นกลุ่ม) EBS จะเร็วขึ้นใน m1.small แต่ในเครื่องจะเร็วกว่าใน m1. large เราไม่ได้เปรียบเทียบท้องถิ่นกับ EBS โดยตรงกับอินสแตนซ์ประเภทอื่น ๆ แต่เราพบว่าขนาดของอินสแตนซ์ที่เพิ่มขึ้นนั้นมีผลต่อประสิทธิภาพของร้านค้าในพื้นที่มากกว่าประสิทธิภาพ EBS

นอกจากนี้ยังมีคำถามต้นทุน ด้วยการเปลี่ยน I / O จาก EBS ไปยังดิสก์ภายในเครื่องคุณจะลดค่าธรรมเนียม AWS ของคุณ


2

หากคุณหลังจากประสิทธิภาพของฐานข้อมูลใน Amazon คุณอาจพบว่าบทความนี้มีประโยชน์: http://www.mysqlperformanceblog.com/2009/08/06/ec2ebs-single-and-raid-volumes-io-bencmark/

ความรู้สึกทั่วไปจากการวิจัยของฉัน (ได้อ่านเกี่ยวกับเรื่องนี้มาสองสามสัปดาห์) ก็คือ EBS เป็นตัวเลือกที่เร็วกว่า


ฉันเคยได้ยินรายงานว่าคุณควรเขียนทับไดรฟ์หนึ่งครั้งเนื่องจากการเขียนครั้งแรกไปยังตำแหน่งที่มีค่าใช้จ่ายสูง นอกจากนี้บางครั้งคุณอาจได้รับตัวควบคุม EBS ที่ไม่ดีดังนั้นจึงเป็นการดีที่สุดที่จะตรวจสอบความเร็วก่อนที่จะทำอะไรที่สำคัญ ฉันเคยเห็นไดรฟ์จำนวนเล็กน้อยจากปัญหานั้น มันเกิดขึ้นเมื่อฉันถ่ายภาพ 4 ไดรฟ์ 500GB และ 1 ในนั้นใช้เวลานานขึ้น 4-5 เท่าแม้จะมีข้อมูลเดียวกัน
Flashman

1

Amazon อ้างว่าคลุมเครือ EBS โดยทั่วไปจะมีประสิทธิภาพสูงกว่าพาร์ติชันเกา "ท้องถิ่น" ในอินสแตนซ์ EC2 ฉันรู้ว่าฉันพบปริมาณงาน EBS ที่มากขึ้นในการใช้งานของตัวเอง แต่ฉันไม่ได้ใส่ใจที่จะวัดความล่าช้า

หากคุณสงสัยเกี่ยวกับประสิทธิภาพในการใช้งานเฉพาะทางออกที่ดีที่สุดของคุณน่าจะเป็นตัวอย่างการทดสอบ ฉันรู้ว่าฉันจะ


1

ฉันใช้งานอินสแตนซ์ MySQL บนโวลุ่ม EBS และพอใจกับประสิทธิภาพของมัน ฉันไม่ได้มีข้อมูลใด ๆ เลย แต่ก็ทำได้ดี

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.