multi-threading

检查 mysql 是否正在使用多线程?
multi-threading

检查 mysql 是否正在使用多线程?

当我使用命令检查 centos 上的进程/活动任务top时,使用 SSH。我只看到 1 个 mysql 进程。这是否意味着它只使用了我的 4 个 CPU 核心中的一个 CPU 核心? ...

Admin

apache/mod_wsgi/windows 上的 Django 多线程
multi-threading

apache/mod_wsgi/windows 上的 Django 多线程

我对 apache 和 django 的组合还很陌生,坦率地说,我对如何处理多线程还很不了解。具体来说,我在 Windows 服务器上运行,所以我知道 MPM 只是基于线程的。 我有一个应用程序为网站页面提供服务,另一个应用程序执行 CPU 密集型后台进程,该进程不时发生,最多需要 30 秒左右。我担心我可能会遇到性能问题,并且有几个问题,我希望这些也能帮助其他人... Apache 如何在线程之间分配并发请求?如何在 CPU 之间分配并发请求?什么样的逻辑驱动了这一点?每个请求都会产生一个单独的线程吗? 我可以手动指定某个应用在单独的 CPU 上运行...

Admin

设置自动编译内核时的线程数
multi-threading

设置自动编译内核时的线程数

我使用 Ubuntu 作为主要操作系统。 我发现,当系统升级中包含新内核时,在升级过程中,会编译某些与内核相关的项目(内核模块?)。 在此过程中,我检查处理器使用率是否较低,因为它只使用 1 个处理器线程。 如今多核技术已经存在,有没有什么办法可以设置,每次内核更新时,系统的所有核心都可以用于这样的编译?或者至少可以决定编译所需的核心数量。 谢谢。 ...

Admin

在 ubuntu 上运行多个线程时出现 iperf“连接失败:连接被拒绝”错误
multi-threading

在 ubuntu 上运行多个线程时出现 iperf“连接失败:连接被拒绝”错误

我有 3 台计算机连接到本地网络。我编写了一个 Python 脚本,在不同的线程上打开一个专用的 iperf 服务器和一个 iperf 客户端。我希望每台计算机都连接到其他 2 台计算机,同时接受来自其他 2 台计算机的连接。为此,我运行了 4 个不同的线程(2 个服务器线程接受传入的客户端连接,2 个客户端线程连接到另一台计算机)。在尝试连接其中一个服务器之前,我确保服务器正在运行。在每台计算机上,我都在不同的端口上运行 2 个服务器,以便客户端可以连接到这些特定端口。这是使用 iperf 版本 2.0.13。 当我运行该程序时,出现错误connect f...

Admin

使用 uwsgi 和 kubernetes 处理生产环境中的内存数据部署
multi-threading

使用 uwsgi 和 kubernetes 处理生产环境中的内存数据部署

我现在有点为难,正在寻找如何最好地处理我的情况的指点: 因此,我有一个 Flask 应用程序uwsgi,我正在将其部署到带有 2 个 pod 的 Kubernetes。UWSGI 配置是 1 个进程和 4 个线程,我们实际上期望每小时大约有 50 个请求,即大约每分钟 1-2 个请求。 为什么是 1 个进程?因为我们在内存中加载了大量数据(不要问我为什么,我知道这是错的,我终于赢得了引入 DB 的战斗,但这会在以后发生),并且 UWSGI 不保证在所有请求之间共享数据 - 这意味着如果我有两个进程 - pidx和 pid y- 如果x已加载所有数据并y决定为...

Admin

NVMe 并行写入
multi-threading

NVMe 并行写入

我正在尝试更好地了解如何优化写入 NVMe。 我有一个流程,在一次批处理作业中将大量数据 (~100 gb) 写入磁盘。数据分布在数百个文件中。 我有多个可用的 NVMe 磁盘,并且将在一个进程中使用多个线程(~10)并行写入单独的文件。 目前,所有数据都写入单个 NVMe 磁盘,我想知道是否可以通过并行将数据写入多个磁盘来实现潜在的性能改进,或者单个 NVMe 设备是否可以自行处理并行写入? 感谢任何意见 ...

Admin

在多线程应用程序中同步线程
multi-threading

在多线程应用程序中同步线程

我用午休dft 包在 CentOS 8(核心)系统上,该系统具有 16 核、32 线程 XEON 处理器,并使用 OpenMPI 版本 4.1.1 进行所有计算。 因为我有 32 个线程,所以我使用其中 28 个进行 SIESTA 计算(消耗大量内存~60%),并保持剩余 4 个线程空闲。 但是,如果我开始将剩余的 2 个或 3 个线程用于其他应用程序(其内存使用量可以忽略不计),同时将 SIESTA 计算保持在 28 个线程,我发现 SIESTA 计算的速度下降了约 50-60%。 我检查了 CPU 利用率,发现在场景 2 中使用系统时,有一个线程几...

Admin

我可以在 CPU 限制设置为 500 毫核的 pod 中并行运行多个线程吗?
multi-threading

我可以在 CPU 限制设置为 500 毫核的 pod 中并行运行多个线程吗?

我有一个多核 Kubernetes 集群,其中有多个 pod,它们的 CPU 限制配置为 500 毫核: resources: limits: cpu: "500m" 在单个 pod 中,可以有多个线程并行运行(同时,在同一时刻)吗? 据我了解,当限制小于 1000 毫核时,pod 永远无法并行运行多个线程。这是正确的吗? ...

