专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

sitespeedio/browsertime Docker 镜像 - 轩辕镜像

browsertime
sitespeedio/browsertime
自动构建
Browsertime是一款从浏览器获取Web性能指标的工具,支持Firefox和Chrome,可收集导航时间、用户时间、资源时间等性能数据,生成HAR文件,运行自定义脚本,录制视频并分析视觉指标(如速度指数)。
9 收藏0 次下载activesitespeedio镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

Browsertime - 你的浏览器,你的页面,你的脚本!

!Browsertime

从你的浏览器中,在终端里访问Web性能时间线!

Browsertime允许你:

  1. 直接从浏览器查询时间数据,获取导航时间、用户时间、资源时间、首次绘制和RUM速度指数。
  2. 生成HAR文件(Firefox使用HAR Export Trigger,Chrome通过解析日志生成)。
  3. 在浏览器中运行自定义Javascript脚本,并获取每次运行的统计数据。
  4. 录制屏幕视频并分析结果,获取首次视觉变化、速度指数、85%视觉完成度和最后视觉变化。

重要提示! master分支现在是即将发布的2.0.0 alpha版本,1.x是最新稳定版本。

简单示例

使用我们的Docker镜像(包含Chrome、Firefox、XVFB和录制视频所需依赖):

bash
$ docker run --shm-size=1g --rm -v "$(pwd)":/browsertime sitespeedio/browsertime --video --speedIndex [***]

或使用node:

bash
$ bin/browsertime.js [***]

在Chrome中加载[***]

更多示例

查看示例文档。

支持的浏览器

Browsertime在桌面端支持Firefox和Chrome,在Android上支持Chrome。

我们计划支持Opera(Android版),当iOS Safari支持WebDriver时也将添加支持。

工作原理

Browsertime使用Selenium NodeJS驱动浏览器。它启动浏览器、加载URL、执行可配置的Javascript收集指标、生成HAR文件。

Firefox的HAR文件通过HAR Export Trigger获取,Chrome则使用Chrome-HAR解析时间线日志生成HAR文件。

你还可以在访问URL之前(--preScript)和之后(--postScript)运行自定义Selenium脚本,例如登录/登出或其他操作。

速度指数和视频

使用我们的Docker容器可轻松录制视频并计算速度指数,因为它包含运行VisualMetrics所需的所有依赖。

默认视频包含计时器并显示指标发生时间,可通过--video.addTimer false关闭。

使用Docker测试

你可以在本地使用Docker构建和测试更改:

bash
$ docker build -t sitespeedio/browsertime .
$ docker run --shm-size=1g --rm -v "$(pwd)":/browsertime sitespeedio/browsertime -n 1 --video --speedIndex [***]

网络连接配置

