The package to set up your own private instance of WebPagetest is now available on sourceforge here.

This can be particularly useful if you want to test dev pages on your intranet or if you want to test from your own test location (though if you'd like to host a test location for public consumption, feel free to ping me).

The package as it is currently configured is expecting to run both the web server and testing from a single machine out of "c:\web site". They can be split apart and/or moved to a different location, just make sure to update the appropriate configuration files.Configuration files

All of the site configuration is now controlled by files in the content\settings folder:

settings.ini - Controls the features and customization of the site

locations.ini - Details on all of the test locations

intro.ini - Introductory paragraph on the main page

New Install

Single machine configuration (web server and testers running on the same machine):

You need an XP or 2003 Server (XP is the most supported since that’s what I do most dev on)

URLBlast.exe needs to be added to the startup folder (or for testing, just manually started) – It is in the “Web Site” folder root

As far as software goes, you need Apache 2.2+ with PHP 5 installed and mod_rewrite enabled

There is a sample httpd.conf file for Apache in the Web Site folder

Disk space depends on how much history and volume you’re expecting but the requirements are pretty light – around 250 KB per test run so around 4000 per gig

Default OS accounts will get created the first time urlblast is run (user1, user2, etc). If you want to override the account names or passwords edit them in urlblast.ini

The main account you want to use for running the controller software needs to be an admin account and configured to auto login (I use TweakUI to set up the auto login). Sorry, can’t run locked because the desktop needs to be visible to be able to capture the screen shots). If your remote system isn’t in a secure location and you don’t trust the remote hands and eyes this is the scariest part since the system will be logged in as an admin all the time (at the console).

Multiple machine configuration (split web server from testers):

Web Server:

The web server can be running any OS that supports Apache 2.2+ and PHP 5 (Linux and Windows have been verified to work)

The web server can be running any OS that supports Apache 2.2+ and PHP 5 (Linux and Windows have been verified to work)

You need Apache 2.2 (or later) installed with mod_rewrite enabled

You need PHP 5 installed and configured to work with Apache and you need the gd2 plugin enabled

There is a sample httpd.conf file for Apache in the Web Site folder

Disk space depends on how much history and volume you’re expecting but the requirements are pretty light – around 250 KB per test run so around 4000 per gig

Test Machine:

You need an XP or 2003 Server (XP is the most supported since that’s what I do most dev on)

Copy urlblast.exe, urlblast.ini and pagetest.dll to a folder on the test machine

URLBlast.exe needs to be added to the startup folder (or for testing, just manually started) – It is in the “Web Site” folder root

Default OS accounts will get created the first time urlblast is run (user1, user2, etc). If you want to override the account names or passwords edit them in urlblast.ini

The main account you want to use for running the controller software needs to be an admin account and configured to auto login (I use TweakUI to set up the auto login). Sorry, can’t run locked because the desktop needs to be visible to be able to capture the screen shots). If your remote system isn’t in a secure location and you don’t trust the remote hands and eyes this is the scariest part since the system will be logged in as an admin all the time (at the console).

Upgrade Existing Install

To upgrade an existing install, copy over the whole content folder except for the settings directory. You should also update your pagetest.dll and urlblast.exe binaries.

Jobsync has been replaced by a doing http posts directly to the web server for transmitting jobs around. You'll want to look at the new urlblast.ini settings and copy the relevant ones over to your system (or overwrite your version and modify the new one).

(04-28-2009 01:52 AM)pmeenan Wrote: The main account you want to use for running the controller software needs to be an admin account and configured to auto login (I use TweakUI to set up the auto login). Sorry, can’t run locked because the desktop needs to be visible to be able to capture the screen shots). If your remote system isn’t in a secure location and you don’t trust the remote hands and eyes this is the scariest part since the system will be logged in as an admin all the time (at the console).

Hi Pat,

I have a few questions:

Is it possible to disable screenshooting and run in locked mode?

Will it work on VMWare instance?

I'll probably try installing it next week and will let you know how it goes.

Yes, you can run in a VM - I do that all the time for testing but be careful because the performance of a VM tends to not be as consistent as physical hardware.

If you run in locked mode the screen shot will just be black but the code will work fine. If you're brave I have an experimental way to run the browser that does allow screen shots while locked (with the ultimate goal of being able to run it all as a service in the background and not require login at all). I have a custom app that hosts the browser control (so it actually uses the IE engine even though the frame itself isn't IE) that works fine for screen shots when locked (and fixes some other pain points around IE8 and running multiple instances).

(05-16-2009 05:40 AM)pmeenan Wrote: Yes, you can run in a VM - I do that all the time for testing but be careful because the performance of a VM tends to not be as consistent as physical hardware.

If you run in locked mode the screen shot will just be black but the code will work fine. If you're brave I have an experimental way to run the browser that does allow screen shots while locked (with the ultimate goal of being able to run it all as a service in the background and not require login at all). I have a custom app that hosts the browser control (so it actually uses the IE engine even though the frame itself isn't IE) that works fine for screen shots when locked (and fixes some other pain points around IE8 and running multiple instances).

Yep, I might be brave enough for that Embedded IE might be a good solution if there are no extreme complications. Is this app currently just a binary to run?

Let me try regular version first and I'll see if having unlocked box is a solution for me.

It works with IE6 as well though with all of the security holes I won't be making that available for public testing

Yes, the app is just a binary that you drop in the same directory as urlblast.exe and there's just a ini file change for urlblast to tell it to launch pagetest.exe instead of ie. There shouldn't be any complications, I just need to test the scripting with it because I thought that was having issues. I will be migrating the public systems over to using it when I get time to finish up the testing. IE8 is the most critical because without it you can only run one instance at a time which cuts my capacity in half on the current test systems.

(05-16-2009 09:46 AM)pmeenan Wrote: It works with IE6 as well though with all of the security holes I won't be making that available for public testing

Yes, the app is just a binary that you drop in the same directory as urlblast.exe and there's just a ini file change for urlblast to tell it to launch pagetest.exe instead of ie. There shouldn't be any complications, I just need to test the scripting with it because I thought that was having issues. I will be migrating the public systems over to using it when I get time to finish up the testing. IE8 is the most critical because without it you can only run one instance at a time which cuts my capacity in half on the current test systems.

Great! Let me know when you have it tested enough - I'll be happy to use it.

I'm also thinking about looking into YSlow automation issues as well - there are just a few tiny problems that give me troubles.

I'm currently trying to set up a hosted pagetest but there seems to be a problem with the 2.0.0.202 browser addon in the IE 8 (german version). The requested URL is giving an download window with an error. something like "/ from http://www.berlin.de could not be downloaded"

PS: the mod_header needs to be enabled in your demo httpd.conf to allow the included .htaccess to work

Sorry, there were some problems with IE8 and gzipped sites with the browser plugin. Attached is build 204 which should rectify the problem. I'll do a full release in the next couple of days as there are a few more improvements I want to make.

it looks like the "Detailed results" page takes a while to generate on my server. It uses 100% cpu for httpd on a semperon 2600+ for about 10 seconds (report on yahoo.de)
is there a quick way to speed that up apart from drilling into the php code?