ry / ebb fork watch download tarball
public this repo is viewable by everyone
Description: web server
Homepage: http://ebb.rubyforge.org
Clone URL: git://github.com/ry/ebb.git
small changes to work for ruby 1.9
Ryan Dahl (author)
2 months ago
commit  27577de16a362740e1e1966f871cdb188153ffff
tree    88c0c8f524db00f7d5561e473ea17177ed3a6471
parent  f3387b215126ee98644c5a6b8085a50b763141d0
...
74
75
76
77
78
79
80
81
82
83
84
...
74
75
76
 
 
 
 
 
77
78
79
0
@@ -74,10 +74,5 @@ end
0
 
0
 if $0 == __FILE__
0
   require DIR + '/../ruby_lib/ebb'
0
- require 'rubygems'
0
- require 'ruby-debug'
0
- Debugger.start
0
-
0
- puts "Ebb started on http://0.0.0.0:4001/"
0
   server = Ebb::start_server(SimpleApp.new, :port => 4001)
0
 end
0
\ No newline at end of file
...
19
20
21
22
 
23
24
25
...
31
32
33
34
 
35
36
37
...
59
60
61
 
62
63
64
...
19
20
21
 
22
23
24
25
...
31
32
33
 
34
35
36
37
...
59
60
61
62
63
64
65
0
@@ -19,7 +19,7 @@ trials = {
0
     [i, "ab -t 3 -q -c 50 http://0.0.0.0:PORT/bytes/#{bytes}"]
0
   },
0
   'wait_fib' => [1,20,40,60,80,100].map { |c|
0
- [c, "ab -t 3 -q -c #{c} http://0.0.0.0:PORT/periodical_activity/fibonacci/10"]
0
+ [c, "ab -t 3 -q -c #{c} http://0.0.0.0:PORT/periodical_activity/fibonacci/15"]
0
   },
0
   'wait' => [0.5,1,1.5,2,2.5,3,3.5].map { |t|
0
     [t, "ab -t 6 -q -c 50 http://0.0.0.0:PORT/periodical_activity/wait/#{t}"]
0
@@ -31,7 +31,7 @@ trials = {
0
     [l, "ab -t 6 -q -c 50 -p #{fn} http://0.0.0.0:PORT/test_post_length"]
0
   },
0
   'concurrency' => [1,2,5,10,20,30,50,75,100].map { |c|
0
- [c, "ab -t 3 -c #{c} http://0.0.0.0:PORT/bytes/1"]
0
+ [c, "ab -t 3 -q -c #{c} http://0.0.0.0:PORT/bytes/1"]
0
   }
0
 }
0
 
0
@@ -59,6 +59,7 @@ begin
0
         result[:input] = x
0
         results << result
0
       end
0
+ sleep 1
0
     end
0
     puts "---"
0
   end
...
92
93
94
95
96
 
 
 
 
97
98
99
...
112
113
114
115
 
116
117
 
118
119
120
...
92
93
94
 
 
95
96
97
98
99
100
101
...
114
115
116
 
117
118
 
119
120
121
122
0
@@ -92,8 +92,10 @@ class ServerTest
0
     case name
0
     when 'emongrel'
0
       @pid = fork { start_emongrel }
0
- when 'ebb'
0
- @pid = fork { start_ebb }
0
+ when /ebb(\d*)/
0
+ workers = $1.to_i
0
+ workers = 1 if workers <= 0
0
+ @pid = fork { start_ebb(workers) }
0
     when 'mongrel'
0
       @pid = fork { start_mongrel }
0
     when 'thin'
0
@@ -112,9 +114,9 @@ class ServerTest
0
     Rack::Handler::Mongrel.run(app, :Host => '0.0.0.0', :Port => @port.to_i)
0
   end
0
   
0
- def start_ebb
0
+ def start_ebb(workers = 1)
0
     require File.dirname(__FILE__) + '/../ruby_lib/ebb'
0
- server = Ebb::start_server(app, :port => @port)
0
+ server = Ebb::start_server(app, :port => @port, :workers => workers)
0
   end
0
   
0
   def start_mongrel
...
15
16
17
18
 
19
20
21
...
15
16
17
 
18
19
20
21
0
@@ -15,7 +15,7 @@ module Ebb
0
     
0
     FFI::server_listen_on_port(port)
0
     
0
- puts "Ebb listening at http://0.0.0.0:#{port}/"
0
+ puts "Ebb listening at http://0.0.0.0:#{port}/ (#{nworkers} worker#{'s' if nworkers > 1})"
0
     
0
     trap('INT') { @running = false }
0
     @running = true
...
113
114
115
116
 
117
118
119
120
121
 
 
 
 
122
123
124
...
113
114
115
 
116
117
 
 
 
 
118
119
120
121
122
123
124
0
@@ -113,12 +113,12 @@ module Ebb
0
         end
0
         parser.separator ""
0
         # opts.on("-s", "--socket SOCKET", "listen on socket") { |socket| options[:socket] = socket }
0
- parser.on("-p", "--port PORT", "(default: #{options[:port]})") { |options[:port]| }
0
+ parser.on("-p", "--port PORT", "(default: #{options[:port]})") { |p| options[:port]=p }
0
         parser.on("-d", "--daemonize", "Daemonize") { options[:daemonize] = true }
0
- parser.on("-l", "--log-file FILE", "File to redirect output") { |options[:port]| }
0
- parser.on("-P", "--pid-file FILE", "File to store PID") { |options[:pid_file]| }
0
- parser.on("-t", "--timeout SECONDS", "(default: #{options[:timeout]})") { |options[:timeout]| }
0
- parser.on("-w", "--workers WORKERS", "Number of worker threads (default: #{options[:workers]})") { |options[:workers]| }
0
+ parser.on("-l", "--log-file FILE", "File to redirect output") { |f| options[:log_file]=f }
0
+ parser.on("-P", "--pid-file FILE", "File to store PID") { |f| options[:pid_file]=f }
0
+ parser.on("-t", "--timeout SECONDS", "(default: #{options[:timeout]})") { |s| options[:timeout]=s }
0
+ parser.on("-w", "--workers WORKERS", "Number of worker threads (default: #{options[:workers]})") { |w| options[:workers]=w }
0
         parser.separator ""
0
         parser.on_tail("-h", "--help", "Show this message") do
0
           puts parser
...
12
13
14
15
 
...
12
13
14
 
15
0
@@ -12,4 +12,4 @@ class EchoApp
0
 end
0
 
0
 
0
-server = Ebb::start_server(EchoApp.new, :port => 4037)
0
+server = Ebb::start_server(EchoApp.new, :port => 4037, :workers => 10)

Comments

    No one has commented yet.