Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

จะดีบักการล็อกเกินเวลารอบน MySQL ได้อย่างไร


สถานการณ์การหมดเวลารอการล็อกดีบักเกิดขึ้นเนื่องจากบางเธรด หากเธรดหนึ่งยึดบางเร็กคอร์ดไว้เป็นเวลานานมาก แสดงว่าเธรดนั้นเกินเวลาแล้ว

หากต้องการดูรายละเอียดทั้งหมด ให้ใช้แบบสอบถามต่อไปนี้ −

mysql> แสดงสถานะของ INNODB ของเครื่องยนต์

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+---------+------+----------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------+| พิมพ์ | ชื่อ | สถานะ |+-------+------+----------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ---------+| InnoDB | |=====================================2018-10-23 09:55:05 0x19e8 INNODB MONITOR OUTPUT==================================================================================================================================================--------------- เธรดพื้นหลัง ----------------- srv_master_thread ลูป:2 srv_active, 0 srv_shutdown, 17805 srv_idlesrv_master_thread บันทึกล้างและเขียน:0----------SEMAPHORES----------OS WAIT ARRAY INFO:จำนวนการจอง 3OS WAIT ARRAY INFO:จำนวนสัญญาณ สปินที่แชร์ 3RW 0, รอบ 0, OS รอ 0RW-excl หมุน 0, รอบ 0, OS รอ 0RW-sx หมุน 0, รอบ 0, OS รอ 0 รอบการหมุนต่อการรอ:0.00 RW ที่ใช้ร่วมกัน, 0.00 RW-excl, 0.00 RW-sx ------------ ธุรกรรม -------------- ตัวนับ Trx id 21000 ล้างเสร็จแล้วสำหรับ trx's n:o <20998 เลิกทำ n:o <0 สถานะ:ทำงานอยู่ แต่ความยาวของรายการ idleHistory 3 รายการของธุรกรรมสำหรับแต่ละเซสชัน:--- ธุรกรรม 283438498772800 , not start0 lock struct(s), heap size 1136, 0 row lock(s) --------FILE I/O -------- สถานะ I/O thread 0:รอ Windows aio ( ใส่บัฟเฟอร์เธรด)I/O เธรด 1 สถานะ:รอ Wind ows aio (ล็อกเธรด)สถานะ I/O เธรด 2:รอ Windows aio (อ่านเธรด)สถานะเธรด I/O 3:รอ Windows aio (อ่านเธรด)สถานะ I/O เธรด 4:รอ Windows aio (อ่านเธรด)I/ สถานะเธรด O 5:รอ Windows aio (อ่านเธรด)สถานะเธรด I/O 6:รอ Windows aio (เขียนเธรด)สถานะเธรด I/O 7:รอ Windows aio (เขียนเธรด)สถานะเธรด I/O 8:รอ Windows aio (เขียนเธรด) สถานะเธรด I/O 9:รอ Windows aio (เขียนเธรด) รออ่าน aio ปกติ:[0, 0, 0, 0] , aio เขียน:[0, 0, 0, 0] , ibuf aio อ่าน:, บันทึก i/o's:, sync i/o's:Pending flushes (fsync) บันทึก:0; บัฟเฟอร์พูล:อ่านไฟล์ OS 01025, เขียนไฟล์ OS 545, 11 OS fsyncs0.00 อ่าน/s, 0 ไบต์เฉลี่ย/อ่าน, 0.00 เขียน/s, 0.00 fsyncs/s -------------- ------------------------ แทรกบัฟเฟอร์และดัชนีแฮชที่ปรับเปลี่ยนได้ -------------- -----------------Ibuf:ขนาด 1 รายการฟรี len 0, ขนาด seg 2, 0 การดำเนินการที่ผสานรวม:แทรก 0, เครื่องหมายลบ 0, ลบ 0 การดำเนินการที่ถูกทิ้ง:แทรก 0, ลบ เครื่องหมาย 0, ลบ 0 ขนาดตารางแฮช 2267, โหนดฮีปมีบัฟเฟอร์ 0 บัฟเฟอร์ขนาดตารางแฮช 2267, ฮีปโหนดมี 1 บัฟเฟอร์ขนาดตารางแฮช 2267, ฮีปโหนดมี 3 บัฟเฟอร์ขนาดตารางแฮช 2267, โหนดฮีป มี 1 บัฟเฟอร์ขนาดตารางแฮช 2267 โหนดฮีปมีบัฟเฟอร์ 0 ขนาดตารางแฮช 2267 ฮีปโหนดมี 0 บัฟเฟอร์ขนาดตารางแฮช 2267 ฮีปของโหนดมีบัฟเฟอร์ 0 บัฟเฟอร์ขนาดตารางแฮช 2267 โหนดฮีปมี 0 บัฟเฟอร์ 0.00 การค้นหาแฮช 0.00 การค้นหา/วินาที 0.29 การค้นหาที่ไม่ใช่แฮช/s---LOG---บันทึกลำดับหมายเลข 24309079 บัฟเฟอร์ล็อกที่กำหนดสูงสุด 24309079 บัฟเฟอร์การบันทึกเสร็จสมบูรณ์สูงสุด 24309079 บันทึกการเขียนสูงสุด 24309079 การบันทึกฟลัชสูงสุด 24309079เพิ่มหน้าสกปรกสูงสุด 24309079หน้าล้างข้อมูลสูงสุด 24309079จุดตรวจสุดท้ายที่ 24309079388 บันทึก i/o เสร็จสิ้น 0.00 บันทึก i/o's/วินาที---------------------- BUFFER POOL และหน่วยความจำ---------------------- รวมหน่วยความจำขนาดใหญ่ทั้งหมด 8585216 หน่วยความจำพจนานุกรมจัดสรร 361173 ขนาดบัฟเฟอร์ 512 บัฟเฟอร์ว่าง 251 หน้าฐานข้อมูล 256 หน้าฐานข้อมูลเก่า 0 หน้า db ที่แก้ไขแล้ว 0 รออ่าน 0 รอเขียนอยู่:LRU 0, รายการล้าง 0, หน้าเดียว 0 เพจทำให้หนุ่ม 0, ไม่เด็ก 00.00 youngs/s, 0.00 non-youngs/sPages อ่าน 1002, สร้าง 132, เขียน 1440.00 อ่าน/s, 0.00 สร้าง/s, 0.00 เขียน/sอัตราการตีกลุ่มบัฟเฟอร์ 1000 / 1000, อัตราการสร้างเด็ก 0 / 1000 ไม่ใช่ 0 / 1000Pages อ่านล่วงหน้า 0.00/s, ขับไล่โดยไม่มีการเข้าถึง 0.00/s, สุ่มอ่านล่วงหน้า 0.00/sLRU len:256, unzip_LRU len:0I/O sum[0]:cur [0], unzip sum[0]:cur[0]------------ROW OPERATIONS --------------- แบบสอบถามภายใน InnoDB, 0 ข้อความค้นหาในคิว0 อ่านมุมมองที่เปิดอยู่ใน InnoDBProcess ID =3260 รหัสเธรดหลัก =00000 0000000106C สถานะ =sleepNumber ของแถวที่แทรก 0, อัปเดต 313, ลบ 0, อ่าน 45340.00 แทรก/s, 0.00 อัปเดต/s, 0.00 ลบ/s, 0.14 อ่าน/s -------------- -------------- สิ้นสุด INNODB MONITOR OUTPUT============================|+- --------------------------------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ------------------------------ +1 แถวในชุด (0.00 วินาที)mysql>

ด้านบนแสดงรายละเอียดทั้งหมดที่เกี่ยวข้องกับเธรดและ I/O