Website performance measurement - performance

I need a tool to measure a website's performance that's free and does not require any changes to be made to the code (jsp asp pages). All help is appreciated.

For performance measurement I recommend you YSlow, it's a Firefox add-on integrated with Firebug, it analyzes your web pages and tells you why they're slow based on the rules for high performance web sites.
Screenshot
Also with the Firebug Network Monitoring tab, you can see which resources are taking more time and bandwidth to download:
(source: getfirebug.com)

You could also use Fiddler which will work for browsers other than Firefox. (But will not profile javascript code)
See this post

The other answers to this question focus on performance of a single user of the site from their browser's point of view. If you want to test the performance of your server, for example, to see how many concurrent users you can support, you need to be looking at tools like JMeter.

Related

Website is slow but cannot find culprit

I have a ski holiday website http://www.powderwhite.com which Google Webmaster Tools say is slow (70% slower than other websites on the Internet).
Problem is that Google Developer Tools say we have done 90% of what is required to improve speed, speed tests also show the site is fairly fast and other websites hosted on the same virtual server are faster.
I think we have done lots to the site itself to make it fast and the hosting provider is saying it is not their servers. Anybody know what may be wrong? (I suspect jQuery or some javascript is slowing the site).
Try using fiddler tool. You can launch this then open the website in IE and in fiddler you can see each of the elements loaded on the page. In the right window pane you can look at the statistics and inspectors to see if there is one image or file that is giving a slow response.

Is Firefox User Agent Switcher enough to test if my site is cross browser?

I found this plugin, for Firefox, on Google and it looks like perfect to test if my site works well on all major browsers. It changes the browser's user-agent and emulates almost all versions of all browsers on any OS, including mobile. Looks like perfect. My question is: can i trust 100% on this plugin? It really give me the same effect as if i were using other browser (ie6 for exemple)?
It really give me the same effect as if i were using other browser (ie6 for exemple)?
No. Changing the user-agent string does not mean you are changing the browser's rendering engine - it just sends a different browser signature to the server. The actual rendering will always be Firefox's, at the sites will always look as they do in Firefox.
See these questions on how to test sites in different browsers:
Browser testing - Ideas on how to tackle it efficiently
https://stackoverflow.com/questions/464089/simulators-emulators-for-mobile-browser-testing
It does not affect the rendering engine of your browser. It only pretends to the server to be a different browser, so if the server has e.g. a special IE6-optimized version it will send you this version instead.
Essentially, this is mostly useful to access web pages that claim to not support your browser by pretending that you have a supported version.
For testing cross-browser compatibility it is useless.
You can get free screenshots from a wide array of browsers at http://browsershots.org/
that is a very useful site, but won't help you test JavaScript interactions.

Scripting YSlow and/or PageSpeed

As I'm starting to do some front end engineering at work, I would like to properly quantify the speedup achieved.
I would like to be able to use an average value of, say, 50 page load times measured by YSlow or Google Page Speed. Obviously, I don't want to hit reload 50 times and write down the value.
Is there a FF plugin for that or will I have to write a Firebug extension myself? Or maybe there is a non-FF, command-line tool that does what I'm planning?
I recently did a talk about this at Google Test Automation Conference in Zurich for this.
Slides for it are here
And I did a blog post on my company site about it and that can be found here
We were able to use the YSlow Beacon and Selenium together to automate the entire process.
I hope that helps!
Also check out GTmetrix which can do PageSpeed and YSlow analysis from a variety of reasons and has a free API you can use to automate this.
Not sure if you use Grunt in your development workflow, but there is a great package avaible that allows for easy scripting - check it out:
https://www.npmjs.org/package/grunt-pagespeed
Once you run it, it will output the results as follows:
Or, if you prefer to write your own, the Google PageSpeed API is also quite easy to use. Check out this blog post for more information:
http://deanhume.com/home/blogpost/the-google-pagespeed-api-and-mvc-4/86

How can I check my AJAX for browser capable?

I always have to check each and every browser to see if my website would work. Is there a website where I can check it with?
Update:
I don't really want just screenshots (which what browsershots do), I want to actually test the posting of my script.
You want a web site to check your web site for javascript compatibility? How would you expect it to know how to exercise your interface to trigger the proper interactions? Or are you thinking of it doing some sort of static code analysis? I think you are better off coding against a framework that has solved most of the browser-dependent idiosyncrasies and using it to check for browser capabilities before you use them. jQuery, MooTools, Prototype/Scriptaculous, etc. go a long way in solving these problems for javascript.
Note that you still need to worry about rendering your site, but you already have several answers for how to go about doing that based on web sites. Personally, I just maintain IE/Safari/FF/Opera/Chrome on my workstation and do significant checking in IE/FF and basic checking in Safari/Opera/Chrome.
Even when there exist websites that allow you to see a static snapshot of your site in several browsers, you should really test your page on them yourself, because there can be subtle, and not so subtle, bugs and differences that are only apparent when interacting with the webpage.
You can cover yourself quite a lot by testing in
A Gecko engine browser (Firefox)
A Webkit engine browser (Chrome, Safari, Konqueror)
Opera
AND IE6+
John Resig recommends checking the Yahoo graded browser support documentation.
If you write unit tests for your javascript, you could use testswarm http://testswarm.com
There are multiple options:
http://ipinfo.info/netrenderer/
These site will let you run multiple browsers and version without installing. You only need to install a plugin
http://spoon.net/browsers/
There are plenty of sites, just Google/Bing for browser compatibility check.
http://browsershots.org/ is a good one.
Although most of them just take a snapshot of the site, you might have to do the manual check for things like menus and dynamic content.
BrowserShots might do what you want if you can tell by rendering a particular URL whether or not things will work as expected.
In light of your update, you could still use BrowserShots by creating a page which tests each of your scripts and renders 'pass' or 'fail' as its content depending on whether they work or not.
Failing that, Multiple IE is quite useful for running various versions of IE on one PC which can otherwise be problematic.

Measuring Response Times In Combination With WatiN

I'm looking for a tool that I could potentially use in combination with WatiN that would allow me to more or less measure both the response time of an interaction and also the filesize of the same interaction in combination with WatiN. Let's say, I make a google request. That's great, we've all seen that example, but what if I want to see how long that request took and also what was downloaded and how long it took. Does anyone know any tools that can be used programmatically to do this? Sure, there are many tools such as Charles, Fiddler 2 and Firebug that allow you to do this via an interface, but I'd like to be able to automatically generate reports and the like based on this tool.
Check out HttpWatch:
"HttpWatch is an HTTP viewer and debugger that integrates with IE and Firefox to provide seamless HTTP and HTTPS monitoring without leaving the browser window."
There is an article on the website called Using HttpWatch with WatiN with sample code for using it with WatiN.

Resources