Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

more upload tests and site modifications

  • Loading branch information...
commit 92fb937e38b63010f15a7d237f99bb6c5b53519c 1 parent 75f68f9
Ryan Dahl authored
Showing with 21 additions and 14 deletions.
  1. +15 −10 README
  2. +4 −2 benchmark/test.rb
  3. +2 −2 site/style.css
View
25 README
@@ -1,11 +1,12 @@
# A Web Server Called *Ebb*
-Ebb aims to be a very small and fast web server specifically for hosting
+Ebb aims to be a small and fast web server specifically for hosting
web frameworks like Rails, Merb, and in the future Django.
It is not meant to be a full featured web server like Lighttpd, Apache, or
-Nginx. Rather it should be used in multiplicity behind a load balancer and
-a front-end server. It is not meant to serve static files in production.
+Nginx. Rather it should be used in multiplicity behind a
+[load balancer](http://brainspl.at/articles/2007/11/09/a-fair-proxy-balancer-for-nginx-and-mongrel)
+and a front-end server. It is not meant to serve static files in production.
## Design
@@ -36,13 +37,13 @@ forthcoming.
## Download
-The Ruby binding is available as a Ruby Gem. It can be install simply by
-executing
+The Ruby binding is available as a Ruby Gem. It can be install by executing
`gem install ebb`
Ebb depends on having glib2 headers and libraries installed. (Easily available
-on any UNIX system.)
+on any UNIX system.) A manual downloads can be found at
+the [RubyForge project page](http://rubyforge.org/frs/?group_id=5640).
## Why?
@@ -52,6 +53,11 @@ for quick and beautiful code, but for production web servers that might handle
thousands of requests a second, an attempt should be made to be as efficient
as possible in processing connections.
+Following are some benchmarks. Please take these measurements with a grain
+of salt. Benchmarks like these are notorious for presenting an inaccurate
+or highly slanted view of how software performs.
+The code for these can be found in the `benchmark` directory.
+
![Response Size](http://s3.amazonaws.com/four.livejournal/20080227/response_size.png)
This shows how the web servers perform with respect to throughput (using a
@@ -63,11 +69,10 @@ A simple concurrent clients benchmark serving a *hello world* page.
![Uploads](http://s3.amazonaws.com/four.livejournal/20080227/post_size.png)
-Ebb processes upload before handing it over to the web application. This
+Ebb processes uploads before handing it over to the web application. This
allows Ebb to continue to process other clients while the upload is in
-progress. The large difference here is merely because Ebb's internal request
-buffer is set at 40 kilobytes before it writes to file. (Improvement can
-be made here.)
+progress. The cliff at 40k here is because Ebb's internal request
+buffer is set at 40 kilobytes before it writes to file.
## Contributions
View
6 benchmark/test.rb
@@ -95,8 +95,10 @@ def test_ab
end
def test_large_post
- response = post("/test_post_length", 'C'*1024*50)
- assert_equal 200, response.code.to_i, response.body
+ [50,60,100].each do |i|
+ response = post("/test_post_length", 'C'*1024*i)
+ assert_equal 200, response.code.to_i, response.body
+ end
end
def test_env
View
4 site/style.css
@@ -14,7 +14,7 @@ body {
}
h1, h2, h3, h4 {
- color: #CBCFB6;
+ color: #7DA478;
padding: 0;
margin: 1em 0;
}
@@ -27,7 +27,7 @@ a { color: #E4AC3D; }
#content {
margin: 1em auto ;
- max-width: 30em;
+ max-width: 40em;
}
ol, ul { padding-left: 0; }
Please sign in to comment.
Something went wrong with that request. Please try again.