Regex

2014-12-01 Thread Sander Klein

Hi,

I'm testing some stuff with quite a big regex and now I am wondering 
what would be more efficient. Is it more efficient to load the regex 
with -i or is it better to specify it in the regex


So,

-i (some|words)

or

((S|s)(O|o)(M|m)(E|e)|(W|w)(O|o)(R|r)(D|d)(S|s))

Greets,

Sander



Re: add response header based on presence of request header

2014-12-01 Thread Baptiste
 Thanks for solution Baptise but why is it consider a dirty hack? I must
 assume that it may cause problems in a more complex setups.


Hi Pavlos,

I considered it as a dirty hack because I derouted a feature from
its original purpose and I knew there will be features in new release
that would dedicated to what you want to do.
And so, you should have update your configuration accordingly.
That's what Willy mentionned: http-request capture rules from 1.6.

Baptiste



Re: add response header based on presence of request header

2014-12-01 Thread Pavlos Parissis
Στις 1 Δεκ 2014 2:53 ΜΜ, ο χρήστης Baptiste bed...@gmail.com έγραψε:

  Thanks for solution Baptise but why is it consider a dirty hack? I must
  assume that it may cause problems in a more complex setups.
 

 Hi Pavlos,

 I considered it as a dirty hack because I derouted a feature from
 its original purpose and I knew there will be features in new release
 that would dedicated to what you want to do.
 And so, you should have update your configuration accordingly.
 That's what Willy mentionned: http-request capture rules from 1.6.

 Baptiste

Valid point.

Cheers,
Pavlos


Re: termination state SQ

2014-12-01 Thread Daniel Lieberman
I’ll drill into our config a bit, but regardless of the config I’m confused as 
to how an “S” error (TCP connection aborted or refused) could happen in the “Q” 
phase (waiting in queue, presumably no server-side activity yet).

We do not have timeout queue set.  Here are the (sanitized) pieces that seem 
relevant from our config file, specifically defaults and the frontend and 
backend generating these errors.  (There are a couple more services more or 
less like this, a number of SSL interfaces, plus many other proxies which are 
lightly used.  The only global config that seems relevant is that the global 
maxconn is set to 20.  Also note that there are five servers running 
HAproxy, all ignorant of each other but pointing to the same backends, with DNS 
round robin spreading load between them.)

defaults
  log global
  modehttp
  option  httplog

  option dontlognull
  option redispatch

  retries 3
  fullconn4000
  maxconn 20
  timeout connect  6
  timeout client  12
  timeout server  12
  timeout http-keep-alive 15000

frontend service1
  bind 1.2.3.4:80
  bind 1.2.3.4:81 accept-proxy
  bind-process 1
  default_backend service1

backend service1
  balance source
  hash-type consistent wt6 avalanche
  option forwardfor
  option http-server-close
  option http-pretend-keepalive
  option httplog
  option httpchk GET /healthCheck.htm HTTP/1.1\r\nHost:\ foo.com

  cookie SERVERID insert indirect

  server app1  app1:8080 cookie app1 maxconn 25 maxqueue 5 weight 100 check
  server app2  app2:8080 cookie app2 maxconn 25 maxqueue 5 weight 100 check
  server app3  app3:8080 cookie app3 maxconn 25 maxqueue 5 weight 100 check
… [there are 80 app servers, all configured similarly]



Any ideas on what “SQ” might be telling us would be appreciated.

