我将如何计算硬件可以处理的 python 脚本的同时调用数?
How would I go about calculating the number of simultaneous calls of my python script my hardware can handle?
inb4:我知道有一些问题可以单独解决这个问题的各个部分,但正在寻找端到端的综合答案。
所以我有一个 python 脚本,它拍摄一段视频并使用 opencv 对其进行对象跟踪。在我的笔记本电脑上大约需要 5~10 秒。我想将它部署到生产服务器并允许我的用户访问它。以下是我的一些问题:
1) 我应该考虑哪些硬件参数。现在我在想 CPU 和内存。
2) "profile"(我想这就是它的名字)我的 python 脚本的最佳方式,以查看一次 运行 它需要多少资源。
3) 如何使用 (2) 的答案来弄清楚如果我一次 运行 10 个 python 脚本会发生什么。或者相反,如果我有 xyz 硬件,我可以 运行 多少个 python 脚本?
4) 从两个层面考虑这些问题:"Will it kill my computer?",和"Will it be painfully slow?"。
很高兴在这里得到任何答案,但我特别在寻找超级精简和实用的东西,而不是绝对最好的方法。 想一想,如果您有 2 个小时来弄清楚您需要什么设置才能上线,您会怎么做。
感谢您的宝贵时间!
1) 嗯,主要就是这些。 CPU 使用和内存消耗,您可以制作一个测试脚本,根据多核和多 GPU 计算机计算平均、最大和最小使用量。
2) 之后,我喜欢使用分析库进行分析
可以从这里安装
https://pypi.org/project/profiling/
或者 pip install profiling
对我来说这是正确的简约方法。
您不能使用常规 C/C++ 分析器,因为 python 未编译。
3),4) 的答案只是围绕收集的计算机数据做一些数学运算,但也许还有其他更好的解决方案。对于多线程程序,这可能是一场噩梦。
如果您收集计算机 core/s 的速度,您可以将其转换为至少具有最少 ram 的另一台计算机(因此它不会成为瓶颈)。
你可以用 https://pypi.org/project/psutil/ 来解决这个问题。
inb4:我知道有一些问题可以单独解决这个问题的各个部分,但正在寻找端到端的综合答案。
所以我有一个 python 脚本,它拍摄一段视频并使用 opencv 对其进行对象跟踪。在我的笔记本电脑上大约需要 5~10 秒。我想将它部署到生产服务器并允许我的用户访问它。以下是我的一些问题:
1) 我应该考虑哪些硬件参数。现在我在想 CPU 和内存。
2) "profile"(我想这就是它的名字)我的 python 脚本的最佳方式,以查看一次 运行 它需要多少资源。
3) 如何使用 (2) 的答案来弄清楚如果我一次 运行 10 个 python 脚本会发生什么。或者相反,如果我有 xyz 硬件,我可以 运行 多少个 python 脚本?
4) 从两个层面考虑这些问题:"Will it kill my computer?",和"Will it be painfully slow?"。
很高兴在这里得到任何答案,但我特别在寻找超级精简和实用的东西,而不是绝对最好的方法。 想一想,如果您有 2 个小时来弄清楚您需要什么设置才能上线,您会怎么做。
感谢您的宝贵时间!
1) 嗯,主要就是这些。 CPU 使用和内存消耗,您可以制作一个测试脚本,根据多核和多 GPU 计算机计算平均、最大和最小使用量。
2) 之后,我喜欢使用分析库进行分析
可以从这里安装
https://pypi.org/project/profiling/
或者 pip install profiling
对我来说这是正确的简约方法。
您不能使用常规 C/C++ 分析器,因为 python 未编译。
3),4) 的答案只是围绕收集的计算机数据做一些数学运算,但也许还有其他更好的解决方案。对于多线程程序,这可能是一场噩梦。
如果您收集计算机 core/s 的速度,您可以将其转换为至少具有最少 ram 的另一台计算机(因此它不会成为瓶颈)。
你可以用 https://pypi.org/project/psutil/ 来解决这个问题。