Admin

Debian 10 上的 Laravel/PHP 进程仅使用两个 CPU 线程中的一个
multi-threading

Debian 10 上的 Laravel/PHP 进程仅使用两个 CPU 线程中的一个

我在 Google VM 上运行 Debian 10 Buster 服务器,该服务器装有 PHP 7.3 Apache2 和 MySQL 8。在服务器上,我运行 Laravel 8 作为两个客户端的 API。我最近将 VM 升级到 n2-standard-2(2 个 vCPU,8 GB 内存),想检查我的服务器可以处理的吞吐量。 我的问题是,我的服务器从未使用 100% 的 CPU,实际上它最多只使用了 50%。一开始,我以为是因为它只使用了一个核心,但如果我在服务器上对路由进行压力测试时在服务器上运行 top,我可以看到两个核心都被使用了,但最多只使用了 ...

Admin

对于 Java Web 应用程序来说,哪个更好:更多的 CPU 核心还是更高的时钟速度?
multi-threading

对于 Java Web 应用程序来说,哪个更好:更多的 CPU 核心还是更高的时钟速度?

我不确定 serverfault 是否是提出此问题的正确地方,但我想知道如果您必须为 Java Web 应用程序选择新的 CPU 类型,您会做出什么选择: a) 具有 32 个内核且时钟速度为 2.5 Ghz 的 CPU 或者 b)具有 8 个内核但时钟速度为 3.8 Ghz 的 CPU 考虑到每个 Web 应用程序的传入 HTTP 请求都由一个空闲的 Java 线程处理,选择 a) 可能更有意义,因为您可以同时处理四倍以上的 HTTP 请求。然而,另一方面,CPU b) 可以更快地完成单个 HTTP 请求的处理... 你怎么认为? 旁注: 它必须是一台物...

Admin

间歇性 KVM 性​​能问题导致性能故障
multi-threading

间歇性 KVM 性​​能问题导致性能故障

我们目前托管在一家托管服务提供商处,该提供商允许我们使用 KVM 设置多个虚拟机,其中每个虚拟机都在自己的物理机上运行(即:一个虚拟机管理程序,一个 VM,所有内存和 CPU 都分配给它)。最近我们遇到了一些需要诊断的棘手问题(原来是堆栈溢出 - 哈哈)。在此过程中,我们设置了 DataDog 来监控我们所有的服务器,它帮助我们缩小了原因范围并最终修复了它。但我们发现它非常有用,所以我们将其全部启用。在学习工具的过程中,我们不断发现我们网站的响应时间在白天很慢。启用 APM 跟踪后,我们能够将其缩小到 MySQL 集群的响应时间较慢。有时我们会看到 MySQ...

Admin

为什么并发下载速度更快
multi-threading

为什么并发下载速度更快

许多下载管理器喜欢这,这和这支持通过多个并行连接下载文件,每个线程一个。概念是每个连接将单独下载文件的一部分。 例如,如果有 5 个连接,则第一个连接将下载文件的前 0-20% 部分,第二个连接将下载 20-40% 部分,依此类推。 同样,在服务器端,将有 5 个线程,其中一个线程将并行读取文件的 20%。 但是,我认为尝试使用多个线程同时读取单个文件实际上会使下载明显慢,因为机械磁盘的读取头将不得不比以前做更多的寻道。 即使我们假设磁盘控制器排队机制足够智能,可以将所有 5 个多部分请求批量处理到单个文件,并将其放在一个连续读取中,但这与我们在一个线...

Admin

我如何知道我的服务器可以运行的最大线程数?
multi-threading

我如何知道我的服务器可以运行的最大线程数?

以下是机器规格: CPU(s): 20 Thread(s) per core: 1 Core(s) per socket: 10 Socket(s): 2 根据我目前所读到的内容,这些数字意味着我可以运行 20 个并行作业,因为我有 20 个 CPU。 但是,每个 CPU 上可以运行多少个线程? ...

Admin

Celery 中的工作进程
multi-threading

Celery 中的工作进程

我有一个 CPU 密集型 Celery 任务,在其中一个任务中可以使用 joblib 进一步并行化。默认情况下,使用 celery 启动工作程序将创建一个池,其最大并发数等于 CPU/核心数(在我的情况下为 36)。 我的问题是,使用这种配置,是否意味着每个工作进程将只有 1 个核心可用,并且不会受益于 joblib 的并行化?或者当工作进程队列中没有其他任务时,它会使用所有核心。 例如: @app.task # picked by celery worker process def a_task(): algo = Algo(n_jobs=...

Admin

DNS 无法解析大量请求中的某些域名
multi-threading

DNS 无法解析大量请求中的某些域名

我需要检查 200kk(200,000,000)个域的可用性和 CMS 信息。 我正在使用 php 7.1 并模拟多线程检查。 硬件和配置 服务器硬件:多核 CPU、64GB RAM、SSD 磁盘、500 Mbits 专用带宽(OVH 服务器)。 在 resolv.conf 中有 Google DNS: 8.8.8.8 / 8.8.4.4 ulimit -n 设置为 655350 nload 测量带宽负载 测试 我使用不同数量的并行线程检查了数据库中的前 1,000,000 个域。这样做之后,我面临的问题是,随着线程数量的增加,在 30 秒超时...

Admin