The execution of similar units can be compared by their internal behaviors to determine the causes of their potential performance issues. For instance, by examining the internal behaviors of different fast or slow web requests more closely and by clustering and comparing their internal executions, one can determine what causes some requests to run slowly or behave in unexpected ways. In this paper, we propose a method of extracting the internal behavior of web requests as well as introduce a pipeline that detects performance issues in web requests and provides insights into their root causes. First, low-level and fine-grained information regarding each request is gathered by tracing both the user space and the kernel space. Second, further information is extracted and fed into an outlier detector. Finally, these outliers are then clustered by their behavior, and each group is analyzed separately. Experiments revealed that this pipeline is indeed able to detect slow web requests and provide additional insights into their true root causes. Notably, we were able to identify a real PHP cache contention using the proposed approach.
翻译:类似单位的执行可以用其内部行为来比较,以确定其潜在绩效问题的原因。例如,通过更密切地审查不同快速或慢的网络请求的内部行为,并进行分组和比较内部处决,可以确定某些请求缓慢运行或以意外方式行事的原因。在本文中,我们建议采用一种方法,提取网络请求的内部行为,并引入一条管道,在网上请求中发现业绩问题,并提供有关其根源的深入了解。首先,通过追踪用户空间和内核空间,收集了有关每项请求的低水平和细微的信息。第二,进一步的信息被提取并输入外部探测器。最后,这些外部线随后按其行为进行分组,对每个组进行单独分析。实验表明,这一管道确实能够检测慢的网络请求,并提供关于其真正根源的更多见解。值得注意的是,我们得以利用提议的方法找出一个真正的PHP缓存点争论。