【问题标题】:Using .NET ThreadPool on AWS EC2在 AWS EC2 上使用 .NET 线程池
【发布时间】:2012-05-21 11:27:21
【问题描述】:

是否有人在 Amazon EC2 实例上使用 .NET 4 Parallel 或 Task 框架使用默认 .NET ThreadPool 的经验?

文档说 .NET 将使用 Environment.ProcessorCount 来计算最佳线程数。但是我不确定 EC2 实例是否会为您提供正确的 ProcessorCount,因为它是在计算单元上测量的,并且分配可能会因需要而异。

这样做的正确方法是什么? ParallelOptions.MaxDegreeOfParallelism Property 一定要锻炼和设置吗?

【问题讨论】:

    标签: .net c#-4.0 amazon-ec2 plinq


    【解决方案1】:

    EC2 实例以计算单元衡量,但它们也有虚拟内核。例如,一个 X-Large 实例有 4 个核心 @ 2 个计算单元 - 总共 8 个计算单元。

    完整的规范在这里:http://gevaperry.typepad.com/main/2009/03/figuring-out-the-roi-of-infrastructureasaservice.html

    鉴于您仍在使用内核,尽管是虚拟内核。最好让 .NET 找出它自己的线程池大小。从 .NET 框架的角度来看,EC2 实例与专用服务器没有太大区别。有些服务器有很多内核和一个大线程池,有些服务器有少量内核,因此线程池较小。把它留给 .NET 来解决。

    【讨论】:

      猜你喜欢
      • 2011-10-05
      • 1970-01-01
      • 1970-01-01
      • 2021-02-02
      • 1970-01-01
      • 1970-01-01
      • 2021-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多