Statistik: Waktu CPU vs Waktu Berlalu. Apa yang lebih penting?

9

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 ?

Masukkan Kode
sumber
5
Penting untuk siapa? Persyaratan Anda mungkin berbeda dari saya. Bagi sebagian besar pelanggan saya, waktu yang berlalu (jumlah waktu yang dihabiskan pengguna menunggu) jauh lebih penting daripada waktu CPU, jadi tidak, itu tidak akan menjadi peningkatan. CPU Anda bekerja lebih sedikit tetapi, kemungkinan besar, lebih banyak sumber daya yang langka digunakan untuk mengkompensasi (biasanya I / O). Anda mungkin memiliki jenis penghitung IT yang menghargai waktu CPU dari waktu yang telah berlalu, karena mereka disetel untuk memberi peringatan tentang lonjakan CPU atau apa pun yang Anda miliki. Mereka memiliki kebutuhan yang berbeda dari pengguna akhir Anda, tetapi Anda mungkin perlu memuaskan keduanya. Saya kira tidak ada jawaban yang mudah.
Aaron Bertrand
Jika kueri dijalankan sangat sering, dapatkah CPU berkurang menghasilkan waktu keseluruhan berkurang?
Masukkan Kode
Dengan contoh yang Anda berikan, tidak mungkin.
Aaron Bertrand

Jawaban:

14

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 .

Max Vernon
sumber
4

... sementara kinerja menyetel waktu CPU akan berkurang ~ 38% tetapi Waktu Berlalu meningkat ~ 22%. Apakah ini peningkatan?

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.

Tertawa Vergil
sumber