你可以通过Docker网络桥接限制网络连接速度,以便更容易捕获性能回归。默认使用TSProxy,但目前与Selenium存在兼容性问题(详见#229)。

在安装了tc的服务器上,可通过以下脚本创建不同网络环境的Docker网络桥接:

bash
#!/bin/bash
echo '启动Docker网络'
docker network create --driver bridge --subnet=192.168.33.0/24 --gateway=192.168.33.10 --opt "com.docker.network.bridge.name"="docker1" 3g
tc qdisc add dev docker1 root handle 1: htb default 12
tc class add dev docker1 parent 1:1 classid 1:12 htb rate 1.6mbit ceil 1.6mbit
tc qdisc add dev docker1 parent 1:12 netem delay 300ms

docker network create --driver bridge --subnet=192.168.34.0/24 --gateway=192.168.34.10 --opt "com.docker.network.bridge.name"="docker2" cable
tc qdisc add dev docker2 root handle 1: htb default 12
tc class add dev docker2 parent 1:1 classid 1:12 htb rate 5mbit ceil 5mbit
tc qdisc add dev docker2 parent 1:12 netem delay 28ms

docker network create --driver bridge --subnet=192.168.35.0/24 --gateway=192.168.35.10 --opt "com.docker.network.bridge.name"="docker3" 3gfast
tc qdisc add dev docker3 root handle 1: htb default 12
tc class add dev docker3 parent 1:1 classid 1:12 htb rate 1.6mbit ceil 1.6mbit
tc qdisc add dev docker3 parent 1:12 netem delay 150ms

docker network create --driver bridge --subnet=192.168.36.0/24 --gateway=192.168.36.10 --opt "com.docker.network.bridge.name"="docker4" 3gem
tc qdisc add dev docker4 root handle 1: htb default 12
tc class add dev docker4 parent 1:1 classid 1:12 htb rate 0.4mbit ceil 0.4mbit
tc qdisc add dev docker4 parent 1:12 netem delay 400ms

运行容器时添加--network指定网络,同时需告知Browsertime网络连接由外部配置。例如使用cable网络:

bash
$ docker run --shm-size=1g --network=cable --rm sitespeedio/browsertime -c cable --connectivity.engine external --speedIndex --video [***]

使用3g网络:

bash
$ docker run --shm-size=1g --network=3g --rm sitespeedio/browsertime -c 3g --connectivity.engine external --speedIndex --video [***]

删除网络:

bash
#!/bin/bash
echo '停止Docker网络'
docker network rm 3g
docker network rm 3gfast
docker network rm 3gem
docker network rm cable

移动设备测试

Browsertime支持Android上的Chrome:可收集速度指数、HAR和视频!这仍是新功能,如有问题请反馈。

开始前需安装adb并准备设备。

如需限制网络,可使用Micro device lab或TSProxy。

bash
$ browsertime --chrome.android.package com.android.chrome [***] --video --speedIndex

在Linux(已测试Ubuntu 16)上,可使用Docker容器驱动Android设备,需注意:

  • 使用特权模式--privileged
  • 共享USB端口-v /dev/bus/usb:/dev/bus/usb
  • 添加-e START_ADB_SERVER=true启动adb服务器
  • 关闭xvfb--xvfb false(自动启动)

Docker容器默认支持视频和速度指数分析。

bash
$ docker run --privileged -v /dev/bus/usb:/dev/bus/usb -e START_ADB_SERVER=true --shm-size=1g --rm -v "$(pwd)":/browsertime-results sitespeedio/browsertime -n 1 --chrome.android.package com.android.chrome --xvfb false --speedIndex --video [***]

配置

运行$ bin/browsertime.js --help查看配置选项。

发送指标到Graphite

最简单的方法是安装jq工具提取指标并发送到Graphite。

例如,提取中位数速度指数并发送:

bash
echo "browsertime.your.key.SpeedIndex.median" $(cat /tmp/browsertime/browsertime.json | jq .statistics.visualMetrics.SpeedIndex.median) "`date +%s`" | nc -q0 my.graphite.com 2003
查看更多 browsertime 相关镜像 →
sitespeedio/sitespeed.io logo
sitespeedio/sitespeed.io
by sitespeed.io
sitespeed.io 是一款免费开源的网页性能工具,用于测量和监控网页性能。
12250M+ pulls
上次更新:24 天前
sitespeedio/sitespeed.io-autobuild logo
sitespeedio/sitespeed.io-autobuild
by sitespeed.io
sitespeed.io是一款完整的Web性能工具,通过真实浏览器测试网站,收集用户中心指标,提供优化建议,支持持续集成和生产环境监控。
6500K+ pulls
上次更新:5 天前
sitespeedio/graphite logo
sitespeedio/graphite
by sitespeed.io
用于与sitespeed.io配合运行Graphite(1.1.3版本)的示例镜像
781M+ pulls
上次更新:11 个月前
sitespeedio/node logo
sitespeedio/node
by sitespeed.io
sitespeed.io的基础Docker容器,包含Ubuntu 22.04和Node.js 20.x,用于构建sitespeed.io相关应用。
3100K+ pulls
上次更新:2 个月前
sitespeedio/webbrowsers logo
sitespeedio/webbrowsers
by sitespeed.io
为sitespeed.io的VisualMetrics依赖基础容器添加特定版本的Chrome和Firefox,同时包含xvfb和x11vnc的Docker镜像。
12100K+ pulls
上次更新:1 个月前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
sitespeedio/browsertime
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429