Saya mendekati Anda semua dengan rendah hati sebagai orang yang BUKAN DBA, dan saya yakin pertanyaan saya penuh dengan kekurangan konseptual dan "itu tergantung pada" ranjau darat. Saya juga cukup yakin bahwa Anda semua yang memilih untuk menjawab akan menginginkan lebih banyak cara spesifik daripada yang saat ini dapat saya sampaikan.
Yang mengatakan, saya ingin tahu tentang skenario berikut ini secara umum:
- Katakanlah saya memiliki dua pertanyaan non-sepele.
- Kueri 1 membutuhkan 2 menit untuk menyelesaikan rata-rata.
- Permintaan 2 membutuhkan rata-rata 5 menit untuk menyelesaikan.
Jika saya menjalankannya secara berurutan, satu demi satu, saya berharap itu akan membutuhkan rata-rata 7 menit untuk menyelesaikannya. Apakah ini masuk akal?
Lebih dari itu, bagaimana jika saya menjalankan dua pertanyaan secara bersamaan? Dua koneksi terpisah secara bersamaan.
- Dalam kondisi apa yang saya harapkan untuk melihat speedup? (Total waktu <7 menit)
- Dalam kondisi apa saya akan mengharapkan perlambatan? (Total waktu> 7 menit)
Sekarang, jika saya memiliki 1.000 pertanyaan non-sepele berjalan secara bersamaan, saya punya firasat bahwa itu akan menghasilkan perlambatan keseluruhan. Dalam hal itu, di mana kemacetan akan terjadi? Prosesor? RAM? Drive?
Sekali lagi, saya tahu mungkin mustahil untuk menjawab pertanyaan dengan tepat tanpa mengetahui secara spesifik (yang tidak saya miliki). Saya mencari beberapa pedoman umum untuk dipikirkan ketika mengajukan pertanyaan berikut:
- Dalam keadaan apa query bersamaan menghasilkan percepatan keseluruhan?
- Dalam keadaan apa permintaan konkuren menghasilkan perlambatan keseluruhan?