As this question is still open, I might as well weigh in.
The good news is that over the past 5 or so years the Open Source tools have really matured and taken off in the space, the bad news is there are so many of them out there.
Here are my thoughts:-
Jmeter vs Grinder
Jmeter is driven from an XML style specification, that is constructed via a GUI.
Grinder uses Jython scripting within a muti-threaded Java framework, so more oriented to programmers.
Both tools will handle HTTP and HTTPS and have a proxy recorder to get you started.
Both tools use the Controller model to drive multiple test agents so scalability is not an issue (given access to the Cloud).
Which is better:-
A hard call as the learning curve is steep with both tools as you get into the more complicated scripting requirements for url rewriting, correlation, providing unique data per Virtual User and simulating first time or returning Users (by manipulating the HTTP Headers).
That said I would start with Jmeter as this tool has a huge following and there are many examples and tutorials on the web for using this tool. If and when you come to a 'road block', that is something you can't 'easily' do with Jmeter then have a look at the Grinder. The good news is both these tools have the same Java requirement and a 'mix and match' solution is not out of the question.
Something new to add – Headless browsers running multiple instances of Selenium WebDriver.
This is a relatively new approach because it relies on the availability of resources that can now be provisioned from the Cloud. With this approach a Selenium (WebDriver) script is taken and run within a headless browser (i.e. WebDriver = New HtmlUnitDriver()) driver in multiple threads.
From experience around 25 instances of 'headless browsers' can be executed from the Amazon M1 Small Instance.
What this means is that all of the correlation, url rewriting issues disappear as you repurpose your functional testing scripts to become performance testing scripts.
The scalability is compromised as more VMs will be needed to drive the load, as compared with a HTTP driver such as the Grinder or Jmeter. That said, if you are looking to drive 500 Virtual Users then with 20 Amazon Small Instances (6 cents an hour each) at a cost of just $1.20 per hour gives you load that is very close to the Real User Experience.