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

Kinerja SQL Server — Pengujian di Cloud

Bagaimana jika Anda bersusah payah menerapkan atau meningkatkan ke SQL Server baru untuk pengalaman yang lebih baik bagi pelanggan Anda — dan mereka mengeluh bahwa keadaan sebenarnya lebih buruk?

Tidakkah Anda kesal jika Anda melompati semua rintangan bisnis dan teknis itu untuk mendapatkan kinerja SQL Server yang lebih baik, dan ternyata tidak?

Mungkin Anda harus melakukan beberapa pengujian kinerja SQL Server sebelum masuk ke produksi. Maka Anda akan tahu apakah kinerja Anda akan meningkat, tetap sama, atau, yang terburuk, menurun.

Tapi setidaknya Anda tidak akan terkejut.

Jembatan kinerja SQL Server yang kita semua lewati

Baik itu beralih dari beberapa database lain ke SQL Server atau memutakhirkan dari versi SQL Server yang lebih lama ke yang lebih baru, pada akhirnya Anda harus melewati jembatan kinerja.

"Apakah itu benar-benar akan berjalan lebih baik dari sebelumnya?" bosmu bertanya.

"Oh, tentu," katamu. “Dengan virtualisasi data di SQL Server 2019 kami dapat menjalankan kueri tanpa memindahkan atau mereplikasi data. Dan ada penyetelan otomatis dengan Pemrosesan Kueri Intelijen untuk meningkatkan kueri. Data akan terbang keluar dari server.” Anda sangat yakin bahwa Anda menggunakan huruf kapital "FLY."

Jadi, bagaimana Anda bisa menguji kinerja Anda dengan lebih baik?

4 cara untuk menguji kinerja . . .

Brent Ozar, SQL Server maven extraordinaire, memberi tahu Anda cara memeriksa kinerja pada SQL Server baru:

  • cara mudah, membandingkan sebelum dan sesudah waktu pada full backup dan CHECKDB
  • cara yang mudah tapi salah, dengan beban kerja sintetis dan TPC-C di HammerDB
  • cara yang lebih sulit, menguji kueri individual dengan sp_BlitzCache, skrip analisis cache rencananya
  • cara yang sangat sulit, menjalankan kueri yang sama dengan yang Anda jalankan dalam produksi

Tetapi seperti yang dijelaskan oleh Brent, memantau kinerja server SQL Anda dan menemukan bahwa kinerjanya telah turun sebesar X persen hanyalah permulaan; Anda masih harus mencari tahu dari mana pukulan itu berasal.

Itu berarti mencari tren dalam data kinerja selama beberapa minggu dan bulan, bukan hanya beberapa jam terakhir.

Semakin banyak titik data dan riwayat yang Anda miliki, semakin baik gambaran yang dapat Anda kumpulkan tentang apa yang terjadi di dalam, di bawah, dan di sekitar lingkungan SQL Server Anda.

Dan semakin banyak komputasi yang dapat Anda lakukan untuk semua data tersebut, semakin cepat Anda dapat menganalisisnya.

Pemantauan kinerja SQL Server:Kedengarannya seperti pekerjaan untuk cloud

Ya. Ini adalah pekerjaan untuk cloud, satu-satunya tempat Anda dapat menskalakan cukup jauh untuk mengumpulkan dan menganalisis semua data itu untuk gambaran yang luas dan mendalam tentang bagaimana SQL Server menghabiskan sumber daya. Dan bagaimana ia telah menghabiskan sumber daya tersebut dari waktu ke waktu. Misalnya:

  • Pada waktu tertentu dalam satu hari atau bulan, kueri yang sering dijalankan harus membaca dari disk, bukan dari cache buffer, yang merupakan salinan dalam memori dari halaman database yang baru saja digunakan. Apakah Anda perlu mengalokasikan lebih banyak memori ke cache buffer Anda? Bisakah Anda menyisihkan lebih banyak memori untuk itu?
  • Sama untuk harapan hidup halaman. Jika rendah, mungkin karena SQL Server terlalu sering mengeluarkan halaman dari cache buffer dan harus menjalankan pencarian dari penyimpanan alih-alih dari memori. Itu menghambat kinerja.
  • Apakah waktu tunggu I/O maksimum menjadi terlalu tinggi? Bagaimana trennya? Itu adalah petunjuk bahwa perangkat I/O mungkin sudah jenuh.
  • Berapa lama antrian prosesor sekarang? Berapa lama biasanya? Terlalu banyak utas yang terus-menerus menunggu dapat menunjukkan kemacetan prosesor.
  • Apakah CPU berjalan di luar batas yang dapat ditangani oleh server Anda? Bagaimana jika Anda tidak dapat meningkatkan skala server lagi? Jika Anda yakin bahwa kueri Anda telah disesuaikan dengan baik dan sumber daya sistem lainnya memadai, Anda mungkin perlu menambahkan soket untuk perangkat keras fisik atau vCPU ke VM Anda.
  • Indeks yang terfragmentasi adalah indeks yang lambat, tetapi Anda tidak tahu bahwa itu adalah penyebabnya sampai Anda memeriksa tingkat fragmentasi. Melihat efek reorganisasi dan pembangunan kembali dari waktu ke waktu dapat membantu Anda menerapkan proses pemeliharaan indeks yang andal.

Menemukan masalah seperti yang ada di semua database lokal dan cloud Anda menjadi lebih mudah dan lebih cepat saat Anda dapat memantau kinerja server SQL Anda dari cloud. Yang terbaik dari semuanya, Anda dapat memantau dari mana saja di galaksi yang dikenal saat semua komputasi, penyimpanan, dan analisis ada di cloud dan Anda hanya dengan beberapa klik saja di browser mana pun.

Mulai uji kinerja SQL Server Anda di cloud

Di Quest, tidak ada yang perlu memberi tahu kami dua kali bahwa pelanggan kami menginginkan alat berbasis cloud, baik untuk migrasi cloud, pemantauan kinerja, atau Office 365. Kami membuat lebih banyak produk kami tersedia sebagai penawaran cloud karena teknologi dan pasar menariknya ke sana.

Jadi, bagaimana Anda menjalankan pengujian kinerja pada Server SQL baru atau yang ditingkatkan?

  • Saya menjalankan CHECKDB.
  • Saya menjalankan HammerDB.
  • Saya menjalankan alat Brent Ozar.
  • Saya menguji dengan beban kerja produksi.
  • Saya melempar dadu dan menunggu sampai pengguna mengeluh.
  • Saya memiliki orang yang melakukan itu untuk saya.
  • Saya menggunakan Spotlight Cloud dari Quest. Anda juga harus.
Beritahu kami di komentar di bawah.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menghubungkan ke Beberapa Server SQL dalam Satu Klik (Grup Server Terdaftar) - Tutorial SQL Server / TSQL Bagian 5

  2. Antarmuka Jaringan SQL Server:String koneksi tidak valid [87]

  3. Bisakah kunci asing menjadi NULL dan/atau duplikat?

  4. Cara Menginstal SQL Server di Mac dengan VirtualBox

  5. Lantai tanggal di SQL server