相关疑难解决方法(0)

为什么我的Hello World服务器被ApacheBench粉碎了?

package main

import (
    "io"
    "net/http"
)

func hello(w http.ResponseWriter, r *http.Request) {
    io.WriteString(w, "Hello world!\n")
}

func main() {
    http.HandleFunc("/", hello)
    http.ListenAndServe(":8000", nil)
}
Run Code Online (Sandbox Code Playgroud)

我有几个非常基本的HTTP服务器,所有这些都表现出这个问题.

$ ab -c 1000 -n 10000 http://127.0.0.1:8000/
This is ApacheBench, Version 2.3 <$Revision: 1604373 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
apr_socket_recv: Connection refused (61)
Total …
Run Code Online (Sandbox Code Playgroud)

http go osx-yosemite

22
推荐指数
1
解决办法
3151
查看次数

为什么简单的瘦服务器在基准测试时停止响应16500个请求?

可能重复:
'ab'程序在很多请求后冻结,为什么?

这是一个简单的测试服务器:

require 'rubygems'
require 'rack'
require 'thin'

class HelloWorld

  def call(env)
    [200, {"Content-Type" => "text/plain"}, "OK"]
  end
end

Rack::Handler::Thin.run HelloWorld.new, :Port => 9294 
#I've tried with these added too, 'rack.multithread' => true, 'rack.multiprocess' => true
Run Code Online (Sandbox Code Playgroud)

这是一个测试运行:

$ ab -n 20000 http://0.0.0.0:9294/sdf
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 0.0.0.0 (be patient)
Completed 2000 requests
Completed 4000 requests
Completed 6000 requests
Completed …
Run Code Online (Sandbox Code Playgroud)

ruby thin apachebench

6
推荐指数
1
解决办法
1921
查看次数

标签 统计

apachebench ×1

go ×1

http ×1

osx-yosemite ×1

ruby ×1

thin ×1