Konfigurasikan tempdb untuk mengurangi pertengkaran - AWS Bimbingan Preskriptif

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Konfigurasikan tempdb untuk mengurangi pertengkaran

Kami menyarankan Anda mengonfigurasi tempdb dengan beberapa file data dengan ukuran yang sama dan dengan faktor pertumbuhan yang sama.

Pada server database yang sibuk yang banyak menggunakan tempdb, Anda mungkin melihat pemblokiran parah ketika server mengalami beban berat. Anda mungkin memperhatikan bahwa tugas sedang menunggu sumber daya tunggu yang mengarah ke halaman di tempdb. Halaman-halaman ini mungkin halaman Page Free Space (PFS) dan Shared Global Allocation Map (SGM) yang memiliki format 2:x: x (misalnya, 2:1:1 atau 2:1:2).

Untuk meningkatkan konkurensi tempdb, Anda dapat meningkatkan jumlah file data dalam tempdb untuk memaksimalkan bandwidth disk dan mengurangi pertengkaran dalam struktur alokasi. Berikut adalah beberapa pedoman:

  • Jika jumlah prosesor logis sama dengan, atau kurang dari, 8: Gunakan jumlah file data dan prosesor logis yang sama.

  • Jika jumlah prosesor logis lebih tinggi dari 8: Gunakan 8 file data.

Jika pertengkaran berlanjut, tingkatkan jumlah file data dalam kelipatan 4 sampai pertengkaran diperbaiki, hingga jumlah prosesor logis di server. Ini akan membantu menghindari pertengkaran SGAM di tempdb. Jika Anda menggunakan SQL Server 2014 atau versi sebelumnya, Anda juga perlu mengaktifkan flag jejak 1118. Bendera ini memaksa alokasi halaman pada luasan seragam alih-alih luasan campuran, yang meminimalkan pemindaian pada halaman SGAM dan mengurangi pertengkaran.

Dimulai dengan SQL Server 2016 (13.x), perilaku ini dikendalikan oleh AUTOGROW_SINGLE_FILE dan AUTOGROW_ALL_FILES opsi. ALTER DATABASE Sebagai contoh:

alter database <database name> MODIFY FILEGROUP [PRIMARY] AUTOGROW_ALL_FILES

Untuk informasi selengkapnya tentang menyetel opsi ini, lihat dokumentasi Microsoft SQL Server.