Transaksi sangat tinggi per detik

8

Server produksi kami berjalan rata-rata 4.000 transaksi per detik. Dalam beberapa hari terakhir rata-rata telah melonjak menjadi 175.000 transaksi per detik. Itu bukan kesalahan ketik, ini 175K per detik.
Melihat DMV untuk transaksi, kami tidak dapat menautkannya ke sesi pengguna secara langsung, tetapi kami melihat ini:

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 |
+------------------------------+-------+

Adakah yang bisa menjelaskan jenis transaksi ini? Atau apakah saya mengejar hantu di sini?

paulbarbin
sumber
Mungkin Anda dapat membuat profil server dengan menjalankan sp_whoisactive berulang kali. Pertanyaan apa yang paling sering muncul?
usr
Mungkin tidak jelas tetapi dalam teks asli, saya menyatakan tidak ada korelasi antara proses pengguna dan transaksi. Biasanya kami memiliki sekitar 4000 pengguna yang terhubung dan pada suatu titik waktu tertentu, antara 40-60 di antaranya adalah runnable spid. Selama periode transaksi yang meningkat ini, masih ada 40-60 spid yang dapat dijalankan - tidak ada perbedaan.
paulbarbin
Pembaruan: tps kembali ke nilai normal dan kami tidak melihat alasan nyata mengapa hal itu terjadi. Satu-satunya hal yang masuk akal adalah bahwa kami memiliki permintaan server tertaut yang mengeksekusi di mana sepertinya seluruh tabel ditarik melewati kawat ke dalam tempdb. Proses itu memakan waktu lebih lama dari biasanya. Apakah mungkin bahwa tps dihitung seperti 1 baris dalam tabel = 1 transaksi ?? Tabel ini memiliki 50 ribu baris di dalamnya dan dijalankan secara adhoc oleh pengguna sehingga, 3 kali per detik dipanggil dan itu BISA bertambah tetapi tampaknya tidak mungkin.
paulbarbin
2
Jika itu server saya, saya akan menjalankan jejak sisi server yang cepat. Mungkin hanya 5 menit jejak untuk melihat apakah ada kemungkinan jumlah tps palsu. Saya pasti akan spam sp_whoisactive untuk mengamati permintaan dalam penerbangan juga.
Peter

Jawaban:

1

Perhatikan aktivitas tinggi lagi; ketika Anda melihatnya, mulai jejak sisi server atau jika perlu gunakan Profiler secara singkat untuk melihat apa yang terjadi.

Sebagai alternatif, gunakan sniffer paket seperti Wireshark untuk menangkap aktivitas kawat mentah.

Periksa dm_exec_cached_plans untuk melihat apakah itu memberi tahu apa yang terjadi.

Tonton dm_io_virtual_file_stats untuk melihat file mana yang secara khusus, jika ada, yang sedang dipukul.

Kata sandi yang lemah
sumber