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

Memilih dan Mengonfigurasi Perangkat Keras untuk SQL Server 2016 Edisi Standar

Sejak rilis SQL Server 2016 Service Pack 1 pada 16 November 2016, dengan banyak fitur terkait programabilitas yang sangat berguna yang sebelumnya hanya tersedia di Enterprise Edition, menjadi jauh lebih layak bagi banyak organisasi untuk sengaja memilih menggunakan SQL Server 2016 Edisi Standar daripada sebelumnya.

Jika Anda berpikir untuk melakukan ini, Anda perlu menyadari beberapa masalah umum dan jebakan yang mungkin Anda alami saat menginstal dan menggunakan SQL Server 2016 Edisi Standar di server baru dengan perangkat keras modern.

Batas dan Konfigurasi Memori

Masalah pertama adalah batas lisensi per instans untuk SQL Server 2016 Standard Edition. Batas lisensi pertama adalah jumlah memori yang dapat Anda gunakan untuk kumpulan buffer untuk setiap instans SQL Server 2016 Edisi Standar, yang hanya 128 GB, sama seperti di SQL Server 2014 Edisi Standar. Secara pribadi, saya pikir batas ini sangat rendah mengingat kepadatan memori server dua soket modern, tetapi ini adalah batas yang harus kita tangani.

Server dua soket saat ini yang menggunakan prosesor keluarga produk Intel Xeon E5-2600 v4 dapat menggunakan hingga 12 DIMM per prosesor, sedangkan DIMM DDR4 ECC 32GB adalah kapasitas tertinggi yang juga terjangkau per GB. Setiap server dengan keluarga prosesor ini memiliki 4 saluran memori per prosesor, dengan setiap saluran mendukung hingga 3 DIMM. Server dua soket yang terisi penuh dengan dua puluh empat DIMM 32 GB akan memiliki RAM 768 GB, yang jauh lebih banyak daripada yang diizinkan untuk digunakan oleh satu instance SQL Server 2016 Edisi Standar.

Karena SQL Server 2016 Standard Edition memiliki batas memori per instans yang rendah, Anda harus sengaja memilih konfigurasi memori yang sesuai yang memungkinkan Anda menggunakan semua memori batas lisensi sambil juga mendapatkan kinerja memori terbaik. Hanya dengan mengisi satu DIMM per saluran memori akan memberikan performa memori terbaik mutlak yang didukung oleh prosesor Anda.

Vendor server utama, seperti Dell, menawarkan panduan terperinci tentang kemungkinan konfigurasi memori untuk server mereka, tergantung pada jumlah dan jenis prosesor tertentu yang dipilih. Untuk SQL Server 2016 Edisi Standar di server dua soket dengan dua prosesor keluarga Intel Xeon E5-2600 v4, memilih delapan DIMM DDR4 32GB akan memberi Anda RAM 256GB, berjalan pada kecepatan maksimum yang didukung 2400MT/dtk.

Ini akan memungkinkan Anda untuk mengatur memori server maks (untuk kumpulan buffer) ke 131.072 MB (128GB), dan masih memiliki banyak memori yang tersisa untuk sistem operasi dan untuk kemungkinan digunakan oleh indeks columnstore dan OLTP dalam memori. Anda juga akan memiliki enam belas slot DIMM kosong yang dapat digunakan untuk ekspansi RAM di masa mendatang (yang dapat Anda manfaatkan jika Anda melakukan peningkatan Edisi berikutnya ke Edisi Perusahaan). Penggunaan lain untuk beberapa slot DIMM yang kosong adalah untuk "caching ekor log" pada NVDIMM (yang didukung di SQL Server 2016 Edisi Standar dengan SP1).

Batas Lisensi Prosesor

SQL Server 2016 Standard Edition juga terbatas pada empat soket atau 24 inti prosesor fisik. Dengan rangkaian prosesor saat ini dan yang akan datang dari Intel dan AMD yang akan memiliki hingga 32 inti fisik, sangat mudah untuk secara tidak sengaja melebihi batas inti prosesor per instans, dengan sejumlah konsekuensi yang mengerikan untuk kinerja dan biaya lisensi.

Efek negatif pertama dari melakukan ini adalah bagaimana SQL Server 2016 Standard Edition akan mengalokasikan inti fisik batas lisensi yang tersedia di seluruh node NUMA Anda. Misalnya, jika Anda memiliki server dua soket baru yang memiliki dua prosesor 16-core Intel Xeon E5-2697A v4, secara default, SQL Server 2016 Standard Edition akan menggunakan enam belas inti fisik pada NUMA node 0 dan hanya delapan inti pada NUMA node 1, yang merupakan konfigurasi tidak seimbang yang tidak akan bekerja sebaik mungkin. Anda dapat memperbaiki masalah ini dengan perintah ALTER SERVER CONFIGURATION seperti yang saya jelaskan di sini.

