报告性能问题

本文将指导您使用内置的 Gecko Profiler 工具报告性能问题。

启用 Profiler 工具栏按钮

这些步骤仅适用于 Firefox 75 及更高版本。

  1. 访问 https://profiler.firefox.com/

  2. 点击“启用 Profiler 菜单按钮”

  3. Profiler 工具栏按钮将显示在 URL 栏右上角,是一个小的秒表图标。

image1

  1. 完成后,您可以右键单击该按钮并将其从工具栏中移除。

使用 Profiler

启用后,Profiler 工具栏按钮默认不进行录制。可以通过点击工具栏图标打开其面板来进行录制。请确保为录制选择合适的设置(如果不确定,请选择 Firefox 平台),然后选择“开始录制”。录制时工具栏图标会变成蓝色。

Profiler 使用固定大小的缓冲区来存储样本数据。当缓冲区空间不足时,它会丢弃旧的条目,因此如果您发现无法在注意到性能问题后快速捕获概要文件,则可能需要增加缓冲区大小。如果选择自定义设置(然后单击“编辑设置”)进行设置 Profiler,您可以调整缓冲区的大小(目前默认为 90 MB)和数据收集之间的时间间隔(目前默认为 1 毫秒)。请注意,增加缓冲区大小会使用更多内存,并且可能使捕获概要文件花费更长时间。

image2

使用键盘快捷键通常比使用鼠标与 UI 交互更方便

  • Ctrl+Shift+1 - 启动/停止 Profiler

  • Ctrl+Shift+2 - 获取概要文件并启动查看器以查看它

捕获和共享概要文件

  1. 在 Profiler 录制时,重现性能问题。如果可能,让问题持续 5-10 秒。

  2. Ctrl+Shift+2或单击右上角的 Profiler 工具栏图标并选择“捕获”。尝试在重现性能问题后的几秒钟内执行此操作,因为仅记录最后几秒钟。如果时间线有一个大的红色块,这是一个好兆头。Perf.html 概要文件分析工具中出现的卡顿标记。

  3. 数据将在新标签页中打开。等待“符号化调用栈”通知消失后再共享概要文件。

  4. 右上角将有一个名为“上传本地概要文件”的按钮,它允许您上传此概要文件,完成后将写出一个链接。在上传之前,上传按钮会询问您要发布到我们服务器的哪些数据。

  5. 请注意,虽然可以从概要文件中删除潜在的隐私敏感信息,但概要文件包含的信息越少,越难以分析并转化为可操作的数据。

  6. 上传后,通过右键单击并复制永久链接 URL 到剪贴板 将概要文件 URL 添加到性能问题的错误报告中 和/或将其发送给相关人员。尝试提供一些关于性能问题出现时您正在执行的操作的上下文,例如您正在查看的 URL 和您正在执行的操作(例如,在 gmail.com 上滚动)。

image3

在 GeckoView 中查看加载项性能

有时一个或多个加载项会降低 Firefox 的速度。这些加载项可能以不应有的方式使用扩展 API。您可以通过添加moz-extension过滤器查看哪些加载项会导致问题。

moz-extension filter print screen

请确保您选择了正在使用 CPU 的进程,因为所有进程都显示出来了。您可能有一个内容进程正在使用 CPU,而不是主进程。

请确保在录制概要文件时执行任何导致 Firefox 速度变慢的操作。例如,您可能有一个加载项会降低页面加载速度,而另一个加载项会降低标签切换速度。

一旦您发现哪个加载项导致概要文件变慢,您的第一反应可能是禁用它并搜索替代方案。在执行此操作之前,请通过错误报告与加载项作者共享性能概要文件。Gecko Profiler 允许您与概要文件共享链接。