Thanks,
-Daniel

 On Nov 28, 2014, at 4:09 AM, Baptiste bed...@gmail.com wrote:
 
 On Tue, Nov 25, 2014 at 6:56 AM, Daniel Lieberman
 dlieber...@bitpusher.com wrote:
 We're managing a fairly high-traffic site and we're seeing a lot of HTTP 
 503s with termination state SQ.  I'm trying to figure out what this means, 
 since Q indicates that we're still in the queue (in the server-specific 
 queue in our case) whereas S indicates a TCP connection issue, which I would 
 have thought meant that we'd made it into a connection slot.
 
 Here's a sanitized version of a sample log line:
 Nov 24 03:58:54 lb03 haproxy[20966]: 71.72.73.74:60738 
 [24/Nov/2014:03:58:54.245] foo3 foo/app53 0/-1/-1/-1/0 503 212 - - SQVN 
 159/131/132/25/0 0/0 PUT /foo/bar/baz HTTP/1.1
 
 The server maxconn is set to 25, and this shows that the server has 25 
 connections already, so it makes sense that we're in the queue.  We do have 
 retries set (to 3) and redispatch on, but neither appears to be happening 
 here.
 
 We're running HAproxy 1.5.4 on CentOS 6.5.
 
 (Note that we know that the app servers are having issues.  Our main goals 
 here are to learn what we can about the app server behavior, and to figure 
 out what we can do in HAproxy to mitigate the issues until the developers 
 manage to fix them.)
 
 Thanks,
 -Daniel
 
 Daniel Lieberman
 BitPusher, LLC
 
 Hi Daniel
 
 Sharing your configuration may help :)
 
 Have you set up a timeout queue? (if not, what's your timeout connect value?)
 redispatch and retries are only used when HAProxy tries to establish
 connections to the server. Here, you were not even in this phase.
 
 Baptiste




HUMMEL Textile et accessoires de sports

2014-12-01 Thread 24 KRONOS
 
Version en ligne
 

Ajouter nous à votre carnet d’adresses

LA KOURSE AUX BONS PLANS


 
Vente du Mardi 2 Décembre

 
Textile et accessoires
Jusqu'à -70% 



à partir de 3,90€Jusqu'à -70%Durée : 48H


BIENTÔT
 

Ouverture
Mercredi 03/12
 
Raquettes Badminton


à partir de 7,45€Jusqu'à -60%Durée : 48H


 

Ouverture
Mercredi 03/12
 
Raquettes Squash


à partir de 15,96€Jusqu'à -60%Durée : 48H


  
ENTREPRISE FRANCAISESATISFAIT OU REMBOURSÉPAIEMENT 100% SECUREPAIEMENT
PAYPALSUIVEZ-NOUS
SUR FACEBOOK



Veuillez me retirer de votre liste de diffusion




[SPAM] WinPalace Casino

2014-12-01 Thread Regal Assets
Hi There,

WinPalace Casino is the top rated Casino online. They offer a variety of 
different games including slots, poker, roulette, blackjack and more! 

http://www.winpalacenew.com?affid=49024

So welcome all new players! To say thank you for joining I have a bonus link 
here that will give you $20.00 for free with no deposit and 300% bonus up to 
$3,000!

http://www.winpalace-ads.com/slots/20free/Bonus4u/49024/.aspx

Good Luck!

John

Re: Regex

2014-12-01 Thread Willy Tarreau
Hi Sander,

On Mon, Dec 01, 2014 at 02:34:26PM +0100, Sander Klein wrote:
 Hi,
 
 I'm testing some stuff with quite a big regex and now I am wondering 
 what would be more efficient. Is it more efficient to load the regex 
 with -i or is it better to specify it in the regex
 
 So,
 
 -i (some|words)
 
 or
 
 ((S|s)(O|o)(M|m)(E|e)|(W|w)(O|o)(R|r)(D|d)(S|s))

The first form is more efficient as it is natively handled by the
regex engine when comparing chars, instead of building a tree of
all possibilities as you have in the second form.

Willy




Re: Performance implications of using dynamic maps

2014-12-01 Thread Willy Tarreau
Hi Sachin,

On Sat, Nov 29, 2014 at 04:19:54PM +0530, Sachin Shetty wrote:
 Hi,
 
 In our architecture, we have thousands of host names resolving to a single
 haproxy, we dynamically decide a sticky backend based on our own custom
 sharding. To determine the shard info, we let the request flow in to a
 default apache proxy  that processes  the requests and also responds with
 the shard info. To be able to serve the consequent requests directly
 bypassing the apache, we want to store the shard info received in the first
 request in a map and use it for subsequent request
 
 1. Store the shard info from apache
 backend apache_l1
 mode http
 http-response set-map(/opt/haproxy/current/conf/proxy.map)
 %[res.hdr(X-Request-Host)]  %[res.hdr(X-Backend-Id)]
 server apache_l1 IP:80
 
 2. Use the backend directly for subsequent requests:
 acl is_a_v-1 hdr(host),map(/opt/haproxy/current/conf/proxy.map) a_v-1
 use_backend l2_haproxy if is_a_v-1
 
 I have tested this config and it works well, but I am not sure about the
 performance. For every request sent to Apache, we will be adding a key,
 value to the map and we will be looking up the key value for every requests
 that is coming in to haproxy ­ is that ok considering that this is very high
 performance stack? The haproxy servers are pretty powerful and dedicated to
 just doing proxy.

Here you're using string-to-string mapping, it's one of the cheapest one
since there's no conversion of text to patterns. The string lookups are
performed in a few tens of nanoseconds so that does not count. The update
here will require :
  - building a new key : log-format + strdup(result)
  - building a new value : log-format + strdup(new)
  - lookup of the key in the tree
  - replacement or insertion of the key in the tree
  - free(old_key)
  - free(old_value)

I suspect that below 10-2 req/s you will not notice a significant
difference. Above it can cost a few percent extra CPU usage.

It's interesting to see that you have basically reimplemented stickiness
using maps :-)

Regards,
Willy




Re: VK AND S HONG KONG

2014-12-01 Thread VK AND S HONG KONG
Dear Sir/Madam,

Here photo attached is part of projects in casinos.

who we are?
partner of reliable OEM factories for prestigious global lighting brands,
dealing with international design and consultancy companies,
in good connection with lighting designers, interior designers, architects, 
consultants,etc

What we offer?
Luxury lighting fixtures according to customers' concepts, ideas, imaginations, 
designs, etc

Please let us know, in case we could provide further assistance in your 
projects.

Sorry for the disturbance if the email is not your concern.

VK AND S CO., LTD 
NIT 04, 7/F, BRIGHT WAY TOWER, NO. 33 MONG KOK ROAD, KOWLOON, HONG KONG