Bonjour à tous,
J'ai un petit problème au niveau d'un lock sur une table dans MySQL. J'ai très peu d'expérience sur MySQL je suis un dba Sybase à l'origine.
Mon souci est que régulièrement des blocages apparaissent sur une table baignoire qui est très accédé mais qui possède aussi très peu de lignes (pas plus de 20 à in instant t).
si je regarde plus en détail dans la table innodb_trx je trouve le processus qui bloque tout le monde. Par contre il est en RUNNING mais aucune info dans trx_query qui est à null. Donc pas moyen de savoir ce qu'il fait (sauf s'il y a une autre façon de faire?)
Je m’aperçois aussi que le départ de la transaction peut être très éloigné des fois de plus de 20mins alors que rien ne remonte dans les requêtes lentes.
De plus ayant les journaux binaires activés si je regarde dedans à l'heure de début de la transaction je ne trouve absolument rien.
Pour information l'appli qui utilise la base est une application médicale dont certain client sont en wifi et sont souvent déconnecté du réseau. Je me demande donc s'il peu s'agir d'un processus fantôme ?
Voici les quelques traces que j'ai:
Si vous avez des idées ou d'autres façon de prendre des traces je suis preneur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85 mysql> select * from information_schema.innodb_trx\G *************************** 1. row *************************** trx_id: 4C7062FD trx_state: LOCK WAIT trx_started: 2013-09-03 10:27:36 trx_requested_lock_id: 4C7062FD:0:507913:17 trx_wait_started: 2013-09-03 10:27:36 trx_weight: 2 trx_mysql_thread_id: 11798 trx_query: UPDATE `cmn_blocage` SET `Date_Raffraichissement` = '2013-09-03 10:27:35.980' WHERE `IDCMN_Blocage`=2504951 trx_operation_state: starting index read trx_tables_in_use: 1 trx_tables_locked: 1 trx_lock_structs: 2 trx_lock_memory_bytes: 376 trx_rows_locked: 1 trx_rows_modified: 0 trx_concurrency_tickets: 0 trx_isolation_level: REPEATABLE READ trx_unique_checks: 1 trx_foreign_key_checks: 1 trx_last_foreign_key_error: NULL trx_adaptive_hash_latched: 0 trx_adaptive_hash_timeout: 9703 *************************** 2. row *************************** trx_id: 4C706283 trx_state: LOCK WAIT trx_started: 2013-09-03 10:27:20 trx_requested_lock_id: 4C706283:0:507913:21 trx_wait_started: 2013-09-03 10:27:20 trx_weight: 3 trx_mysql_thread_id: 12667 trx_query: DELETE FROM `cmn_blocage` WHERE ( ( `cmn_blocage`.`ID_UTILISATEUR` = 820 ) AND ( `cmn_blocage`.`NomMachine` = 'CHEFBLOC' ) ) trx_operation_state: fetching rows trx_tables_in_use: 1 trx_tables_locked: 1 trx_lock_structs: 3 trx_lock_memory_bytes: 1248 trx_rows_locked: 20 trx_rows_modified: 0 trx_concurrency_tickets: 0 trx_isolation_level: REPEATABLE READ trx_unique_checks: 1 trx_foreign_key_checks: 1 trx_last_foreign_key_error: NULL trx_adaptive_hash_latched: 0 trx_adaptive_hash_timeout: 0 *************************** 3. row *************************** trx_id: 4C6D9668 trx_state: RUNNING trx_started: 2013-09-03 09:41:57 trx_requested_lock_id: NULL trx_wait_started: NULL trx_weight: 129 trx_mysql_thread_id: 11968 trx_query: NULL trx_operation_state: NULL trx_tables_in_use: 0 trx_tables_locked: 0 trx_lock_structs: 29 trx_lock_memory_bytes: 6960 trx_rows_locked: 50 trx_rows_modified: 100 trx_concurrency_tickets: 0 trx_isolation_level: REPEATABLE READ trx_unique_checks: 1 trx_foreign_key_checks: 1 trx_last_foreign_key_error: NULL trx_adaptive_hash_latched: 0 trx_adaptive_hash_timeout: 3075 3 rows in set (0.09 sec) mysql> select * from information_schema.innodb_lock_waits\G *************************** 1. row *************************** requesting_trx_id: 4C7062FD requested_lock_id: 4C7062FD:0:507913:17 blocking_trx_id: 4C706283 blocking_lock_id: 4C706283:0:507913:17 *************************** 2. row *************************** requesting_trx_id: 4C706283 requested_lock_id: 4C706283:0:507913:21 blocking_trx_id: 4C6D9668 blocking_lock_id: 4C6D9668:0:507913:21 2 rows in set (0.05 sec)
Merci d'avance pour votre aide
Cordialement,
Johan
Partager