Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में लॉक वेट टाइमआउट डीबग कैसे करें

डिबग लॉक वेट टाइमआउट स्थिति कुछ थ्रेड्स के कारण होती है। यदि एक थ्रेड बहुत लंबे समय तक कुछ रिकॉर्ड्स को होल्ड करके रखता है, तो इसका मतलब है कि थ्रेड ने समय सीमा पार कर ली है।

सभी विवरण देखने के लिए, निम्नलिखित क्वेरी लागू करें:

mysql> SHOW ENGINE INNODB STATUS;

निम्नलिखित आउटपुट है।

+--------+------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| Type | Name | Status | 
+--------+------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| InnoDB | | ===================================== 2018-10-23 09:55:05 0x19e8 INNODB MONITOR OUTPUT ===================================== 
Per second averages calculated from the last 7 seconds 
----------------- 
BACKGROUND THREAD 
----------------- 
srv_master_thread loops: 2 srv_active, 0 srv_shutdown, 17805 srv_idle 
srv_master_thread log flush and writes: 0 
---------- 
SEMAPHORES 
---------- 
OS WAIT ARRAY INFO: reservation count 3 
OS WAIT ARRAY INFO: signal count 3 
RW-shared spins 0, rounds 0, OS waits 0 
RW-excl spins 0, rounds 0, OS waits 0 
RW-sx spins 0, rounds 0, OS waits 0 
Spin rounds per wait: 0.00 RW-shared, 0.00 RW-excl, 0.00 RW-sx 
------------ 
TRANSACTIONS 
------------ 
Trx id counter 21000 
Purge done for trx's n:o < 20998 undo n:o < 0 state: running but idle 
History list length 3 
LIST OF TRANSACTIONS FOR EACH SESSION: 
---TRANSACTION 283438498772800, not started 
0 lock struct(s), heap size 1136, 0 row lock(s) 
-------- 
FILE I/O 
-------- 
I/O thread 0 state: wait Windows aio (insert buffer thread) 
I/O thread 1 state: wait Windows aio (log thread) 
I/O thread 2 state: wait Windows aio (read thread) 
I/O thread 3 state: wait Windows aio (read thread) 
I/O thread 4 state: wait Windows aio (read thread) 
I/O thread 5 state: wait Windows aio (read thread) 
I/O thread 6 state: wait Windows aio (write thread) 
I/O thread 7 state: wait Windows aio (write thread) 
I/O thread 8 state: wait Windows aio (write thread) 
I/O thread 9 state: wait Windows aio (write thread) 
Pending normal aio reads: [0, 0, 0, 0] , aio writes: [0, 0, 0, 0] , ibuf aio reads:, log i/o's:, sync i/o's: 
Pending flushes (fsync) log: 0; buffer pool: 0 
1025 OS file reads, 545 OS file writes, 11 OS fsyncs 
0.00 reads/s, 0 avg bytes/read, 0.00 writes/s, 0.00 fsyncs/s 
------------------------------------- 
INSERT BUFFER AND ADAPTIVE HASH INDEX 
------------------------------------- 
Ibuf: size 1, free list len 0, seg size 2, 0 merges 
merged operations: insert 0, delete mark 0, delete 0 
discarded operations: insert 0, delete mark 0, delete 0 
Hash table size 2267, node heap has 0 buffer(s) 
Hash table size 2267, node heap has 1 buffer(s) 
Hash table size 2267, node heap has 3 buffer(s) 
Hash table size 2267, node heap has 1 buffer(s) 
Hash table size 2267, node heap has 0 buffer(s) 
Hash table size 2267, node heap has 0 buffer(s) 
Hash table size 2267, node heap has 0 buffer(s) 
Hash table size 2267, node heap has 0 buffer(s) 
Hash table size 2267, node heap has 0 buffer(s) 
0.00 hash searches/s, 0.29 non-hash searches/s 
--- 
LOG 
--- 
Log sequence number 24309079 
Log buffer assigned up to 24309079 
Log buffer completed up to 24309079 
Log written up to 24309079 
Log flushed up to 24309079 
Added dirty pages up to 24309079 
Pages flushed up to 24309079 
Last checkpoint at 24309079 
388 log i/o's done, 0.00 log i/o's/second 
---------------------- 
BUFFER POOL AND MEMORY 
---------------------- 
Total large memory allocated 8585216 
Dictionary memory allocated 361173 
Buffer pool size 512 
Free buffers 251 
Database pages 256 
Old database pages 0 
Modified db pages 0 
Pending reads 0 
Pending writes: LRU 0, flush list 0, single page 0 
Pages made young 0, not young 0 
0.00 youngs/s, 0.00 non-youngs/s 
Pages read 1002, created 132, written 144 
0.00 reads/s, 0.00 creates/s, 0.00 writes/s 
Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000 
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s 
LRU len: 256, unzip_LRU len: 0 
I/O sum[0]:cur[0], unzip sum[0]:cur[0] 
-------------- 
ROW OPERATIONS 
-------------- 
0 queries inside InnoDB, 0 queries in queue 
0 read views open inside InnoDB 
Process ID = 3260, Main thread ID = 000000000000106C , state = sleeping 
Number of rows inserted 0, updated 313, deleted 0, read 4534 
0.00 inserts/s, 0.00 updates/s, 0.00 deletes/s, 0.14 reads/s 
---------------------------- 
END OF INNODB MONITOR OUTPUT ============================ 
| 
+--------+------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
1 row in set (0.00 sec) 
mysql>

