public
Fork of ry/ebb
Description: web server
Homepage: http://ebb.rubyforge.org
Clone URL: git://github.com/gnosek/ebb.git
add fcgi-rack script for benchmarking
Ryan Dahl (author)
Thu Mar 20 09:51:55 -0700 2008
commit  cebd9c9cba0549bc78c1459f85e8ea3eb6330771
tree    d980e69a61ce022b311bf60d5db844a3d4bc3856
parent  9b659b2e0f56a35f1ab0fd1f9e4508eb9ab9adf8
...
21
22
23
24
 
 
25
26
27
...
73
74
75
76
77
78
79
80
81
82
 
...
21
22
23
 
24
25
26
27
28
...
74
75
76
 
 
 
77
78
 
79
80
0
@@ -21,7 +21,8 @@ class SimpleApp
0
   end
0
   
0
   def call(env)
0
- commands = env['PATH_INFO'].split('/')
0
+ path = env['PATH_INFO'] || env['REQUEST_URI']
0
+ commands = path.split('/')
0
     
0
     @count += 1
0
     if commands.include?('periodical_activity') and @count % 10 != 1
0
@@ -73,9 +74,6 @@ end
0
 
0
 
0
 if $0 == __FILE__
0
- require 'rubygems'
0
- require 'ruby-debug'
0
- Debugger.start
0
   require DIR + '/../ruby_lib/ebb'
0
   server = Ebb::start_server(SimpleApp.new, :port => 4001)
0
-end
0
\ No newline at end of file
0
+end
...
173
174
175
 
 
 
176
177
178
...
181
182
183
184
 
 
 
185
186
187
188
 
189
190
191
...
173
174
175
176
177
178
179
180
181
...
184
185
186
 
187
188
189
190
191
192
193
194
195
196
197
0
@@ -173,6 +173,9 @@ class ServerTest
0
     
0
     return nil unless r =~ /Requests per second:\s*(\d+\.\d\d)/
0
     rps = $1.to_f
0
+ if r =~ /Time taken for tests:\s*(\d+\.\d+) seconds/
0
+ time_taken = $1.to_f
0
+ end
0
     if r =~ /Complete requests:\s*(\d+)/
0
       requests_completed = $1.to_i
0
     end
0
@@ -181,11 +184,14 @@ class ServerTest
0
     else
0
       raise "didn't get how many failed requests from ab"
0
     end
0
- puts " #{rps} req/sec (#{requests_completed} completed, #{failed_requests} failed)"
0
+ successful_requests = requests_completed - failed_requests
0
+ puts " #{rps} req/sec (#{requests_completed} total, #{failed_requests} failed in #{"%.2f" % time_taken} seconds)"
0
+ puts " #{"%.2f" % (successful_requests/time_taken)} successful req/sec"
0
     
0
     {
0
       :server => @name,
0
       :rps => rps,
0
+ :time_taken => time_taken,
0
       :requests_completed => requests_completed,
0
       :requests_failed => failed_requests,
0
       :ab_cmd => cmd
...
5
6
7
8
9
10
11
12
...
5
6
7
 
 
8
9
10
0
@@ -5,8 +5,6 @@ require 'net/http'
0
 require 'socket'
0
 require 'rubygems'
0
 require 'json'
0
-require 'ruby-debug'
0
-Debugger.start
0
 
0
 
0
 Ebb.log = File.open('/dev/null','w')

Comments

    No one has commented yet.