【发布时间】:2017-02-10 04:48:53
【问题描述】:
我有一个专门的应用服务器来进行分析。
我在 2CPU、8GB RAM 的机器上运行。
我有两个相同的应用程序运行如下。
python do_analytics.py &
python do_analytics.py &
但是,我的 CPU 低于 20%。我可以运行更多进程以充分利用我的 CPU 吗?由于我只有 2 个 CPU,它会加快速度还是我的单个进程现在运行速度会变慢?
谢谢。
【问题讨论】:
-
你的 CPU 支持多线程吗?你的程序简介是什么?是否经常执行 I/O?它是否使用
numpy或其他一些本机代码库来加快计算速度? -
@abukaj,嗨,它经常做 I/O 和网络。它不使用 numpy。我正在使用 aws t2.small
-
对于
t2.small,20% 的利用率是基本性能(请参阅here)。你有CPU积分吗?还是您的问题是为什么您甚至没有达到 20%? -
@stephan,我有 200 个 CPU 积分。我认为这只是我没有充分利用我的 CPU。我应该添加更多进程以并行运行吗?
-
@moeseth:如果不是 AWS 将您的 CPU 限制到 20%,那么这取决于。你必须找出你的瓶颈是什么,以及它是有效的串行化操作(例如内存访问、单个硬盘或单个 Web 服务器)还是可以并行化(例如写入多个硬盘或多个 Web 服务器)。
标签: python linux operating-system