Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Memecahkan Masalah Kehabisan Utas Pekerja

Karena instance Anda mengalami lalu lintas yang lebih tinggi bersama dengan penggunaan bersamaan, instance Anda mungkin kehabisan utas pekerja yang diperlukan untuk memproses permintaan sesi. Ini berarti bahwa sesi akan menunggu utas pekerja ditugaskan untuk memproses permintaan. Kemungkinan besar akan menyebabkan waktu pemrosesan yang lebih lambat dan mengakibatkan munculnya jenis tunggu seperti SOS_SCHEDULER_YIELD, THREADPOOL, dan CXPACKET.

Biasanya, masalah ini disebabkan oleh salah satu hal berikut:

  • Banyak koneksi aktif
  • Banyak kueri yang berjalan lama
  • Kueri menggunakan paralelisme
  • CPU server tidak cukup kuat untuk beban kerja

Solusi yang paling umum adalah:

  • Kurangi jumlah koneksi
  • Identifikasi dan sesuaikan kueri yang berjalan lama
  • Identifikasi dan sesuaikan kueri dengan penggunaan paralelisme tingkat tinggi
  • Identifikasi dan sesuaikan kueri dengan jenis tunggu CPU
  • Identifikasi dan sesuaikan kueri dengan jenis tunggu CXPACKET
SQL - Alarm Kehabisan Utas dari Spotlight Cloud memberi tahu pengguna saat instance kehabisan utas yang berfungsi untuk memproses permintaan sesi.


Gunakan dasbor diagnostik Spotlight Cloud untuk memecahkan masalah:

  1. Kurangi jumlah koneksi. Kunjungi dasbor Sesi untuk mengidentifikasi jumlah aktivitas:

  2. Identifikasi dan sesuaikan kueri yang berjalan lama:

    sebuah. Gunakan dasbor Penganalisis Beban Kerja untuk melihat SQL teratas menurut Waktu Aktif. Klik dimensi Pernyataan SQL dan urutkan kueri menurut metrik Waktu Aktif:


    b. Gunakan dasbor Workload Analyzer untuk melihat SQL teratas menurut derajat paralelisme. Sesuaikan kueri atau gunakan petunjuk kueri dalam pernyataan kueri untuk mengurangi penggunaan derajat paralelisme.

    I. Sorot dimensi Pernyataan SQL dari pohon dan klik ikon hamburger untuk membuka pemilih metrik:


    II. Temukan bidang Gelar Paralelisme dan aktifkan. Gunakan mouse untuk menyeret bidang ke bagian atas daftar bidang


    AKU AKU AKU. Urutkan menurut kolom Derajat Paralelisme untuk mengidentifikasi kueri dengan utas tertinggi:


    c. Gunakan Penganalisis Beban Kerja untuk memfilter SQL teratas menurut jenis tunggu CPU. Klik ikon jenis tunggu CPU pada spanduk dan perluas dimensi Pernyataan SQL. Tune kueri yang sesuai:


    d. Gunakan dasbor Penganalisis Beban Kerja untuk memfilter SQL teratas menurut jenis tunggu lainnya. Klik ikon Jenis menunggu lainnya pada spanduk. Luaskan dimensi Pernyataan SQL. Gunakan panel Perincian Sumber Daya untuk mengidentifikasi kueri dengan tipe tunggu CXPACKET. Tune kueri yang sesuai:
Coba Spotlight Cloud gratis!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat terhubung ke localhost, tetapi dapat dengan nama komputer di SQL Server 2008

  2. Otentikasi SQL Server vs. Otentikasi Windows:Yang mana yang digunakan dan kapan

  3. Pilih 10 catatan teratas untuk setiap kategori

  4. Buat Objek DIE di SQL Server

  5. Bagaimana cara membuat daftar semua kolom dalam sebuah tabel?