WebPageTest
WebPageTest是google的一个开源项目“make the web faster”的子项目,后来在2008年基于BSD开源
详情可见:官方文档
WebPageTest服务端基于PHP,而客户端会有不同的形式,可以部署在window/linux以及手机上,以下主要针对说明window上的agent。
后续将web server部署在debian上,agent部署在window上
Web Server
安装配置webpagetest
- 下载webpagetest_3.0.zip,解压后,将www目录拷贝到/usr/local/apps/webpagetest/目录下
- 修改目录权限
1 | cd /usr/local/apps/webpagetest/www/ |
- 修改location.ini
1 | [locations] |
- 配置connectivity,settings
具体可根据settings里面的说明项进行配置
1 | cp connectivity.ini.sample connectivity.ini |
Nginx
安装nginx,具体可见nginx安装脚本
配置nginx.conf:
1 | server { |
启动nginx:/usr/local/nginx/sbin/nginx
PHP
安装php,具体可见php安装脚本
配置php.ini(修改以下配置)
1 | memory_limit = 256M |
启动php-fpm:/usr/local/php/sbin/php-fpm
检查依赖
访问http://webpagetest.jeffxue.com/install/
(需先使用ihosts修改本地host,将域名指向对应的服务器)
检查对应的依赖是否为yes
即可,若为no
,则安装具体的依赖即可
ffmpeg(–enable-libx264)可通过源码进行编译安装:
- yasm
1 | git clone git://github.com/yasm/yasm.git |
- libx264
1 | git clone git://git.videolan.org/x264.git |
- ffmpeg
1 | tar xvzf FFmpeg-n3.3.tar.gz |
Agent
以下操作均在window 7中执行
- 下载webpagetest_3.0.zip,解压后,将agent目录拷贝到window中
- 配置默认使用administrator登录
- 安装chrome、firefox、IE11
- 设置不休眠
- 关闭防火墙
- 关闭UAC
- 设置稳定时钟,cmd中运行
bcdedit /set {default} useplatformclock true
- 安装python2.7
- 安装selenium
pip install selenium
- 安装pyWin32(注意window操作系统是否为x64)
- 安装Imagemagick
- 安装Windows Performance Toolkit
- 安装selenium
- 单台window只支持单个版本IE,若需要测试多个IE,需要配置多台window,或使用多个虚拟机
- 设置开启启动任务,开机启动wptdriver.exe
- 配置wptdriver.ini(单独打开http://www.webpagetest.org/installers/software.dat,下载安装对应的一些依赖软件)
1 | [WebPagetest] |
- 若运行测试时结果显示没有找到ipfw,则需要安装agent目录下的dummynet,在高级网络设置中安装对应的ipfw,并将对应的目录下的文件拷贝到dummynet目录下
启动agent:直接运行wptdriver.exe
即可,显示waiting for work即正常,再次访问http://webpagetest.jeffxue.com/install/
检查agent是否已经连上server
运行测试
访问webpagetest.jeffxue.com
指定URL
输入URL,选择浏览器,即可开始测试
使用script
点开高级设置,选择scirpt,输入对应的脚本,即可进行测试
具体script的语法可见:scripting
1 | logData 0 |