【问题标题】:How many time Asynchronous methods running per minute [closed]每分钟运行多少次异步方法[关闭]
【发布时间】:2012-11-01 11:52:24
【问题描述】:

我现在正在研究一个异步方法,从这个链接开始

现在,如果我想查看我的方法在 1 分钟内运行了多少次,我应该怎么做?

例如,20 分钟内有 25000 笔交易。等等……

谢谢

【问题讨论】:

  • 这是无法回答的;这取决于:机器规格、方法的大小/持续时间、有多少个内核、一次执行了多少并发并行操作、该方法是 IO-bound、CPU-bound 还是 time-bound、同步策略、其他加载机器等
  • 关于信息,一个简单的测试表明我可以在一个超监控、超线程 i7 上获得 32288 BeginInvoke per-virtual-core per-second per-virtual-core。但实际上,执行更少的异步操作会更好,每个操作都做更多的工作 - 更少的开销。
  • @Marc Gravell 我在问我们如何找到方法每分钟运行多少次想要检查性能,换句话说,如果我们定义一个静态变量或其他任何告诉我们有多少time 异步方法每分钟执行一次。我认为这是可以回答的。

标签: c# asp.net wcf web-services


【解决方案1】:

实现此目的最简单的方法是设置一个计数器,异步方法每次运行时都会更新它(注意锁定等)。然后你需要做的就是记录你的开始时间,并在你想要的时候比较两者......

开始时间 = 11:56 开始运行异步任务... 在 11:57 检查,counter = 23 表示它在一分钟内运行了 23 次

您可以在一分钟、一小时或任何时候检查。当然还有其他方法,但这是最简单的!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 2019-07-20
    • 1970-01-01
    • 2022-11-06
    • 2012-06-30
    • 2023-03-19
    相关资源
    最近更新 更多