กำหนดค่า Amazon OpenSearch Service สำหรับความพร้อมใช้งานสูง | บริการเว็บอเมซอน

กำหนดค่า Amazon OpenSearch Service สำหรับความพร้อมใช้งานสูง | บริการเว็บอเมซอน

โหนดต้นทาง: 2691649

บริการ Amazon OpenSearch คือเครื่องมือค้นหาและการวิเคราะห์แบบโอเพ่นซอร์สเต็มรูปแบบที่ปลดล็อกการค้นหาแบบเรียลไทม์ การตรวจสอบ และการวิเคราะห์ข้อมูลธุรกิจและการดำเนินงานอย่างปลอดภัยสำหรับกรณีการใช้งาน เช่น เครื่องมือแนะนำ ไซต์อีคอมเมิร์ซ และการค้นหาแคตตาล็อก หากต้องการประสบความสำเร็จในธุรกิจของคุณ คุณต้องการให้ระบบของคุณมีความพร้อมใช้งานสูงและมีประสิทธิภาพสูง ลดเวลาหยุดทำงานให้เหลือน้อยที่สุด และหลีกเลี่ยงความล้มเหลว เมื่อคุณใช้ OpenSearch Service เป็นวิธีหลักในการตรวจสอบโครงสร้างพื้นฐานของคุณ คุณจะต้องตรวจสอบความพร้อมใช้งานด้วยเช่นกัน การหยุดทำงานของ OpenSearch Service อาจส่งผลกระทบอย่างมีนัยสำคัญต่อผลลัพธ์ทางธุรกิจของคุณ เช่น การสูญเสียรายได้ การสูญเสียประสิทธิภาพการทำงาน การสูญเสียมูลค่าแบรนด์ และอื่นๆ

พื้นที่ มาตรฐานอุตสาหกรรมสำหรับการวัดความพร้อม เป็นคลาสเก้า OpenSearch Service ให้ความพร้อมใช้งาน 3 9 เมื่อคุณติดตาม ปฏิบัติที่ดีที่สุดซึ่งหมายความว่ารับประกันการหยุดทำงานน้อยกว่า 43.83 นาทีต่อเดือน ในโพสต์นี้ คุณจะได้เรียนรู้วิธีกำหนดค่าโดเมนบริการ OpenSearch เพื่อความพร้อมใช้งานและประสิทธิภาพสูงโดยปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดและคำแนะนำขณะตั้งค่าโดเมนของคุณ

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

มาดูตัวเลือกที่คุณสามารถใช้ได้เพื่อให้แน่ใจว่าโดเมนพร้อมใช้งานและมีประสิทธิภาพ

การกำหนดค่าคลัสเตอร์

ในส่วนนี้ เราจะพูดถึงตัวเลือกการกำหนดค่าต่างๆ ที่คุณต้องตั้งค่าคลัสเตอร์ของคุณอย่างถูกต้อง ซึ่งรวมถึงการระบุจำนวน AZ สำหรับการปรับใช้ การตั้งค่าโหนดหลักและโหนดข้อมูล การตั้งค่าดัชนีและส่วนแบ่งข้อมูล

การปรับใช้หลาย AZ

โหนดข้อมูลมีหน้าที่ในการประมวลผลการจัดทำดัชนีและคำขอการค้นหาในโดเมนของคุณ การปรับใช้โหนดข้อมูลของคุณในหลาย Availability Zone จะช่วยปรับปรุงความพร้อมใช้งานของโดเมนของคุณโดยการเพิ่มพื้นที่จัดเก็บและการประมวลผลข้อมูลซ้ำซ้อนตามโซน ด้วยการปรับใช้หลาย AZ โดเมนของคุณจะยังคงพร้อมใช้งานแม้ว่า Availability Zone แบบเต็มจะไม่พร้อมใช้งานก็ตาม สำหรับปริมาณงานการผลิต AWS ขอแนะนำให้ใช้ Availability Zone สามแห่งสำหรับโดเมนของคุณ. ใช้ Availability Zone สองแห่งสำหรับภูมิภาคที่รองรับเพียงสองโซนเท่านั้นเพื่อปรับปรุงความพร้อมใช้งาน เพื่อให้แน่ใจว่าโดเมนของคุณจะพร้อมใช้งานในกรณีที่เกิดข้อผิดพลาด AZ เดียว

ตัวจัดการคลัสเตอร์เฉพาะ (โหนดหลัก)