उपरोक्त आउटपुट थ्रेड और I/O से संबंधित सभी विवरण दिखाता है।

व्यावहारिक सुझाव: SHOW ENGINE INNODB STATUS का TRANSACTIONS सेक्शन लंबे समय से चल रहे लेनदेन और लॉक दिखाता है। performance_schema.data_locks और data_lock_waits (MySQL 8.0+) लॉक जानकारी के लिए अधिक संरचित और क्वेरी योग्य दृश्य प्रदान करते हैं। innodb_lock_wait_timeout (डिफ़ॉल्ट 50 सेकंड) बढ़ाना अस्थायी समाधान है; मूल कारण (लंबे लेनदेन, लापता इंडेक्स) को ठीक करना बेहतर है।
  1. विंडोज़ 10 लॉक स्क्रीन टाइमआउट को आसानी से कैसे बदलें विंडोज़ 10 लॉक स्क्रीन टाइमआउट को आसानी से कैसे बदलें

    माइक्रोसॉफ्ट ने विंडोज़ 8 में नई लॉक स्क्रीन सुविधा पेश की और इसे विंडोज़ 10 और विंडोज़ 10 एनिवर्सरी अपडेट में और बेहतर बनाया। भले ही आप लॉक स्क्रीन के कुछ पहलुओं को नियंत्रित कर सकते हैं जैसे लॉक स्क्रीन पर कोरटाना, लॉक स्क्रीन पर टिप्स, लॉक स्क्रीन वॉलपेपर, आदि, विंडोज़ 10 में लॉक स्क्रीन टाइमआउट

  1. - विंडोज 10 लॉक स्क्रीन टाइमआउट को कैसे बढ़ाएं

    विंडोज 8 हमारे लिए लॉक स्क्रीन लेकर आया, जो आपके पीसी को स्लीप से जगाने और आपका पासवर्ड टाइप करने के बीच एक पुल का काम करता है। यह विंडोज 10 में एक उन्नत रूप में जारी है। कुछ लोग लॉक स्क्रीन को अनावश्यक मानते हैं, लेकिन इसके उपयोग हैं, जिसमें आपके ऐप्स से जानकारी प्रदान करना और एनिवर्सरी अपडेट में क

  1. Windows 10 लॉक स्क्रीन टाइमआउट सेटिंग्स कैसे बढ़ाएं Windows 10 लॉक स्क्रीन टाइमआउट सेटिंग्स कैसे बढ़ाएं

    Windows 10 यकीनन PC पर देखे जाने वाले सर्वोत्तम ग्राफिकल इंटरफेस प्रदान करता है। इंटरैक्टिव सत्र से लेकर लॉक स्क्रीन के रूप में जानी जाने वाली स्क्रीनसेवर सुविधा तक। लॉक स्क्रीन अब आपके PC का उपयोग न करने पर समाचार प्रदान करने के लिए डिज़ाइन की गई है, लेकिन पुराने स्क्रीनसेवर की तरह, ज्यादातर लोग इस