On Thu, Nov 19, 2015 at 07:00:32AM +, Thrawn wrote:
> Hmm...I haven't tuned anything (this is just my workstation, not a server).
> /proc/sys/net/core/somaxconn 128
> /proc/sys/net/ipv4/tcp_max_backlog doesn't exist
>
> /proc/sys/net/ipv4/tcp_max_syn_backlog512
Yep sorry it's this one.
> I
Nope :|. I've increased somaxconn to 512 and tcp_max_syn_backlog to 2048, but
with one process, 1M requests, concurrency 500, I still get a bunch of
timeouts, and the longest transaction still takes most of the test (eg 32
seconds out of a test that takes 35).
Any other obvious possibilities?
hi,
just chiming in regarding this specific point :
On Tue, Nov 10, 2015 at 10:46:32PM +, Thrawn wrote:
> I ran ab with concurrency 1000 and a total of 3 requests, against each
> server, 5 times, plus one run each with 15 requests (sum of the previous
> 5 tests).For Apache+PHP, this
OK, I've decided to go a bit easier on the stress tools ;), and limited
concurrency to 500, using siege. That's resulted in some useful data
(attached).
HAProxy HTTP endpoint, with 1 process, handled up to 500K total requests
without breaking a sweat, in just under 30 seconds, achieving an
Hi,
On Thu, Nov 19, 2015 at 03:37:33AM +, Thrawn wrote:
> OK, I've decided to go a bit easier on the stress tools ;), and limited
> concurrency to 500, using siege. That's resulted in some useful data
> (attached).
> HAProxy HTTP endpoint, with 1 process, handled up to 500K total requests
>
Hmm...I haven't tuned anything (this is just my workstation, not a server).
/proc/sys/net/core/somaxconn 128
/proc/sys/net/ipv4/tcp_max_backlog doesn't exist
/proc/sys/net/ipv4/tcp_max_syn_backlog512
I guess those are pretty low for trying to thrash an echo server...any
recommendations?
ttpreq
bind 192.168.0.120:9012
mode http
http-request lua.lua-replyip-http-req
core.register_service("lua-replyip", "http", function(applet)
local response = applet.f:src()
applet:set_status(200)
applet:add_header(&
-http-req
core.register_service("lua-replyip", "http", function(applet)
local response = applet.f:src()
applet:set_status(200)
applet:add_header("Server", "haproxy-lua/echo")
applet:add_header("content-length", string.len(response)
.org/
Benchmarking 127.0.1.1 (be patient)
Completed 3000 requests
Completed 6000 requests
Completed 9000 requests
Completed 12000 requests
Completed 15000 requests
Completed 18000 requests
Completed 21000 requests
Completed 24000 requests
Completed 27000 requests
Completed 3 requests
Finishe
On Tue, Nov 10, 2015 at 10:46 PM, Thrawn
wrote:
> OK, I've set this up locally, and tested it against PHP using ab.
>
> HAProxy was consistently faster (99% within 1ms, vs 5-15ms for PHP), but at
> request volumes over about 35000, with concurrency 1000, it
OK, some explanation seems in order :).
I ran ab with concurrency 1000 and a total of 3 requests, against each
server, 5 times, plus one run each with 15 requests (sum of the previous 5
tests).For Apache+PHP, this typically resulted in 5-15ms response time for 99%
of requests, with the
b.t.w. if sole purpose of the frontend is to echo the ip back to the client.
You should probably also check the 'use-service' applet syntax, i dont
know if that could be faster for your purpose.
Then another thing to check would be if you want to use the tcp or http
service mode. A TCP service
Hmm...I seem to be able to set up something in TCP mode, and it returns the
expected response via curl, but its performance is awful. I must be doing
something wrong?
Lua:
core.register_action("tcp-echo", {"tcp-req"}, function (txn)
local buffer = txn.f:src()
txn.res:send("HTTP/1.0 200
local response = ""
buffer = txn.f:src()
response = response .. "HTTP/1.0 200 OK\r\n"
response = response .. "Server: haproxy-lua/echo\r\n"
response = response .. "Content-Type: text/html\r\n"
response = response .. &quo
e = response .. "HTTP/1.0 200 OK\r\n"
response = response .. "Server: haproxy-lua/echo\r\n"
response = response .. "Content-Type: text/html\r\n"
response = response .. "Content-Length: " .. buffer:len() .. "\r\n&q
Now that HAProxy has Lua support, I'm looking at the possibility of setting up
an echo server, which simply responds with the observed remote address of the
client (currently implemented in PHP as ).
Does anyone have a suggestion of the most efficient possible implementation of
this? If
16 matches
Mail list logo