AWS ขอแนะนำให้ใช้โหนดตัวจัดการคลัสเตอร์เฉพาะ (CM) สามโหนด สำหรับปริมาณงานการผลิตทั้งหมด โหนด CM ติดตามความสมบูรณ์ของคลัสเตอร์ สถานะและตำแหน่งของดัชนีและส่วนแบ่ง การแมปสำหรับดัชนีทั้งหมด และความพร้อมใช้งานของโหนดข้อมูล และจะรักษารายการงานระดับคลัสเตอร์ที่อยู่ระหว่างดำเนินการ หากไม่มีโหนด CM เฉพาะ คลัสเตอร์จะใช้โหนดข้อมูล ซึ่งทำให้คลัสเตอร์มีความเสี่ยงต่อความต้องการปริมาณงาน คุณควรกำหนดขนาดโหนด CM ตามขนาดของงาน โดยหลักๆ แล้ว จำนวนโหนดข้อมูล จำนวนดัชนี และจำนวนส่วนแบ่งข้อมูล OpenSearch Service จะปรับใช้โหนด CM ใน Availability Zone สามแห่งเสมอ เมื่อได้รับการสนับสนุนจากภูมิภาค (สองใน Availability Zone หนึ่งแห่งและอีกหนึ่งแห่งใน Availability Zone อื่นๆ หากภูมิภาคมี Availability Zone เพียงสองแห่งเท่านั้น) สำหรับโดเมนที่ทำงานอยู่ จะมีโหนด CM เพียงหนึ่งในสามโหนดเท่านั้นที่ทำงานเป็นผู้นำที่ได้รับเลือก อีกสองโหนด CM จะมีส่วนร่วมในการเลือกตั้งหากโหนด CM ที่เลือกล้มเหลว

ตารางต่อไปนี้แสดงคำแนะนำของ AWS สำหรับการกำหนดขนาด CM โหนด CM ทำงานตามจำนวนโหนด ดัชนี ชาร์ด และการแมป ยิ่งทำงานมากเท่าไร คุณก็ยิ่งต้องประมวลผลและหน่วยความจำมากขึ้น และทำงานกับสถานะคลัสเตอร์ได้มากขึ้นเท่านั้น

จำนวนอินสแตนซ์ ขนาด RAM โหนดตัวจัดการคลัสเตอร์ จำนวนชาร์ดที่รองรับสูงสุด ประเภทอินสแตนซ์ตัวจัดการคลัสเตอร์เฉพาะขั้นต่ำที่แนะนำ
1 10- 8 กิ๊บ 10,000 m5.large.search หรือ m6g.large.search
11 30- 16 กิ๊บ 30,000 c5.2xlarge.search หรือ c6g.2xlarge.search
31 75- 32 กิ๊บ 40,000 c5.4xlarge.search หรือ c6g.4xlarge.search
76 - 125 64 กิ๊บ 75,000 r5.2xlarge.search หรือ r6g.2xlarge.search
126 - 200 128 กิ๊บ 75,000 r5.4xlarge.search หรือ r6g.4xlarge.search

ดัชนีและเศษ

ดัชนีเป็นโครงสร้างเชิงตรรกะที่รวบรวมคอลเลกชันของเอกสาร คุณแบ่งพาร์ติชันดัชนีของคุณสำหรับการประมวลผลแบบขนานโดยการระบุจำนวนส่วนแบ่งข้อมูลหลัก โดยที่ส่วนแบ่งข้อมูลแสดงถึงหน่วยทางกายภาพสำหรับการจัดเก็บและประมวลผลข้อมูล ใน OpenSearch Service ชิ้นส่วนอาจเป็นได้ทั้งชิ้นส่วนหลักหรือชิ้นส่วนจำลอง คุณใช้แบบจำลองเพื่อความคงทน หากส่วนแบ่งข้อมูลหลักสูญหาย OpenSearch Service จะเลื่อนแบบจำลองรายการใดรายการหนึ่งไปเป็นแบบจำลองหลัก และเพื่อปรับปรุงปริมาณการค้นหา OpenSearch Service ช่วยให้มั่นใจได้ว่าชาร์ดหลักและเรพลิกาจะอยู่ในโหนดที่แตกต่างกันและข้าม Availability Zone ที่แตกต่างกัน หากมีการใช้งานใน Availability Zone มากกว่าหนึ่งแห่ง เพื่อความพร้อมใช้งานสูง AWS แนะนำให้กำหนดค่าแบบจำลองอย่างน้อยสองตัวสำหรับแต่ละดัชนีในการตั้งค่าสามโซนเพื่อหลีกเลี่ยงการหยุดชะงักในประสิทธิภาพและความพร้อมใช้งาน ในการตั้งค่าหลาย AZ หากโหนดล้มเหลวหรือในกรณีที่แย่ที่สุดที่ Availability Zone ล้มเหลว คุณจะยังคงมีสำเนาของข้อมูล

การตรวจสอบและการจัดการคลัสเตอร์

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

