Thống kê: Thời gian CPU so với thời gian đã trôi qua. Điều gì là quan trọng hơn?


9

Khi điều chỉnh hiệu suất, điều quan trọng hơn:

  • Thời gian CPU hay thời gian trôi qua?
  • Có kịch bản nào mà một trong số chúng quan trọng hơn cái kia không?

Một ví dụ: trong khi hiệu suất điều chỉnh thời gian CPU sẽ giảm ~ 38% nhưng Thời gian đã trôi qua tăng ~ 22%. Đây có phải là một cải tiến ?


5
Quan trọng với ai? Yêu cầu của bạn có thể khác với tôi. Đối với hầu hết khách hàng của tôi, thời gian trôi qua (lượng thời gian người dùng chờ đợi) quan trọng hơn nhiều so với thời gian CPU, vì vậy không, đó sẽ không phải là một cải tiến. CPU của bạn đang làm việc ít hơn nhưng, rất có thể, nhiều tài nguyên khan hiếm hơn đang được sử dụng để bù lại (thường là I / O). Bạn có thể có các loại bộ đếm đậu IT, những người coi trọng thời gian của CPU trong thời gian đã trôi qua, bởi vì chúng được điều chỉnh để cảnh báo về các xung CPU hoặc những gì có bạn. Họ có nhu cầu khác với người dùng cuối của bạn, nhưng bạn có thể cần phải đáp ứng cả hai. Tôi không nghĩ có một câu trả lời dễ dàng.
Aaron Bertrand

Nếu truy vấn được chạy rất thường xuyên, CPU có thể giảm dẫn đến tổng thời gian giảm không?
EnterTheCode

Với ví dụ bạn đã đưa ra, không có khả năng.
Aaron Bertrand

Câu trả lời:


14

Thời gian CPU là số lượng thời gian xử lý được thực hiện bởi quy trình. Điều này không chỉ ra thời gian . "Thời gian đã qua" thể hiện tổng thời lượng của nhiệm vụ. Nếu một tác vụ nhất định sử dụng song song 8 (tức là 8 luồng) và mỗi luồng được sử dụng với tốc độ 100% trong toàn bộ thời gian của tác vụ, thời gian CPU có thể là 8000ms, trong khi Thời gian trôi qua chỉ là 1000ms.

Do đó, "Thời gian đã qua" ngắn hơn biểu thị thời gian phản hồi nhanh hơn.

Bạn có thể muốn thời gian CPU ngắn hơn và thời gian trôi qua lâu hơn nếu bạn lo ngại về áp lực CPU và không quan tâm đến trải nghiệm người dùng.

Bạn có thể chấp nhận thời gian CPU dài hơn nếu điều đó làm giảm thời gian trôi qua, vì điều đó có thể cho thấy người dùng đang chờ đợi ít hơn, với chi phí sử dụng CPU cao hơn.

Có thể cho rằng, số liệu quan trọng hơn để điều chỉnh truy vấn sẽ là thời gian chờ .


4

... trong khi hiệu suất điều chỉnh thời gian CPU sẽ giảm ~ 38% nhưng Thời gian đã trôi qua tăng ~ 22%. Đây có phải là một cải tiến?

Điều này hoàn toàn phụ thuộc vào những gì bạn đang tối ưu hóa, và tại sao. Theo nghĩa thông thường nhất - tốc độ đầu ra truy vấn - đây không phải là một sự cải tiến, như Max Vernon đã lưu ý trong câu trả lời của mình.

Tuy nhiên, nếu hệ thống của bạn bị ràng buộc bởi CPU, thì đây sẽ là một cải tiến, khi bạn giảm tải CPU. Trong thực tế, nếu đây là trường hợp, kết quả cuối cùng cũng có thể có nghĩa là sự trở lại nhanh hơn của kết quả.

Và nếu hệ thống của bạn bị ràng buộc đĩa hoặc bị ràng buộc bộ nhớ, đây sẽ là kết quả trung lập, vì không có dấu hiệu nào cho thấy hệ thống được cải thiện hoặc làm giảm các biện pháp này.

Vì vậy, 95% thời gian, Max hoàn toàn chính xác - đây không phải là một cải tiến. Trong một vài trường hợp còn lại, nó có thể là một sự cải thiện.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.