You guy's simply Rock !!!
keep up the very good work.
Bye
Willy Tarreau a écrit :
On Fri, Nov 12, 2010 at 03:51:11PM +0100, Cyril Bonté wrote:
(...)
Do you know if keep-alive was involved in any of these tests ?
I tried both, It's easier to reproduce without keep-alive.
Actually, I also met the issue with httperf.
My configuration files :
# stunnel.conf
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
foreground=yes
pid=/var/run/stunnel.pid
unix-sockets-dir=/var/run
debug=3
[localhost-uxst]
cert = /home/cbonte/tmp/server.crt
key = /home/cbonte/tmp/server.key
accept=0.0.0.0:8443
connect=/ssl.sock
TIMEOUTclose = 0
;sendproxy=yes
[localhost-tcp]
cert = /home/cbonte/tmp/server.crt
key = /home/cbonte/tmp/server.key
accept=0.0.0.0:8444
connect=127.0.0.1:8080
TIMEOUTclose = 1
;sendproxy=yes
# haproxy.conf
global
stats socket /var/run/haproxy.sock
defaults
timeout server 60s
timeout client 60s
timeout connect 10s
listen https-in
bind /var/run/ssl.sock user root mode 600 # accept-proxy
bind :8080
mode http
#option http-server-close
option httpclose
stats enable
server local localhost:80
Using the UNIX Socket
httperf --server localhost --port 8443 --uri / --rate 100 --num-conn 1000 \
--ssl --num-call 1
=> I see a lot of "readsocket: Invalid argument (22)" in stunnel
Using the TCP Socket
httperf --server localhost --port 8444 --uri / --rate 100 --num-conn 1000 \
--ssl --num-call 1
=> no error message
Thank you Cyril, I'll forward all that material to Emeric in case
he finds a clue about that. I hope we're not hitting buffer size
limits or things like this on the unix sockets :-/
TCP_NODELAY should not be set because it does not exist on the UNIX
sockets, but I don't think there is any relation. More likely it's
a matter of a connection limit or too fast reuse somewhere, and I'm
not used to tune for that !
Thanks !
Willy
--
Guillaume Bourque, B.Sc.,
consultant, infrastructures technologiques libres !
Logisoft Technologies inc. http://www.logisoftech.com
514 576-7638, http://ca.linkedin.com/in/GuillaumeBourque/fr