AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 36524
In Process
user8122
user8122
Asked: 2009-07-07 09:40:48 +0800 CST2009-07-07 09:40:48 +0800 CST 2009-07-07 09:40:48 +0800 CST

每个 CPU 的最大线程数

  • 772

我目前正在使用 Visual Studio 测试套件负载测试器来模拟不同服务器上的 Web 应用程序的负载。(不,我不是针对生产进行测试)。我相信它正在为每个模拟用户创建一个线程。

当我这样做时,我遇到了一个可能无关的蓝屏。

但这提出了问题。

在我的 CPU 无法处理生成那么多请求之前,我可以使用多少个线程?

眼镜:

英特尔酷睿 2 双核 CPU T7700 @ 2.40 GHz 2.40 GHz(32 位)

我还需要提供任何其他信息或背景吗?

multi-threading
  • 3 3 个回答
  • 6431 Views

3 个回答

  • Voted
  1. Jay Riggs
    2009-07-07T09:45:23+08:002009-07-07T09:45:23+08:00

    这取决于您正在运行的 .NET 版本。您可以在 .NET 3.5 上为处理器提供 250 个工作线程。

    查看这篇MSDN 文章。

    • 2
  2. spoulson
    2009-07-07T11:11:17+08:002009-07-07T11:11:17+08:00

    您可以在运行此测试时监控这些性能计数器。当您增加并发性时,它会让您了解您的实际限制是什么:

    • 系统\“处理器队列长度”。

    处理器队列长度是处理器队列中的线程数。与磁盘计数器不同,此计数器计数器,此计数器仅显示就绪线程,而不显示正在运行的线程。即使在具有多个处理器的计算机上,处理器时间也只有一个队列。因此,如果计算机有多个处理器,您需要将该值除以服务工作负载的处理器数量。每个处理器少于 10 个线程的持续处理器队列通常是可以接受的,具体取决于工作负载。

    这类似于 Unix 平均负载,因为它指示线程等待执行。这与 CPU 利用率 % 不同,后者仅告诉您工作与空闲的时间。

    • 系统\“上下文切换/秒”。

    Context Switches/sec 是计算机上所有处理器从一个线程切换到另一个线程的综合速率。当正在运行的线程自愿放弃处理器、被更高优先级的就绪线程抢占或在用户模式和特权(内核)模式之间切换以使用执行程序或子系统服务时,就会发生上下文切换。它是计算机中所有处理器上运行的所有线程的 Thread\Context Switches/sec 的总和,以开关数量来衡量。System 和 Thread 对象上有上下文切换计数器。此计数器显示最后两个样本中观察到的值之间的差异,除以样本间隔的持续时间。

    这个数字是相对于每个系统的。但是,通过一些基准测试,您可以使用此计数器与处理能力的上限相关联。

    • 2
  3. Joel
    2009-07-07T09:44:32+08:002009-07-07T09:44:32+08:00

    需要考虑的一些限制因素:

    1. 在线程之间切换上下文所花费的时间可能超过拥有多个线程的好处。通常,除非您的线程花费大量时间等待,否则每个内核使用更多线程的好处是性能下降,而不是提高 - 请参阅下一点:
    2. 拥有多个线程有什么意义吗?除非每个线程都花费大量时间等待某件事发生——如果你有一个内核——那么你一次只能做一件事。向它抛出更多线程无济于事。对于 2 核 2 线程...
    3. 堆栈内存可能会用完 - 因为操作系统无法再跟踪所有线程。
    • 1

相关问题

  • 是否可以限制 Linux 进程使其只能在特定机器上的特定内核上运行?

  • 多线程进程的 CPU 利用率

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve