MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで超過したロック待機タイムアウトをデバッグする方法は?


一部のスレッドが原因で、デバッグロック待機タイムアウトの状況が発生します。 1つのスレッドが非常に長い間いくつかのレコードを保持している場合、それはスレッドが時間を超えたことを意味します。

すべての詳細を表示するには、次のクエリを実装します-

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)
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に関連するすべての詳細を示しています。


  1. Windows10のロック画面のタイムアウトを簡単に変更する方法

    Microsoftは、Windows 8に新しいロック画面機能を導入し、Windows10およびWindows10Anniversaryアップデートでさらに改善しました。ロック画面のCortana、ロック画面のヒント、ロック画面の壁紙など、ロック画面の特定の側面を制御できますが、Windows10ではロック画面のタイムアウト設定を制御するための表示オプションはありません。 Windows10のロック画面は1分でタイムアウトします。 ただし、ロック画面でCortanaに長時間アクセスしたい場合、またはロック画面で時間やその他の通知を表示したい場合は、ロック画面のタイムアウトを増やすことができま

  2. Windows10のロック画面のタイムアウト設定を増やす方法

    Windows 10は、間違いなく、PCで見られる最高のグラフィカルインターフェイスを提供します。インタラクティブセッションからロックスクリーンと呼ばれるスクリーンセーバー機能まで。ロック画面は、PCを使用していないときにニュースを提供するように設計されていますが、古いスクリーンセーバーと同様に、ほとんどの人は、コンピューターを使用していないときに魅力的な画像のスライドショーを表示することで、娯楽に使用しています。 基本的に、スクリーンセーバーはブラウン管(CRT)画面の燃え尽き症候群を防ぐために使用されていましたが、現在は上記の新機能に加えてセキュリティ機能として使用されています。コンピュ