การใช้งาน CPU

คุณใช้ CPU ในโดเมนของคุณเพื่อรันปริมาณงานของคุณ ตามกฎทั่วไป คุณควรกำหนดเป้าหมายการใช้งาน CPU โดยเฉลี่ย 60% สำหรับโหนดข้อมูลใดๆ โดยมีจุดสูงสุดที่ 80% และทนต่อการใช้งานที่เพิ่มขึ้นเล็กน้อยจนถึง 100% เมื่อคุณพิจารณาความพร้อมใช้งาน และโดยเฉพาะอย่างยิ่งเมื่อพิจารณาถึงความไม่พร้อมใช้งานของโซนเต็ม มีสองสถานการณ์ หากคุณมี Availability Zone สองแห่ง แต่ละโซนจะจัดการการรับส่งข้อมูล 50% หากโซนไม่พร้อมใช้งาน โซนอื่นจะรับการรับส่งข้อมูลทั้งหมด ทำให้มีการใช้ CPU เป็นสองเท่า ในกรณีดังกล่าว คุณจะต้องใช้งาน CPU โดยเฉลี่ยประมาณ 30–40% ในแต่ละโซนเพื่อรักษาความพร้อมใช้งาน หากคุณใช้งาน Availability Zone สามแห่ง แต่ละโซนจะรับ 33% ของการรับส่งข้อมูล หากโซนไม่พร้อมใช้งาน แต่ละโซนจะได้รับปริมาณการรับส่งข้อมูลประมาณ 17% ในกรณีนี้ คุณควรกำหนดเป้าหมายการใช้งาน CPU โดยเฉลี่ย 50–60%

การใช้หน่วยความจำ

OpenSearch Service รองรับการรวบรวมขยะสองประเภท อย่างแรกคือการรวบรวมขยะ G1 (G1GC) ซึ่งใช้โดยโหนด OpenSearch Service ซึ่งขับเคลื่อนโดย AWS Graviton 2. อย่างที่สองคือ Concurrent Mark Sweep (CMS) ซึ่งใช้โดยโหนดทั้งหมดที่ขับเคลื่อนโดยโปรเซสเซอร์อื่น จากหน่วยความจำทั้งหมดที่จัดสรรให้กับโหนด ครึ่งหนึ่งของหน่วยความจำ (สูงสุด 32 GB) ถูกกำหนดให้กับฮีป Java และหน่วยความจำที่เหลือถูกใช้โดยงานระบบปฏิบัติการอื่นๆ แคชของระบบไฟล์ และอื่นๆ เพื่อรักษาความพร้อมใช้งานสำหรับโดเมน เราแนะนำให้รักษาการใช้งาน JVM สูงสุดไว้ที่ประมาณ 80% ใน CMS และ 95% ใน G1GC อะไรก็ตามที่นอกเหนือจากนั้นจะส่งผลต่อความพร้อมใช้งานของโดเมนของคุณ และทำให้คลัสเตอร์ของคุณไม่มีประสิทธิภาพ นอกจากนี้เรายังแนะนำให้เปิดใช้งานการปรับแต่งอัตโนมัติ ซึ่งจะตรวจสอบการใช้งานหน่วยความจำและทริกเกอร์ตัวรวบรวมขยะ

การใช้พื้นที่จัดเก็บข้อมูล

OpenSearch Service เผยแพร่หลักเกณฑ์หลายประการสำหรับ ขนาดของโดเมน. เรามีสูตรเชิงประจักษ์เพื่อให้คุณสามารถกำหนดปริมาณพื้นที่จัดเก็บที่เหมาะสมกับความต้องการของคุณได้ อย่างไรก็ตาม สิ่งสำคัญคือต้องคอยสังเกตการสิ้นเปลืองพื้นที่จัดเก็บตามเวลาและการเปลี่ยนแปลงในลักษณะปริมาณงาน เพื่อให้แน่ใจว่าโดเมนจะไม่มีพื้นที่เก็บข้อมูลไม่เพียงพอและสามารถจัดทำดัชนีข้อมูลต่อไปได้ คุณควรกำหนดค่า อเมซอน คลาวด์วอตช์ สัญญาณเตือนและตรวจสอบพื้นที่เก็บข้อมูลฟรีของคุณ

