Bagikan melalui


Konfigurasi server: masker I/O afinitas

Berlaku untuk: SQL Server

Untuk melakukan multitugas, Windows terkadang memindahkan utas proses di antara prosesor yang berbeda. Meskipun efisien dari sudut pandang sistem operasi, aktivitas ini dapat mengurangi performa SQL Server di bawah beban sistem berat, karena setiap cache prosesor berulang kali dimuat ulang dengan data. Menetapkan prosesor ke utas tertentu dapat meningkatkan performa dalam kondisi ini dengan menghilangkan beban ulang prosesor; hubungan seperti itu antara utas dan prosesor disebut afinitas prosesor.

SQL Server mendukung afinitas prosesor dengan dua opsi masker afinitas: affinity mask (juga dikenal sebagai masker afinitas CPU) dan affinity I/O mask. Untuk informasi selengkapnya tentang opsi ini affinity mask , lihat Mengonfigurasi opsi konfigurasi server mask afinitas. Dukungan afinitas CPU dan I/O untuk server dengan prosesor 33 hingga 64 mengharuskan Anda juga menggunakan opsi konfigurasi server masker afinitas64 dan afinitas64 I/O .

Catatan

Dukungan afinitas untuk server dengan prosesor 33 hingga 64 hanya tersedia pada sistem operasi 64-bit.

Opsi mengikat affinity I/O mask I/O disk SQL Server ke subset CPU tertentu. Di lingkungan pemrosesan transaksional online (OLTP) SQL Server kelas atas, ekstensi ini dapat meningkatkan performa utas SQL Server yang mengeluarkan I/Os. Peningkatan ini tidak mendukung afinitas perangkat keras untuk disk individu atau pengontrol disk.

Nilai untuk affinity I/O mask menentukan CPU mana dalam komputer multiprosesor yang memenuhi syarat untuk memproses operasi I/O disk SQL Server. Masker adalah bitmap di mana bit paling kanan menentukan CPU(0) urutan terendah, bit ke kiri langsung menentukan CPU(1) urutan terendah berikutnya, dan sebagainya. Untuk mengonfigurasi lebih dari 32 prosesor, atur dan affinity I/O mask affinity64 I/O mask.

Nilai untuk affinity I/O mask adalah sebagai berikut:

Byte dalam masker Jumlah CPU
1-byte Hingga 8 CPU
2-byte Hingga 16 CPU
3-byte Hingga 24 CPU
4-byte Hingga 32 CPU

Untuk mencakup lebih dari 32 CPU, konfigurasikan 4 byte affinity I/O mask untuk 32 CPU pertama dan hingga 4 byte affinity64 I/O mask untuk CPU yang tersisa.

Sedikit 1 dalam pola I/O afinitas menentukan bahwa CPU yang sesuai memenuhi syarat untuk melakukan operasi I/O disk SQL Server. Bit 0 menentukan bahwa tidak ada operasi I/O disk SQL Server yang harus dijadwalkan untuk CPU yang sesuai. Ketika semua bit diatur ke 0, atau affinity I/O mask tidak ditentukan, I/O disk SQL Server dijadwalkan ke salah satu CPU yang memenuhi syarat untuk memproses utas SQL Server.

Karena mengatur opsi SQL Server affinity I/O mask adalah operasi khusus, gunakan hanya jika perlu. Dalam kebanyakan kasus, afinitas Windows default memberikan performa terbaik.

Saat menentukan affinity I/O mask opsi , Anda harus menggunakannya dengan affinity mask opsi konfigurasi. Jangan aktifkan CPU yang sama di sakelar affinity I/O mask dan affinity mask opsi . Bit yang sesuai dengan setiap CPU harus berada di salah satu dari tiga status berikut:

  • 0affinity I/O mask dalam opsi dan affinity mask opsi .
  • 1affinity I/O mask dalam opsi dan 0 dalam affinity mask opsi .
  • 0affinity I/O mask dalam opsi dan 1 dalam affinity mask opsi .

Opsi ini affinity I/O mask adalah opsi lanjutan. Jika Anda menggunakan prosedur tersimpan sp_configure sistem untuk mengubah pengaturan, Anda hanya dapat mengubah affinity I/O mask saat show advanced options diatur ke 1. Di SQL Server, mengonfigurasi affinity I/O mask ulang opsi memerlukan mulai ulang instans SQL Server.

Perhatian

Jangan mengonfigurasi afinitas CPU dalam sistem operasi Windows dan juga mengonfigurasi affinity mask di SQL Server. Pengaturan ini mencoba mencapai hasil yang sama, dan jika konfigurasi tidak konsisten, Anda dapat memiliki hasil yang tidak dapat diprediksi. Afinitas CPU SQL Server paling baik dikonfigurasi menggunakan sp_configure prosedur tersimpan sistem di SQL Server.