我已经使用服务代理来扩展存储过程。 它可以同时平稳运行10,100,500次。服务代理最初需要时间
但是我面临一个小问题。以下是详细信息。
我们正在扩展的存储过程恰好执行10秒。
当我运行10个队列时,平均执行时间为10秒。手段都在同一时间执行。
但是当我跑100次100个队列。我无法看到类似的结果。是的,我不希望所有的人都在同一时间运行。但至少第一次执行应该已经完成了10秒,其他人应该在有资源时执行。 这里的发现是100处决需要4分钟,第一次完成发生在2分钟(字面上)之后。其余2分钟完成。
我的CPU核心是6和激活(Max_Queue_Readers)我试过6,12,48,并且都给出了相同的结果。
还有一件事情要提到,如果我用等待10秒的时间来运行这个东西,但实际的sp执行速度非常快,就像40秒内的1000个请求一样。
我想从上面说的几点知道,服务经纪人最初是在等待一件事情来完成第一次执行?意味着为什么需要2分钟才能完成第一个想法?
所有这些数字都通过使用临时日志表进行跟踪,我们在这里记录时间。
服务经纪人并不神奇。如果存储过程的各种调用之间存在争用,那么服务代理将不会使其消失。我的建议是解决这个问题,就像其他存储过程的性能问题一样:看看proc正在等待什么,看看你是否可以清除它。 – 2014-11-06 18:52:52
另外,为什么它们需要多长时间?服务代理是一种异步技术。这意味着“火和忘记”。您的邮件将被最终处理。 – 2014-11-06 18:53:52