我的 AQTime 结果中的次数总和与我测量的响应时间不匹配

The sum of times in my AQTime results don't match up with my measured response times

本文关键字:测量 不匹配 响应时间 结果 AQTime 我的      更新时间:2023-10-16

我正在对用C++编码的SAAS产品进行性能调整。 我们在代码中的几个点设置微秒精度计时器,以记录各种操作需要多长时间,现在我正在尝试使用 AQTime 进一步挖掘并找到一些长期运行的请求中的特定瓶颈。 但是,AQTime 在给定函数及其子函数中报告的总时间少于我们的内部计时器报告的总时间。有没有人经历过这种情况或知道为什么会发生? 这可能与在 VM 中运行有关吗? 到目前为止,在我分析的少数函数中,差异非常一致(AQTime 报告的时间约为我们从 CPU 计时器记录的时间的 60%),但如果我发现这已经发生在其他代码库上,我会感到更加放心,这不仅仅是我们的特点!

非常感谢!

此行为在很大程度上取决于所使用的计数器。如果使用"用户"或"用户+内核时间"计数器,则 AQtime 仅计算 CPU 执行代码所花费的时间。与使用手动计时器不同,执行其他进程或线程的代码所花费的时间不计算在内。

"已用时间"计数器应演示与获得的结果类似的结果,但即使在这种情况下,计时器处理代码添加的开销也可能导致一些差异。

您可以在 AQtime 帮助系统的计数器概述主题中找到有关不同计数器详细信息的详细信息。