AWS ยังแนะนำให้เลือกจำนวนส่วนแบ่งข้อมูลหลักเพื่อให้แต่ละส่วนแบ่งข้อมูลอยู่ในช่วงขนาดที่เหมาะสมที่สุด คุณสามารถกำหนดขนาดส่วนแบ่งข้อมูลที่เหมาะสมที่สุดได้ผ่านการทดสอบการพิสูจน์แนวคิดด้วยข้อมูลและการรับส่งข้อมูลของคุณ เราใช้ขนาดชาร์ดหลัก 10–30 GB สำหรับกรณีการใช้งานการค้นหา และขนาดชาร์ดหลัก 45–50 GB สำหรับกรณีการใช้งานการวิเคราะห์บันทึกเป็นแนวทาง เนื่องจากชาร์ดคือผู้ปฏิบัติงานในโดเมนของคุณ จึงมีหน้าที่รับผิดชอบโดยตรงในการกระจายภาระงานข้ามโหนดข้อมูล หากชาร์ดของคุณมีขนาดใหญ่เกินไป คุณอาจพบปัญหาในฮีป Java ของคุณจากการรวมกลุ่มขนาดใหญ่ ประสิทธิภาพการสืบค้นที่แย่ลง และประสิทธิภาพที่แย่ลงในงานระดับคลัสเตอร์ เช่น การปรับสมดุลชาร์ดใหม่ สแน็ปช็อต และการย้ายแบบ Hot-to-Warm หากชาร์ดของคุณมีขนาดเล็กเกินไป ชาร์ดเหล่านั้นอาจกินพื้นที่ฮีป Java ของโดเมนมากเกินไป ทำให้ประสิทธิภาพการสืบค้นแย่ลงผ่านเครือข่ายภายในที่มากเกินไป และทำให้งานระดับคลัสเตอร์ช้าลง นอกจากนี้เรายังแนะนำให้รักษาจำนวนชาร์ดต่อโหนดตามสัดส่วนของฮีปที่มีอยู่ (ครึ่งหนึ่งของ RAM ของอินสแตนซ์สูงสุด 32 GB)—25 ชาร์ดต่อ GB ของฮีป Java ซึ่งทำให้มีขีดจำกัดในทางปฏิบัติที่ 1,000 ชาร์ดบนโหนดข้อมูลใดๆ ในโดเมนของคุณ

สรุป

ในโพสต์นี้ คุณได้เรียนรู้เคล็ดลับและคำแนะนำต่างๆ ในการตั้งค่าโดเมนที่มีความพร้อมใช้งานสูงโดยใช้ OpenSearch Service ซึ่งช่วยให้คุณรักษาประสิทธิภาพและความพร้อมของบริการ OpenSearch ไว้ได้ด้วยการเรียกใช้โดเมนใน Availability Zone สามแห่ง

คอยติดตามชุดโพสต์ที่เน้นไปที่ฟีเจอร์และฟังก์ชันต่างๆ ด้วย OpenSearch Service หากคุณมีความคิดเห็นเกี่ยวกับโพสต์นี้ โปรดส่งในส่วนความคิดเห็น หากคุณมีคำถามเกี่ยวกับโพสต์นี้ ให้ตั้งกระทู้ใหม่ใน ฟอรั่มบริการ OpenSearch หรือติดต่อ ฝ่ายสนับสนุนของ AWS.


เกี่ยวกับผู้แต่ง

โรฮิน บารกาวา เป็น Sr. Product Manager กับทีม Amazon OpenSearch Service ความหลงใหลใน AWS ของเขาคือการช่วยลูกค้าค้นหาการผสมผสานบริการของ AWS ที่ถูกต้องเพื่อให้บรรลุเป้าหมายทางธุรกิจของตน

ปราศานต์ อัครวาล เป็น Sr. Search Specialist Solutions Architect กับ Amazon OpenSearch Service เขาทำงานอย่างใกล้ชิดกับลูกค้าเพื่อช่วยย้ายปริมาณงานไปยังระบบคลาวด์และช่วยลูกค้าที่มีอยู่ปรับแต่งคลัสเตอร์เพื่อให้ได้ประสิทธิภาพที่ดีขึ้นและประหยัดค่าใช้จ่าย ก่อนเข้าร่วม AWS เขาช่วยให้ลูกค้าหลายรายใช้ OpenSearch และ Elasticsearch สำหรับกรณีการใช้งานการวิเคราะห์และบันทึกการค้นหา เมื่อไม่ได้ทำงาน คุณสามารถหาเขาไปเที่ยวและสำรวจสถานที่ใหม่ๆ สรุปคือเขาชอบกิน→เที่ยว→ทำซ้ำ

ประทับเวลา:

เพิ่มเติมจาก AWS ข้อมูลขนาดใหญ่

รับปริมาณงานการสืบค้นที่สูงขึ้น: การปรับขนาดอัตโนมัติใน Amazon OpenSearch Serverless รองรับการปรับขนาดการจำลองส่วนแบ่งข้อมูลแล้ว อเมซอนเว็บเซอร์วิส

โหนดต้นทาง: 2932459
ประทับเวลา: ตุลาคม 12, 2023