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

Menjalankan SQL Server 2014 di Mesin Virtual Azure

Microsoft membuatnya semakin mudah untuk menjalankan SQL Server 2014 pada mesin virtual Azure di salah satu dari tujuh belas pusat data Azure Microsoft. Anda dapat menjalankan mesin virtual yang telah dikonfigurasi sebelumnya dengan contoh SQL Server 2014 yang telah dikonfigurasi sebelumnya dari galeri Azure pada mesin virtual Azure ukuran apa pun pilihan Anda. Salah satu pilihan dari galeri adalah "SQL Server 2014 Enterprise Optimized for Transactional Workloads" yang berjalan di Windows Server 2012 R2. Satu hal yang menyenangkan tentang menggunakan gambar galeri yang telah dikonfigurasikan adalah Anda tidak perlu membayar untuk lisensi SQL Server 2014 apa pun. Anda cukup membayar biaya per jam untuk edisi SQL Server dan ukuran mesin virtual yang Anda pilih.

Opsi Konfigurasi SQL Server 2014

Microsoft menjelaskan bahwa "Gambar Edisi Perusahaan ini dioptimalkan untuk beban kerja OLTP dan ditujukan untuk ukuran VM termasuk A4, A7, A8, dan A9. Setelah diterapkan, VM dilengkapi dengan Ruang Penyimpanan Windows yang telah dikonfigurasi sebelumnya." Microsoft juga melakukan beberapa pekerjaan konfigurasi tingkat instance pada SQL Server 2014, meskipun mereka tidak cukup jauh dengan apa yang saya anggap sebagai praktik terbaik standar.

Mereka membuat delapan file data tempdb yang semuanya berukuran 25600MB, dengan peningkatan otomatis sebesar 1024MB, yang merupakan pilihan default yang baik. Mereka juga mengaktifkan TF1117 dan TF1118 sebagai flag trace start-up, yang juga merupakan pilihan yang baik untuk SQL Server. Terakhir, Microsoft juga mengaktifkan inisialisasi file instan dan mengunci halaman dalam memori di sistem operasi, yang juga saya setujui.

Saya lebih suka bahwa Microsoft juga membuat beberapa perubahan pada opsi konfigurasi tingkat instans ini:

  1. default kompresi cadangan
  2. ambang biaya untuk paralelisme
  3. derajat paralelisme maksimum
  4. memori server maks (MB)
  5. optimalkan untuk beban kerja ad hoc

Kompresi cadangan harus diaktifkan secara default dalam banyak kasus. Ambang biaya untuk paralelisme sering kali harus dinaikkan ke nilai yang lebih tinggi daripada nilai default 5, tergantung pada beban kerja Anda. Derajat paralelisme maksimum biasanya harus diubah ke nilai non-default berdasarkan jumlah inti dalam simpul NUMA. Pengaturan ini juga tergantung pada beban kerja Anda. Memori server maks harus disetel ke nilai non-default berdasarkan jumlah RAM di mesin virtual dan apa yang Anda jalankan (selain mesin database SQL Server) di VM. Terakhir, saya pikir optimalkan untuk beban kerja ad hoc harus diaktifkan, hampir di semua kasus.

Dalam pertahanan Microsoft, akan sulit untuk membuat pilihan konfigurasi yang memuaskan untuk beberapa item ini tanpa mengetahui (sebelumnya) detail ukuran VM Anda dan beban kerja server database yang diharapkan. Itu menyerahkan tugas kepada Anda, seperti halnya dengan instance SQL Server lokal.

Ukuran Mesin Virtual Azure

Meskipun Anda dapat memilih apa pun dari mesin A0 Basic hingga A9 Standard, Microsoft menyarankan Anda memilih mesin virtual ukuran A4 Standard, A7 Standard, A8 Standard, atau A9 Standard untuk penggunaan produksi. Detail harga untuk mesin virtual SQL Server tercantum di sini.

Melihat spesifikasi perbandingan untuk rekomendasi ini di Tabel 1, sulit untuk memahami mengapa Anda ingin memilih mesin Standar A4, karena biayanya sama per jamnya dengan mesin Standar A7 atau A8 yang lebih besar. Melihat dokumentasi online, awalnya tidak begitu jelas apa perbedaan sebenarnya antara mesin A7 dan A8 Standar. Menggali sedikit lebih dalam, mesin A8 Standard dianggap sebagai instance Compute Intensive, yang seharusnya menggunakan prosesor Intel Xeon E5-2670 2,6GHz yang lebih cepat, bersama dengan dua adapter jaringan (satu 10Gbps dan satu RDMA 32Gbps).

Mesin virtual Standar A7 menggunakan prosesor Intel Xeon E5-2660 2.2GHz yang agak lebih lambat, sedangkan konektivitas jaringan tampaknya menggunakan Ethernet standar 1Gbps. Meskipun ini terdengar seperti perbedaan yang signifikan dalam kinerja prosesor dan jaringan, itu sebenarnya bukan masalah utama dengan mesin virtual seri-A untuk penggunaan SQL Server.