Untuk menambahkan penghinaan terhadap cedera dalam situasi ini, Microsoft juga mengharapkan Anda untuk membeli lisensi inti untuk semua 32 inti fisik di mesin, meskipun Anda hanya diizinkan untuk menggunakan 24 inti fisik per instans. Ini akan menjadi biaya lisensi tambahan sekitar $15K, untuk lisensi inti yang tidak dapat Anda gunakan, kecuali jika Anda memutuskan untuk menjalankan beberapa instans pada mesin host yang sama. Biaya lisensi tambahan akan dikenakan untuk server dua soket biasa, bergantung pada cara konfigurasinya.

Jebakan umum lainnya yang harus Anda hindari dengan Edisi Standar adalah membuat mesin virtual yang memiliki lebih dari empat soket. Jika Anda melakukannya, SQL Server Standard Edition hanya akan menggunakan empat soket karena batas lisensi soket.

Pemilihan Prosesor

Saat ini, keluarga prosesor Intel Xeon paling modern untuk server dua soket adalah keluarga produk 14nm Intel Xeon E5-2600 v4 (Broadwell-EP) yang dirilis pada Q1 tahun 2016. Intel hampir merilis generasi berikutnya Intel 14nm Xeon E5-2600 v5 (Skylake-EP), yang sudah tersedia di Google Cloud Platform. Dugaan saya adalah prosesor baru ini (yang akan membutuhkan server model baru) akan tersedia untuk umum pada Q2 tahun 2017.

Mengingat batas lisensi inti 24 fisik ini, ini sangat penting bahwa Anda tidak memilih prosesor yang memiliki lebih dari 12 inti fisik (jika Anda berencana untuk mengisi kedua soket dari server dua soket). Ini agak membatasi pilihan SKU prosesor Anda, tetapi masih ada empat pilihan bagus yang tersedia, seperti yang ditunjukkan pada Tabel 1.

Model Core Taks. Skor Sistem TPC-E Skor/Inti Fisik Biaya Lisensi Xeon E5-2687W v4 24 3.673,00 153,04 $44,592.00 Xeon E5-2667 v4 16 2,611,91 163,24 $29.728.00 Xeon E5-2643 v4 12 2.081,36 173,44 $22,296.00 Xeon E5-2637 v4 8 1.428,39 178.54 $14.864,00

Tabel 1:Perbandingan metrik prosesor sistem dua soket

Tabel 1 menunjukkan total inti fisik, perkiraan skor TPC-E, perkiraan skor TPC-E/inti fisik, dan total biaya lisensi SQL Server 2016 Edisi Standar untuk sistem dua soket, diisi dengan dua prosesor yang dipilih. Anda mungkin memperhatikan bahwa saya memiliki prosesor dua belas inti, prosesor delapan inti, prosesor enam inti, dan prosesor empat inti, tetapi tidak ada prosesor sepuluh inti pada Tabel 1. Ini dirancang, karena tiga model prosesor sepuluh inti yang tersedia semuanya merupakan pilihan yang sangat buruk untuk SQL Server, karena kecepatan clock dasar yang sangat rendah.

Perkiraan skor TPC-E untuk keseluruhan sistem adalah ukuran dari total kapasitas CPU sistem, sedangkan skor/inti adalah ukuran kinerja CPU single-thread dari prosesor tertentu.

Ringkasan

Jika Anda menginginkan kinerja terbaik pada perangkat keras terendah dan biaya lisensi SQL Server untuk instans SQL Server 2016 Edisi Standar, Anda harus memilih konfigurasi memori yang hanya menggunakan satu DIMM per saluran memori (berarti total delapan DIMM dalam sistem dua soket dengan dua prosesor keluarga Intel Xeon E5-2600 v4).

Anda juga harus dengan sengaja memilih salah satu dari empat prosesor yang tercantum dalam Tabel 1. Pilihan prosesor lainnya adalah kesalahan yang berpotensi mahal dari perspektif ini.

Terakhir, jika Anda akan menggunakan SQL Server 2016 Edisi Standar, Anda harus menyelidiki dan menguji apakah Buffer Pool Extension (BPE) dapat membantu kinerja dengan beban kerja Anda. Bergantung pada beban kerja Anda, caching “tail of the log” pada NVDIMM mungkin juga sangat bermanfaat untuk kinerja log transaksi Anda.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Metode tercepat untuk penyisipan, pembaruan, pemilihan SQL Server

  2. SQL Server AlwaysOn Availability Groups:Instalasi dan konfigurasi, Bagian 1

  3. Kueri SQL untuk membagi data kolom menjadi baris

  4. Bagaimana Melakukan GABUNGAN ANTI SEMI KIRI di SQL Server

  5. Mungkinkah menyimpan nilai dari satu kolom pilih dan menggunakannya untuk yang berikutnya?