Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am looking for a tool to test a website from a Linux command line.

From the output, I need to know the http response (status codes) but also benchmark the time it takes to download the different elements of the site.

Thank you in advance.

share|improve this question
What have you found, looked at, or are considering (suitable / not suitable) so far? – mctylr Mar 22 '10 at 16:04
None of these answers sound very good to me. You still have to wait ages for a negative – geotheory Nov 5 '15 at 23:27

You can try wget with -p option:

wget -p

It will tell you how long it takes to download each element and the return codes for each request.

share|improve this answer
wget -p URL -O /dev/null – Fedir Mar 30 at 10:43

Please see Apache Benchmark:

Apache Benchmark

This should give you an overview of your page's performance.

share|improve this answer
Apache benckmark cannot be use for this since it is an external source, in fact it is youtube video playlist. We are monitoring the access to this ressource. TY – Embreau Mar 22 '10 at 14:42
I don't see why you can't use ab; like wget in the next answer, it will work as long as the URL of your site is accessible from the machine where you're runinng the benchmarking tool. – gareth_bowles Mar 22 '10 at 14:46
Apache benchmark is not restricted to local resources, it's meant to be a full performance measuring tool (including network latency, i/o, etc). – andre Mar 22 '10 at 14:52
Good to know, I will evaluate this option, thank you. – Embreau Mar 22 '10 at 16:31

You may want to look at the following options of curl:

  • --write-out - displays any of several time-related variables
  • --trace-time - Prepends a time stamp to each trace or verbose line
  • --verbose
  • --include - (HTTP) Include the HTTP-header in the output.
  • --trace-ascii <file> - Enables a full trace dump of all incoming and outgoing data, including descriptive information

And the following option of wget:

  • --timestamping - Turn on time-stamping
share|improve this answer
curl --trace-ascii <file> --trace-time -o /dev/null <url> was exactly what I needed. Thanks! – dsummersl May 17 '13 at 14:21

Selenium and Curl are good options depending on what your goal is. Also, a utility that I've come to like quite a bit is twill. More information is available at

It's nice as it has it's own little specialized language for filling out forms, validating links, and checking response codes. Since it's just Python code, you can easily import the libraries and automate your tests yourself if you'd like to do something different.

share|improve this answer

use curl to get the header for the page, and time the process

time curl -I | grep HTTP

wrap that in a while loop and you're good to go, the same way you can check for all elements if you know the URL

share|improve this answer

try a commandline tool called 'siege' as instructed here

share|improve this answer
That's not what he's asking for. and you're also 3 years late =) – mveroone Sep 3 '13 at 12:15

If you are going to need something bigger then curl and/or wget, there is also selenium

share|improve this answer

I think for running performance test you can try JMeter. You can record your test using the built in proxy. It also runs in text mode, local or distributed. You can save your results in csv or xml format. If using xml format you can also store the content of the page.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.