Ukuran VM Tarif Standar SQL Tarif SQL Enterprise Jumlah Inti Jumlah RAM Standar A4 $0,80/jam $3,00/jam 8 14GB Standar A7 $0,80/jam $3,00/jam 8 56GB Standar A8 $0,80/jam $3,00/jam 8 56GB Standar A9 $1,60/jam $6.00/jam 16 112 GB

Tabel 1:Informasi Mesin Virtual SQL Server Seri-A

Masalah utama dengan semua mesin virtual A-series adalah kinerja subsistem I/O yang cukup menyedihkan, meskipun Microsoft telah melakukan pra-konfigurasi subsistem disk dengan Windows Storage Spaces untuk mendapatkan kinerja terbaik mengingat keterbatasan kinerja yang melekat pada A- seri mesin virtual dan host. Gambar 1 menunjukkan hasil CrystalDiskMark untuk drive E:dari mesin Standar A4 dari pusat data Azure AS Timur, yang dimaksudkan untuk file log transaksi.

Gambar 1:Hasil CrystalDiskMark Standar A4

Alternatif yang jauh lebih baik untuk SQL Server adalah mesin virtual D-series. Mesin virtual ini memiliki biaya per jam yang sama dengan mesin virtual seri-A yang berukuran sebanding, dan mereka memiliki penyimpanan SSD lokal yang hanya boleh digunakan untuk file tempdb dan/atau untuk file buffer pool extensions (BPE), karena tidak persisten. Beberapa spesifikasi yang relevan untuk mesin virtual D-series ditunjukkan pada Tabel 2.

Ukuran VM Tarif Standar SQL Tarif SQL Enterprise Jumlah Inti Jumlah RAM Standar D4 $0,80/jam $3,00/jam 8 28GB Standar D13 $0,80/jam $3,00/jam 8 56GB Standar D14 $1,60/jam $6.00/jam 16 112 GB

Tabel 2:Informasi Mesin Virtual SQL Server Seri-D

Mesin Standar D4 harganya sama dengan mesin Standar A4, tetapi memiliki RAM dua kali lipat dan beberapa penyimpanan SSD lokal. Biaya mesin Standar D13 sama dengan mesin Standar A7 atau A8, tetapi dengan manfaat penyimpanan SDD lokal. Harga mesin Standar D14 sama dengan mesin Standar A9, tetapi juga memiliki keunggulan penyimpanan SSD lokal. Mengingat informasi ini, tidak masuk akal untuk menggunakan mesin virtual seri-A untuk SQL Server.

Sayangnya, drive permanen untuk data SQL Server dan file log Anda juga memiliki kinerja I/O di bawah standar di CrystalDiskMark, seperti yang ditunjukkan pada Gambar 2 dan 3.

Gambar 2:Hasil CrystalDiskMark Standar D14 Gambar 3:Hasil CrystalDiskMark Standar D14

Kinerja SSD lokal terkait dengan ukuran mesin virtual Azure, dengan ukuran yang lebih besar mendapatkan kinerja SSD lokal yang lebih baik. Hasil kinerja CrystalDiskMark untuk mesin Standar D14 di pusat data Azure AS Timur ditunjukkan pada Gambar 4.

Gambar 4:Hasil CrystalDiskMark Standar D14 untuk Penyimpanan SSD Lokal

Drive F:(untuk file data SQL Server) memiliki hasil yang sedikit lebih baik daripada drive E:, tetapi kedua drive memiliki tingkat kinerja yang sangat rendah untuk SQL Server.

Kesimpulan

Tampaknya cukup jelas bahwa mesin seri-D lebih baik untuk penggunaan SQL Server daripada mesin seri-A. Masuk akal juga untuk memperhatikan ukuran dan harga mesin virtual yang Anda putuskan untuk disediakan untuk SQL Server, karena Anda bisa mendapatkan lebih banyak RAM dengan biaya per jam yang sama. Dua pilihan terbaik dari perspektif kinerja adalah mesin virtual Standar D13 atau D14.

Instans SQL Server 2014 yang telah dikonfigurasi sebelumnya dari galeri Azure dapat menghemat banyak uang dalam biaya lisensi SQL Server, dan mereka memiliki banyak pekerjaan konfigurasi yang diperlukan yang sudah selesai di gambar dasar. Anda masih harus masuk dan membuat beberapa perubahan konfigurasi akhir berdasarkan preferensi dan beban kerja Anda. Terakhir, Anda harus meluangkan waktu untuk menjalankan beberapa tolok ukur kinerja pada mesin virtual Anda sehingga Anda memahami tingkat kinerja yang dapat dihasilkannya.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mendapatkan data 7 hari terakhir dari datetime saat ini hingga 7 hari terakhir di sql server

  2. Cara Mengubah Format Tanggal Saat Ini di SQL Server (T-SQL)

  3. Bagaimana cara mendapatkan tanggal pertama dan terakhir tahun ini?

  4. Pemeliharaan Database Sistem SQL Server

  5. Bagaimana mengatasi tidak dapat mengganti kesalahan penyandian saat memasukkan XML ke SQL Server