2
我通過實現最基本的服務器測試了GServer的性能,並檢查了它可以處理的每秒請求數。結果是81.與我的最基本的TCPSocket服務器可以處理的每秒9900個請求相比,這非常慢。我做錯了什麼或是GServer真的這麼慢?Ruby GServer性能
客戶實現:
require 'socket'
tStart = Time.now
u = 0
while Time.now - tStart<5
socket = TCPSocket.open('localhost', 1234)
socket.puts 'a'
socket.gets
socket.close
u += 1
end
puts u.to_s
GServer實現:
require 'gserver'
class JServer < GServer
def initialize(*args)
super(*args)
end
def serve(io)
io.gets
io.puts('a')
end
end
server = JServer.new(1234)
server.start
loop { break if server.stopped? }
的TCPSocket服務器implementaion:
require 'socket'
server = TCPServer.open(1234)
loop {
client = server.accept
puts client.gets
client.puts('a')
client.close
}
不錯,這給了我90倍的改善。謝謝! – Peder 2009-10-22 17:19:16