Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 如何测量进程之间的干扰_Performance_Computer Science_Performance Testing_Measurement_Perf - Fatal编程技术网

Performance 如何测量进程之间的干扰

Performance 如何测量进程之间的干扰,performance,computer-science,performance-testing,measurement,perf,Performance,Computer Science,Performance Testing,Measurement,Perf,在并行系统中,每个进程都会对其他进程产生影响,因为它们都在争夺一些稀缺资源,如cpu缓存、内存、磁盘I/O、网络等 什么方法最适合测量过程之间的干扰?如进程A和进程B,每个进程都会大量访问磁盘。因此,并行运行它们可能会比顺序运行(单个运行时)慢。因为瓶颈是硬盘 如果我不知道进程的具体行为(磁盘、内存或cpu密集型),那么什么方法是最好的分析方法 测量单个运行时并比较每个并行进程的相对份额 就像进程A平均单独运行30秒一样,当100%与B 45秒并行时,当20%与35秒并行时。。等等 比较L1&L

在并行系统中,每个进程都会对其他进程产生影响,因为它们都在争夺一些稀缺资源,如cpu缓存、内存、磁盘I/O、网络等

什么方法最适合测量过程之间的干扰?如进程A和进程B,每个进程都会大量访问磁盘。因此,并行运行它们可能会比顺序运行(单个运行时)慢。因为瓶颈是硬盘

如果我不知道进程的具体行为(磁盘、内存或cpu密集型),那么什么方法是最好的分析方法

测量单个运行时并比较每个并行进程的相对份额

就像进程A平均单独运行30秒一样,当100%与B 45秒并行时,当20%与35秒并行时。。等等


比较L1&LLC缓存未命中、页面错误等几个指标是否更好?

您需要做的是首先确定每个程序的限制因素。如果您希望同时运行CPU绑定和IO绑定,则影响很小。如果您想同时运行两个IO绑定进程,那么会有很多争用

我写了一个相当详细的答案,关于如何解释“time[command]”结果的输出,看看限制因素是什么。在这里:


一旦您的程序有了“时间”输出,您就可以确定哪些可能会相互干扰,哪些不会。

这是一个平台不可知的问题吗?如果目标是windows平台,我想它确实提供了单独的磁盘利用率指标。这就是“资源监视器”如何绘制每个进程级别的磁盘活动图。您可以测量它,只需观察消耗的时间。但是这种测量是非常无用的,它会重复得非常非常糟糕。@Ankush主要的平台是Linux