It really depends on what you're doing while handling your requests. It may
or may not be reasonable. Are you touching external resources such as a
database?

Can you provide a minimal example to reproduce? It would also be useful if
you supplied the exact commands you are running.

I have managed to get many tens of thousands of requests a second with
<100ms latency quite easily writing my own Go servers.

Here's an example of 10kreq/sec for 5 seconds on my puny laptop (go1.7rc1):

$ vegeta attack -rate=10000 -duration=5s <<<'GET http://localhost:9090' |
> tee results.bin | vegeta report

Requests [total, rate] 50000, 9984.21
> Duration [total, attack, wait] 5.023471687s, 5.00790634s, 15.565347ms
> Latencies [mean, 50, 95, 99, max] 1.11525ms, 431.481µs, 5.363834ms,
> 43.301123ms, 43.301123ms
> Bytes In [total, mean] 950000, 19.00
> Bytes Out [total, mean] 0, 0.00
> Success [ratio] 0.00%
> Status Codes [code:count] 404:50000
> Error Set:
> 404 Not Found


Go code:

package main
> import "net/http"
> func main() {
> http.ListenAndServe(":9090", nil)
> }


Granted, it's not doing anything, just serving a 404. But you didn't
specify what your handler is doing other than returning an error.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to