Score:0

วิธีลดการเขียนดิสก์ MySQL/InnoDB

ธง gb

ฉันกำลังทดสอบแอปพลิเคชันที่ใช้ MySQL คอขวดคือดิสก์ MySQL (แยกสำหรับข้อมูลหลักและบันทึกซ้ำ) ซึ่งเขียนไปค่อนข้างมาก บนยอด แสดงว่าการใช้งานใกล้ถึง 100% แล้ว หากฉันปิดใช้งานบันทึกการทำซ้ำ (เปลี่ยนอินสแตนซ์ ปิดใช้งาน REDO_LOG ของ INNODB) จากนั้นการใช้งานดิสก์จะกลายเป็นเพียงเล็กน้อย (2% สำหรับดิสก์หลักและศูนย์âตามธรรมชาติâสำหรับดิสก์บันทึกการทำซ้ำ)

ฉันต้องลดการใช้ดิสก์ (ไม่จำเป็นต้องเล็กน้อย แต่ต้องน้อยลงมาก) โดยไม่ปิดการใช้งานบันทึกการทำซ้ำ เป็นเรื่องปกติที่จะสูญเสียข้อมูลหลายวินาที (แม้เป็นนาที) ในกรณีที่เกิดการหยุดทำงาน ฉันได้ลองสิ่งนี้แล้ว:

innodb_flush_method = O_DSYNC
innodb_flush_log_at_trx_commit = 0
innodb_flush_log_at_timeout = 5

แต่ฉันไม่เห็นความแตกต่างใด ๆ

มีอะไรอีกบ้างที่ฉันสามารถทำได้

นี่คือ MySQL 8.0.29 บน Ubuntu 20.04

(หมายเหตุ: แอปพลิเคชันคือ Nextcloud และเห็นได้ชัดว่าสร้างคำขอเขียนฐานข้อมูลจำนวนมาก)

Wilson Hauck avatar
jp flag
มีการเปลี่ยนแปลง GV มากขึ้นเพื่อลดความถี่ในการเขียน โปรดขอข้อมูลเพิ่มเติม ขนาด RAM, # คอร์, SSD หรืออุปกรณ์ NVME บนเซิร์ฟเวอร์โฮสต์ MySQL หรือไม่ โพสต์บน pastebin.com และแชร์ลิงก์ จากรูทการเข้าสู่ระบบ SSH ของคุณ ผลลัพธ์ข้อความของ: ก) เลือก COUNT(*) จาก information_schema.tables; B) แสดงสถานะทั่วโลก; หลังจาก UPTIME ขั้นต่ำ 24 ชั่วโมง C) แสดงตัวแปรทั่วโลก; D) แสดงรายการกระบวนการทั้งหมด; จ) สถานะ; ไม่แสดงสถานะเพียงสถานะ; สำหรับการวิเคราะห์การปรับแต่งเวิร์กโหลดของเซิร์ฟเวอร์เพื่อให้คำแนะนำ
Wilson Hauck avatar
jp flag
Nextcloud Partner รายใดที่คุณโฮสต์อยู่
ua flag
เราสามารถอธิบายการใช้ดิสก์สำหรับข้อความค้นหาเฉพาะได้ นอกจากนี้ หาก "การทดสอบความเครียด" ไม่ตรงกับใบสมัครของคุณ ข้อสรุปจากการทดสอบอาจทำให้เข้าใจผิดได้
djdomi avatar
za flag
ฉันขอแนะนำให้คุณนำคำถามไปที่ dba imho
Score:1
ธง gb

ฉันพบว่านี่เป็นปัญหาของ Nextcloud มากกว่าปัญหา MySQL

โดยการตรวจ Innodb_os_log_written เป็นส่วนหนึ่งของ แสดงสถานะทั่วโลกผลลัพธ์ของ ฉันตรวจสอบแล้วว่ากำลังเขียน 1M/s ขึ้นไปในบันทึกการทำซ้ำ เห็นได้ชัดว่าเป็นจำนวนข้อมูลที่แท้จริงที่ทำให้เกิดปัญหาในดิสก์ที่ช้าของฉันแทนที่จะเป็นรายละเอียดว่าซิงค์เมื่อใดและอย่างไร

โดยการตั้งค่า general_log='เปิด' และตรวจสอบข้อความค้นหา ในที่สุดฉันก็พบว่ามันคือ ข้อผิดพลาด Nextcloudซึ่งการเข้าสู่ระบบจะทำให้เกิดคำถามมากเกินไปหลังจากวิธีแก้ปัญหาการตัดทอน oc_authtoken อัตราการเขียนบันทึกการทำซ้ำลดลงเหลือน้อยกว่าหนึ่งในสิบของที่เป็นอยู่

Wilson Hauck avatar
jp flag
การค้นพบที่ยิ่งใหญ่และการดำเนินการแก้ไข ขั้นตอนต่อไปคือการให้ข้อมูลเพิ่มเติมที่ร้องขอในวันที่ 31 พฤษภาคม 2022 เวลา 15:22 น. เพื่อให้วิเคราะห์ภาระงานได้ และคำแนะนำบางอย่างเพื่อลดกิจกรรมการอ่าน/เขียนจะถูกโพสต์เป็นคำตอบ..

โพสต์คำตอบ

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