Re: 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
Re: Performance implications of using dynamic maps
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 :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: Regex
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
[SPAM] WinPalace Casino
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
HUMMEL Textile et accessoires de sports
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
Re: termination state "SQ"
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 wrote: > > On Tue, Nov 25, 2014 at 6:56 AM, Daniel Lieberman > 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
Re: add response header based on presence of request header
Στις 1 Δεκ 2014 2:53 ΜΜ, ο χρήστης "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 Valid point. Cheers, Pavlos
Re: add response header based on presence of request header
> 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
Regex
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