Brian Knapp <brianknapp / gmail.com> wrote:
> You're welcome!
> 
> I plan on including relational and NoSQL. If you have suggestions, I'd love
> to hear them.
> 
> My goal is to isolate the DB performance, so it might be the same web
> framework but different servers, frameworks, ORM's etc.
> 
> I want to do with ORM, without ORM, and so on and so forth.

I suggest using Rack::MockRequest to test ORMs, even.  No need to have
the web server variable in there when testing an ORM.

For web server performance, I simulate a DB with:

	sleep(expected_db_request_time)

It's pretty uninteresting from a server point-of-view, and
the unicorn (by design) completely sucks with slow databases.

yahns is OK here, as MRI releases the GVL on sleep
(as do the pg and mysql2 drivers, at least).

Hello world is a pretty good benchmark for servers themselves.

Other benchmarks relevant for servers:
* Large requests (uploads)
* Large (dynamically-generated) response handling
* zlib/gzip response compression (recent MRI release the GVL)
...

Maybe relevant for servers, but you should also use Rack::MockRequest
as a baseline:
* Large view rendering (erb/haml/...),
  this translates to a large response.