Notre serveur de production exécute en moyenne 4 000 transactions par seconde. Au cours des derniers jours, la moyenne est passée à 175 000 transactions par seconde. Ce n'est pas une faute de frappe, c'est 175K par seconde.
En regardant les DMV pour les transactions, nous ne pouvons pas le lier directement aux sessions utilisateur, mais nous voyons ceci:
SELECT NAME,
COUNT(*)
FROM sys.dm_tran_active_transactions
GROUP BY NAME
ORDER BY 2 DESC
-
+------------------------------+-------+
| Name | Count |
+------------------------------+-------+
| WorkFileGroup_fake_worktable | 627 |
| LobStorageProviderSession | 217 |
| workfile | 171 |
+------------------------------+-------+
Quelqu'un peut-il faire la lumière sur ces types de transactions? Ou suis-je en train de chasser les fantômes ici?
sql-server-2008
tempdb
paulbarbin
la source
la source
Réponses:
Surveillez à nouveau l'activité élevée; lorsque vous le voyez, démarrez une trace côté serveur ou, si nécessaire, utilisez brièvement le profileur pour voir ce qui se passe.
Alternativement, utilisez un renifleur de paquets comme Wireshark pour capturer l'activité des fils bruts.
Vérifiez dm_exec_cached_plans pour voir si cela donne une idée de ce qui se passe.
Regardez dm_io_virtual_file_stats pour voir quels fichiers en particulier, le cas échéant, sont touchés.
la source