本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
!Browsertime
从你的浏览器中,在终端里访问Web性能时间线!
Browsertime允许你:
重要提示! master分支现在是即将发布的2.0.0 alpha版本,1.x是最新稳定版本。
使用我们的Docker镜像(包含Chrome、Firefox、XVFB和录制视频所需依赖):
$ docker run --shm-size=1g --rm -v "$(pwd)":/browsertime sitespeedio/browsertime --video --speedIndex [***]
或使用node:
$ 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 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网络桥接:
#!/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网络:
$ docker run --shm-size=1g --network=cable --rm sitespeedio/browsertime -c cable --connectivity.engine external --speedIndex --video [***]
使用3g网络:
$ docker run --shm-size=1g --network=3g --rm sitespeedio/browsertime -c 3g --connectivity.engine external --speedIndex --video [***]
删除网络:
#!/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。
$ browsertime --chrome.android.package com.android.chrome [***] --video --speedIndex
在Linux(已测试Ubuntu 16)上,可使用Docker容器驱动Android设备,需注意:
--privileged-v /dev/bus/usb:/dev/bus/usb-e START_ADB_SERVER=true启动adb服务器--xvfb false(自动启动)Docker容器默认支持视频和速度指数分析。
$ 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查看配置选项。
最简单的方法是安装jq工具提取指标并发送到Graphite。
例如,提取中位数速度指数并发送:
echo "browsertime.your.key.SpeedIndex.median" $(cat /tmp/browsertime/browsertime.json | jq .statistics.visualMetrics.SpeedIndex.median) "`date +%s`" | nc -q0 my.graphite.com 2003
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429