เหตุใดแอปพลิเคชันที่ใช้งานดิสก์จำนวนมากจะทำงานเร็วกว่าบน SAN มากกว่าบนฟิสิคัลดิสก์


21

เหตุใดแอปพลิเคชันที่ใช้งานดิสก์จำนวนมากจะทำงานเร็วกว่าบน SAN มากกว่าบนฟิสิคัลดิสก์ ฉันคาดว่าฟิสิคัลดิสก์จะเร็วขึ้นเล็กน้อย แต่อันที่จริงกระบวนการทำงานเร็วขึ้น 100 เท่าเมื่อตั้งค่าไดรฟ์ทำงานเป็นพาร์ติชันบน SAN

เราคาดเดาได้ว่า SAN นั้นได้รับการปรับแต่งให้เร็วที่สุดในขณะที่การตั้งค่าดิสก์จริงนั้นเกี่ยวข้องกับ OS (Solaris) และยังไม่ได้ถูกแตะต้องหรือติดตั้งระบบปฏิบัติการ

ในระหว่างกิจกรรมสูงสุดที่ดิสก์ I / O ทำงานที่ 100% และเวลาในการเขียนเสร็จสมบูรณ์นานกว่า 2 วินาทีเนื่องจากมีหลายกระบวนการที่เขียนลงดิสก์ในเวลาเดียวกัน

(FYI แอปพลิเคชันที่เกี่ยวข้องคือ Informatica PowerCenter)

คำตอบ:


23

ฉันไม่แปลกใจเลย โดยทั่วไปแล้วอาร์เรย์ SAN มีดิสก์จำนวนมากที่เกี่ยวข้อง ปัจจัย จำกัด สำหรับดิสก์ I / O คือความเร็วของดิสก์แต่ละตัวและสแต็กเหล่านี้ 6 ไดรฟ์ในตัวใน RAID10 จะทำงานได้ดีกว่า 2 และ 80 ไดรฟ์ใน SAN จะทำงานได้ดีกว่า 10 ไดรฟ์ในเครื่อง แน่นอนว่ามีตัวแปร แต่ก็เป็นวิธีที่ควรใช้

นอกจากนี้ถ้า SAN มี SSD ใด ๆ ที่เกี่ยวข้องสิ่งต่าง ๆ จะได้รับกำลังใจจริงๆ


15

มันเกือบจะแน่นอนเนื่องจากแคช ความน่าจะเป็น DAS มีการแคชน้อยที่สุดโดยที่ Enterprise SAN ส่วนใหญ่มีแคชหลายกิกะไบต์ ฉันเดาว่าแอปกำลังแคชของ DAS แต่ไม่ใช่ของ SAN


1
ความหน่วงแฝงที่เห็นได้ชัดของ SAN นั้นยาวกว่า DAS แต่ปริมาณงานโดยรวมนั้นสูงกว่าใน SAN ด้วยการแคชทั้งหมด คำตอบที่ดี.
Matt

แล้วมักจะมีแคชอ่านล่วงหน้าดังนั้นการอ่าน / เขียนแบบสุ่มที่ได้รับความนิยมมากที่สุดและจากนั้นคุณสามารถแคชเขียนได้ดังนั้นการอ่านแบบสุ่มเพียงอย่างเดียวที่ได้รับผลกระทบยังคงมีความล่าช้าเล็กน้อย
Silverfire

1
Storage Subsystem ที่ตั้งค่าไว้อย่างถูกต้องบน SAN ที่ไม่โอเวอร์โหลดควรให้เวลาในการเขียนแบบสุ่มประมาณ 1-2ms
MikeyB

@ MikeyB ฉันไม่เห็นด้วยกับคุณ 1-2ms เขียนถึง SAN ดูเหมือนถูกต้อง แต่การกำหนดค่าของ Charles 'SAN เร็วกว่าฟิสิคัลดิสก์ที่โอเวอร์โหลดของเขา 100 เท่า (เขียนเป็น> 2 วินาทีหลัง) ดังนั้นแม้การแสดง SAN ของเขาก็ไม่ได้ดีเช่นนั้นที่ 20ms มากกว่า 1-2ms ... ?
Ellie Kesselman

9

แนวคิดมักจะรู้สึกว่าการให้บริการดิสก์จาก SAN ควรช้ากว่าการให้บริการในพื้นที่ อย่างไรก็ตามมีปัจจัยมากมายที่สามารถย้อนกลับสิ่งนี้และส่งผลให้ SAN เป็นตัวเลือกที่เร็วกว่ามาก บางส่วนของปัจจัยเหล่านี้คือ:

  • ปริมาณงานของคุณต้องการเวลาที่รวดเร็วหรือปริมาณงานที่รวดเร็วหรือทั้งสองอย่าง?
  • มีกี่แกนบน SAN LUN กับดิสก์ภายในเครื่อง
  • บัสความเร็วใดระหว่าง SAN LUN และเซิร์ฟเวอร์กับโลคัลดิสก์อินเตอร์เฟส
  • แคชการอ่าน / เขียนมีเท่าใดบน SAN LUN เทียบกับโลคัลดิสก์
  • ดิสก์หมุนเร็วแค่ไหนใน SAN LUN กับดิสก์ภายในเครื่อง
  • มีกิจกรรม IO อื่นใดอีกบ้างที่เกิดขึ้นบน SAN LUN กับดิสก์ภายในเครื่อง
  • ระดับ RAID ใดที่อยู่ในอาร์เรย์บน SAN และที่เก็บข้อมูลภายใน

สิ่งเหล่านี้จะส่งผลต่อประสิทธิภาพของคุณใน SAN และดิสก์ภายในเครื่อง


1

ทุกอย่างลงมาถึงจำนวนสปินเดิลที่มีอยู่ .... จำนวนสปินเดิลที่สูงกว่าก็จะเร็วกว่าในการเข้าถึงข้อมูลที่ได้รับ หากคุณใช้งาน IO หนักมากโดยเฉพาะถ้าคุณเป็นแอพฐานข้อมูลคุณสามารถฝังประสิทธิภาพของดิสก์ในเครื่องได้อย่างง่ายดายด้วยโซลูชั่น SAN ซึ่งสามารถมีจำนวนชุดดิสก์ที่สูงกว่าสำหรับการจัดการข้อมูลแกนหลักดัชนีและอื่น ๆ

ด้วยระบบย่อยของดิสก์คุณอาจแชร์การเข้าถึงหัวอ่าน / เขียนกับการดำเนินการอื่น ๆ เช่น r / w เพื่อแลกเปลี่ยนระบบปฏิบัติการโลคัลและการเข้าถึงไฟล์ไลบรารีการเข้าถึงแอปพลิเคชัน ฯลฯ ... ในขณะที่รวดเร็วแต่ละครั้งเวลารวม สำหรับการดำเนินการอ่าน / เขียนทั้งหมดเพื่อย้ายหัวอ่าน / เขียนจากพื้นที่หนึ่งของดิสก์เพื่อครอบคลุมชุดของการกระทำหนึ่งไปยังอีกชุดหนึ่งเพื่อตอบสนองความต้องการของแอปพลิเคชันของคุณสามารถเอาชนะประสิทธิภาพได้อย่างแน่นอน

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