Saat penyetelan kinerja, yang lebih penting:
- Waktu CPU atau waktu berlalu?
- Adakah skenario di mana salah satunya lebih penting daripada yang lain?
Contoh: saat kinerja tuning waktu CPU akan berkurang ~ 38% tetapi Waktu Berlalu meningkat ~ 22%. Apakah ini peningkatan ?
sql-server
performance
performance-tuning
Masukkan Kode
sumber
sumber
Jawaban:
Waktu CPU adalah jumlah waktu prosesor yang diambil oleh proses. Ini tidak menunjukkan durasi . "Waktu Berlalu" mewakili total durasi tugas. Jika tugas yang diberikan menggunakan paralelisme 8 (yaitu 8 utas), dan setiap utas digunakan pada tingkat 100% selama seluruh durasi tugas, waktu CPU bisa menjadi 8000 ms, sedangkan Waktu yang Berlalu hanya akan 1000 ms.
Oleh karena itu, "Waktu Berlalu" yang lebih pendek menunjukkan waktu respons yang lebih cepat.
Anda mungkin menginginkan waktu CPU yang lebih singkat dan waktu yang lebih lama jika Anda khawatir tentang tekanan CPU, dan tidak peduli dengan pengalaman pengguna.
Anda dapat menerima waktu CPU lebih lama jika itu menghasilkan penurunan waktu yang telah berlalu, karena itu mungkin menunjukkan pengguna menunggu lebih sedikit, dengan mengorbankan pemanfaatan CPU yang lebih tinggi.
Boleh dibilang, metrik yang lebih penting untuk penyetelan permintaan adalah waktu tunggu .
sumber
Ini sepenuhnya tergantung pada apa yang Anda optimalkan, dan mengapa. Dalam arti yang paling umum - kecepatan output kueri - ini bukan peningkatan, seperti yang dicatat Max Vernon dalam jawabannya.
Namun, jika sistem Anda terikat CPU, maka ini akan menjadi peningkatan, karena Anda menurunkan beban CPU. Bahkan, jika ini masalahnya, hasil akhirnya juga bisa berarti pengembalian hasil yang lebih cepat.
Dan jika sistem Anda terikat disk atau memori terikat, ini akan menjadi hasil yang netral, karena tidak ada indikasi bahwa itu meningkatkan atau menurunkan ukuran ini.
Jadi, 95% dari waktu, Max benar-benar benar - ini bukan perbaikan. Dalam beberapa kasus lainnya, ini mungkin merupakan peningkatan.
sumber