Saya memiliki aplikasi email yang akan dipanggil untuk mengirimkan ke UI jumlah pesan baru untuk pengguna tertentu pada setiap pemuatan halaman. Saya memiliki beberapa variasi hal yang saya uji pada tingkat DB tetapi semua disarikan oleh panggilan proc yang disimpan.
Saya mencoba membanting DB untuk melihat apa yang menjadi titik puncaknya (# permintaan per detik).
Singkatnya, saya punya tabel seperti userId ini, newMsgCount dengan indeks berkerumun di userId. SQL harus dapat server ratusan atau ribuan tanggapan ini per detik. Saya pikir laggard adalah aplikasi .NET saya.
Bagaimana saya bisa membuat ini menjadi tes yang bagus untuk mencapai hasil tes berdasarkan kinerja SQL?
Apakah ada alat untuk ini yang bisa saya berikan nama proc yang tersimpan dan param untuk itu untuk pund DB saya?
Saya ingin melihat apakah DB dapat mengembalikan min. 250 tanggapan per detik.
Jawaban:
SQLQueryStress adalah alat yang hebat untuk pengujian konkurensi skala kecil tetapi tidak sepenuhnya sesuai dengan tugas pengujian beban. Toolset mengejutkan yang sedikit diketahui tersedia secara gratis, dari Microsoft, yang dapat mengatasi sebagian besar skenario pengujian stres SQL Server, RML Utilities .
Garis besar alat yang sangat singkat:
Ada artikel mulai cepat yang sangat baik dari tim SQLCat yang mencakup database contoh dan beban kerja, Kinerja Presisi untuk Microsoft SQL Server menggunakan RML Utilities 9.0
Anda memiliki opsi untuk aktivitas Pembuatan Ulang profil untuk ulangan atau, mungkin lebih tepat dalam skenario Anda, melakukan engkol tangan sekumpulan skrip .sql yang kemudian Anda putar ulang melalui OStress dan ORCA.
Alat hebat untuk menguji beban dan menyelidiki masalah kinerja.
sumber
Salah satu alat yang dapat Anda gunakan adalah SQLQueryStress . Untuk mulai cepat menyediakan: prosedur yang tersimpan iterasi dan jumlah utas. Kemudian mulailah tes stres. Metrik seperti detik CPU, bacaan logis, dll ... akan ditampilkan.
sumber
Sepertinya Anda adalah pengembang .NET. Salah satu caranya adalah dengan menulis aplikasi kecil yang menggunakan multithreading dan hanya memiliki jumlah klik yang bersamaan untuk database dan prosedur yang tersimpan. Jalankan jejak saat ini terjadi.
Tulis kode aplikasi untuk menambah jumlah utas bersamaan pada interval tertentu jika Anda ingin secara otomatis menambah beban pada SQL Server.
Begitulah cara saya melakukannya.
sumber