Difficulties with Hyper-V clients

Hi Patrick / forum members,

For some time, I’ve had a working private instance based on two VMs hosted on VMWare. Both were based on Windows 7 (32-bit), one with WAMP as the web server and the other as the client. These have worked well.

The company that I work for (www.trustiv.co.uk) is keen to host a public test location for you in Manchester, UK. We recently invested in some Windows servers running Server 2012 with Hyper-V. This allows us to build virtual machines which we can then switch from private (internal) to public (Internet-facing) networks. I’m currently doing a proof of concept on our private network to get WebPageTest working internally before I create agents on the same platform that you could use for one of your test locations.

Unfortunately, although I’ve had this working on VMWare before; I’m struggling to get the same configuration working on Windows Server 2012 Hyper-V. Is this a known problem for WebPageTest or have I missed something obvious?

My configuration
VM Host platform - Windows Server 2012 Data Center Edition
Web Server - Ubuntu 12.04 LTS, Apache2, PHP5
WPT client - Windows 7 (32-bit), Chrome+Firefox (WPT), IE9 (urlBlast)

[attachment=313]

.ini files
locations.ini

[code][locations]
1=Manchester
default=Manchester

[Manchester]
1=M247_IE
2=M247_Chrome_FF
label=Manchester
connectivity=LAN
lat=53.461507
lng=-2.324599

[M247_IE]
browser=IE 9
latency=0
label=“IE 9”

[M247_Chrome_FF]
browser=Chrome,Firefox
label=“Manchester”
[/code]

wptdriver.ini
[WebPagetest]

[code]url=http://xx.xx.xx.xx/
location=M247_Chrome_FF
software=http://www.webpagetest.org/installers/software.dat

[Chrome]
exe=“C:\Program Files\Google\Chrome\Application\chrome.exe”
options=‘–load-extension=“%WPTDIR%\extension” --user-data-dir=“%PROFILE%” --no-proxy-server’

[Firefox]
exe=“C:\Program Files\Mozilla Firefox\firefox.exe”
options=‘-profile “%PROFILE%” -no-remote’
template=firefox[/code]

urlBlast.ini

[code][Configuration]
Startup Delay=30
Log File=c:\webpagetest\agent\urlblast
Timeout=120
use current account=1

; Where to get work from
Url Files Url=http://xx.xx.xx.xx/work/
Location=M247_IE
;Location Key=TestKey123[/code]

Observed behaviour
The web server seems to be correctly configured. As well as the system health page looking OK (http://xx.xx.xx.xx/install), the normal webpage is visible and I can see the expected agents (FF, IE and Chrome) in the dropdown box.

When I initiate a test using either URLBlast (IE) or WPTDriver (FF or Chrome), I can see the relevant browser open but the browser never receives any page content and after several minutes my test completes with the error message “The test completed but there were no successful results.”

If I observe the behaviour of the browser via an RDP session or Hyper-V console session, I see the relevant browser open with “127.0.0.1:8888/blank.html” in the address bar.
[attachment=314]

The browser never downloads any content and in the case of Chrome I see a plugin error after 60 seconds or so.
[attachment=315]

After a second browser crash the WebPageTest error “no successful results” appears.
[attachment=316]

I’ve tried adding the “connectivity=LAN” switch in my locations.ini but this didn’t help. I’ve also re-installed the dummynet driver several times since both of these solutions seem to have helped other users on this forum.

Now I’m getting stuck…Have I done something wrong in my config, or could this be a problem related to the use of Hyper-V as a virtualisation platform rather than VMWare (which I’ve used successfully) or AWS (which I know is widely used by others)?

It would be great to have any feedback or insights from anybody who uses this forum, particularly if they have experience of using WebPageTest with Hyper-V.

Sure I’ve seen this before, as a first step I’d check dummynet is installed correctly

The process for installing changed a few versions ago (when the 64 bit version came out) and I occasionally forget to copy the files to the correct location when I install it.

Step 10 here: https://sites.google.com/a/webpagetest.org/docs/private-instances#TOC-Test-Machine-s-1

Hi Andy,

Thanks for your advice. I’ve already tried a few uninstall/reinstall loops for the dummynet driver, but I did it again. I’m using the 32-bit driver on Windows 7 32-bit. My only concern is that my underlying virtualisation platform (Windows Server 2012 Hyper-V) is 64-bit. I doubt that this is a problem, but I have an open mind…

Here’s what I just did:
1 - Uninstalled dummynet driver and rebooted the VM
2 - Recopied the 32-bit driver into the c:\webpagetest\dummynet folder
3 - Ran the testmode.cmd batch file with admin rights (I know this is for 64-bit, but I thought I’d try it since, I’d already followed the reinstall process several times with no success.
4 - Installed the 32-bit driver and rebooted the VM

After the reboot, I retested and I’m still suffering from the same problem. Do you know the significance of the 127.0.0.1:888/blank.htm URL?

All the best
Richard

The /blank URL is the page that the browsers start on when doing their testing (and in that case they are talking to a local server running in the WPT agent code). I haven’t seen any issues quite like that before, including in a quick HyperV test that I did though admittedly I haven’t used HyperV much.

What version of the agent are you running? Might be good to grab the latest in case you’re bumping into a compatibility issue with a newer release of Chrome: https://sites.google.com/a/webpagetest.org/docs/private-instances#TOC-Updating-Test-Agents

Thanks Patrick,

I downloaded the latest versions of the agents and this seems to have fixed the majority of my problems.

These are the steps that I took…
Downloaded new update.zip and wpupdate.zip files.
update.ini went from ver 362 → 365
wptupdate.ini went from ver 124 → 127

Firefox and IE are now working. :slight_smile:
The problems that I saw with Chrome seem to be related to changes in Chrome itself.

The problems with Chrome were:
…wpt driver extension was crashing.
Attempted to install it manually chrome://extensions - load etc…
…but now need Chrome beta to use unsigned extensions.
…also need to “enable Experimental Extension APIs” in chrome://flags
Despite making these changes, Chrome tests don’t work at the moment. I’ve disabled this for the time being.