<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Load balancing at Github: Why ldirectord?</title>
	<atom:link href="http://www.anchor.com.au/blog/2009/10/load-balancing-at-github-why-ldirectord/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.anchor.com.au/blog/2009/10/load-balancing-at-github-why-ldirectord/</link>
	<description>A view into the Anchor Engineroom</description>
	<lastBuildDate>Sun, 17 Jan 2010 20:45:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: malcolm</title>
		<link>http://www.anchor.com.au/blog/2009/10/load-balancing-at-github-why-ldirectord/comment-page-1/#comment-614</link>
		<dc:creator>malcolm</dc:creator>
		<pubDate>Fri, 13 Nov 2009 23:25:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=1349#comment-614</guid>
		<description>Matt,

Nice Blog, I agree Ldirectord rocks... I too hated paying crazy money for naff hardware load balancers, so built my own using LVS, Ldirectord and Heartbeat. Then I thought he this is pretty good why not sell it... 7 years later Loadbalancer.org owns a small corner of the load balancer appliance market and we&#039;ve added SSL termination, TPROXY, HAProxy, Nginx, feedback agents, SNMP.... all sorts of stuff that initially I couldn&#039;t see the point in (Why doesn&#039;t everyone use LVS in DR mode with Ldirectord?). Still the customer is always right (even when they are wrong). We are a little different &#039;cause we allow full root access and open source any changes we make. It makes me sad to admit but now that processors are getting so fast... full proxies (SNAT) like HAProxy are so easy to insert into your architecture they will probably make Layer 4 routers aka. LVS almost redundant at some point. Ps. Love the line &#039;Never underestimate the value of knowing where the bodies are buried&#039;, exactly why I never worry when a customer says the load balancer is broken....It&#039;s never the load balancer (well mostly never). And here comes the cheeky &lt;a href=&quot;http://www.loadbalancer.org/company.php&quot; rel=&quot;nofollow&quot;&gt;load balancing link&lt;/a&gt; :-).</description>
		<content:encoded><![CDATA[<p>Matt,</p>
<p>Nice Blog, I agree Ldirectord rocks&#8230; I too hated paying crazy money for naff hardware load balancers, so built my own using LVS, Ldirectord and Heartbeat. Then I thought he this is pretty good why not sell it&#8230; 7 years later Loadbalancer.org owns a small corner of the load balancer appliance market and we&#8217;ve added SSL termination, TPROXY, HAProxy, Nginx, feedback agents, SNMP&#8230;. all sorts of stuff that initially I couldn&#8217;t see the point in (Why doesn&#8217;t everyone use LVS in DR mode with Ldirectord?). Still the customer is always right (even when they are wrong). We are a little different &#8217;cause we allow full root access and open source any changes we make. It makes me sad to admit but now that processors are getting so fast&#8230; full proxies (SNAT) like HAProxy are so easy to insert into your architecture they will probably make Layer 4 routers aka. LVS almost redundant at some point. Ps. Love the line &#8216;Never underestimate the value of knowing where the bodies are buried&#8217;, exactly why I never worry when a customer says the load balancer is broken&#8230;.It&#8217;s never the load balancer (well mostly never). And here comes the cheeky <a href="http://www.loadbalancer.org/company.php" rel="nofollow">load balancing link</a> <img src='http://www.anchor.com.au/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Davy Jones</title>
		<link>http://www.anchor.com.au/blog/2009/10/load-balancing-at-github-why-ldirectord/comment-page-1/#comment-605</link>
		<dc:creator>Davy Jones</dc:creator>
		<pubDate>Tue, 03 Nov 2009 21:54:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=1349#comment-605</guid>
		<description>Tyler,

If you just want a &quot;regular&quot; IPVS load balancer, that&#039;s all you need.  For a high-availability load balancer (if the active node dies, the other node in the pair will take over), then you need to add Pacemaker, and heartbeat or corosync, to the list of things to put together.</description>
		<content:encoded><![CDATA[<p>Tyler,</p>
<p>If you just want a &#8220;regular&#8221; IPVS load balancer, that&#8217;s all you need.  For a high-availability load balancer (if the active node dies, the other node in the pair will take over), then you need to add Pacemaker, and heartbeat or corosync, to the list of things to put together.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tylerflint</title>
		<link>http://www.anchor.com.au/blog/2009/10/load-balancing-at-github-why-ldirectord/comment-page-1/#comment-604</link>
		<dc:creator>tylerflint</dc:creator>
		<pubDate>Tue, 03 Nov 2009 20:12:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=1349#comment-604</guid>
		<description>Awesome. I don&#039;t mean to turn this blog into a tutorial, so I will keep my questions short and be on my way:

Is &quot;all that chain of tools&quot; available within the heartbeat packages?

Is there anything else that I would need to be familiar with to create a complete LVS load balancer aside from these utilities: iptables, ldirectord or keepalived, and ipvsadm?

Thanks again. github rocks and you guys nailed it.</description>
		<content:encoded><![CDATA[<p>Awesome. I don&#8217;t mean to turn this blog into a tutorial, so I will keep my questions short and be on my way:</p>
<p>Is &#8220;all that chain of tools&#8221; available within the heartbeat packages?</p>
<p>Is there anything else that I would need to be familiar with to create a complete LVS load balancer aside from these utilities: iptables, ldirectord or keepalived, and ipvsadm?</p>
<p>Thanks again. github rocks and you guys nailed it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wtarreau</title>
		<link>http://www.anchor.com.au/blog/2009/10/load-balancing-at-github-why-ldirectord/comment-page-1/#comment-600</link>
		<dc:creator>wtarreau</dc:creator>
		<pubDate>Tue, 03 Nov 2009 04:48:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=1349#comment-600</guid>
		<description>@tyterflint: you&#039;re almost right. LVS (or IPVS, 2 names for the same thing) is the Linux kernel subsystem performing the load balancing. Ipvsadm is the utility used to configure LVS. It does not do much, it creates server farms, adds and removes servers, and reports statistics. Ldirectord as well as keepalived which was indicated above are daemons which monitor the servers&#039; health and add/remove them from the farms. All that chain of tools provide a nice and complete layer 4 load balancer.</description>
		<content:encoded><![CDATA[<p>@tyterflint: you&#8217;re almost right. LVS (or IPVS, 2 names for the same thing) is the Linux kernel subsystem performing the load balancing. Ipvsadm is the utility used to configure LVS. It does not do much, it creates server farms, adds and removes servers, and reports statistics. Ldirectord as well as keepalived which was indicated above are daemons which monitor the servers&#8217; health and add/remove them from the farms. All that chain of tools provide a nice and complete layer 4 load balancer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tylerflint</title>
		<link>http://www.anchor.com.au/blog/2009/10/load-balancing-at-github-why-ldirectord/comment-page-1/#comment-599</link>
		<dc:creator>tylerflint</dc:creator>
		<pubDate>Mon, 02 Nov 2009 23:36:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=1349#comment-599</guid>
		<description>This is a great article! I am currently architecting an alternate solution to our current web solution. We too are running 4 web servers and are currently using PF as a load balancer. The main issue with PF is that we can&#039;t implement weighted load balancing...blech. 2 of our servers are substantially larger than the other 2, being the reason we need weighted round robin. 

I mostly wanted to ask one question. The article is centered around ldirectord, and as I have been researching, ldirectord doesn&#039;t seem to the the load balancing engine at all. Rather, ipvsadm appears to be the load balancing utility, and ldirectord is the monitoring utility that checks the health of the real servers. 

Am I way off here?</description>
		<content:encoded><![CDATA[<p>This is a great article! I am currently architecting an alternate solution to our current web solution. We too are running 4 web servers and are currently using PF as a load balancer. The main issue with PF is that we can&#8217;t implement weighted load balancing&#8230;blech. 2 of our servers are substantially larger than the other 2, being the reason we need weighted round robin. </p>
<p>I mostly wanted to ask one question. The article is centered around ldirectord, and as I have been researching, ldirectord doesn&#8217;t seem to the the load balancing engine at all. Rather, ipvsadm appears to be the load balancing utility, and ldirectord is the monitoring utility that checks the health of the real servers. </p>
<p>Am I way off here?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wtarreau</title>
		<link>http://www.anchor.com.au/blog/2009/10/load-balancing-at-github-why-ldirectord/comment-page-1/#comment-598</link>
		<dc:creator>wtarreau</dc:creator>
		<pubDate>Mon, 02 Nov 2009 22:15:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=1349#comment-598</guid>
		<description>Hi Matt,

first, rest assured that I did not take any of your comments as criticism nor attacks, and I&#039;m not dicussing your choices, just about your perception of what proxies can do, nothing else.

Concerning the performance, it depends what you are doing. Direct-routing load balancers installed in one-leg configuration where they only see upstream traffic will always be faster than a proxy because they see about half the packets. Common figures are about 4 times haproxy&#039;s max connection rate. A load balancer set up in the middle of the stream will still generally be faster than the proxy on connection rate, but can be slower on high bit rates (multi-gigabit), because it cannot make use of TCP speedups the NIC provides, while a proxy can. For instance, haproxy can forward 10 Gbps of HTTP traffic with only 20% CPU on one of my machines, while this machine has high difficulties to simply IP-forward the same stream at this rate. This is because of the TCP off-loading capabilities of the NICs which can only work with the proxy. But granted, this is not everyone&#039;s needs !

Concerning queuing, well, I can tell you that this has saved quite a number of medium to large sites. Yes connections can sometimes pile up. But better accept them, parse them, reject wrong ones and get the good ones ready to be served than simply drop the SYNs and wait for the client to resend them 3 seconds later. Also, it is quite possible that your site has a very predictible load. But gaming sites, sports sites, online newspapers, stock exchange, etc... are extremely unpredictable and need to be prepared for 4-10 times the load without failing, even if some requests get slightly delayed. And quite honnestly, it&#039;s very rare that the queue delay is counted in seconds. This happens when something breaks behind. But even there, having the ability to automatically flush requests out of the queue is nice.

Concerning QoS, well, it also depends on your usages. Gaming sites like to reserve resources for paying customers. Other sites with many external partners will prefer to prioritize some requests vs some others to the same partner so that if they become bandwidth-limited, the most important objects are fetched first. But doing that really does not cost much. It&#039;s just a switching rule between two queues. You may drom from 15000 connections per second to 14980 maybe, this is not particularly noticeable.

Concerning the logs, I don&#039;t agree with you. The web servers will tell what they do, not how it&#039;s perceived. The front LB will see how it&#039;s perceived and will be able to quickly tell you that server XX has higher response times than others or fails to accept a connection 1/1000th of the times, etc... This is very valuable information when people start to complain about performance issues, and it&#039;s even better when you can compare what the LB sees with what the server says. Most often, the difference is in (too short) system queues on the server itself (small TCP backlog, etc...) that can&#039;t even be detected by the server software because the information is dropped before reaching it. That&#039;s also the only place you can detect the famous 3-second stairs indicating some packet loss.

Overall, all a proxy can bring is a tradeoff, adding more intelligence in the decisions taken by the load balancer at the expense of an increased resources usage on one cheap box. If the smart decisions can improve the site&#039;s responsiveness, reliability or scalability, that&#039;s fine. If they don&#039;t bring anything, it&#039;s not a place for a proxy. That&#039;s why you generally see them in front of HTTP servers, sometimes in front of mail servers, database servers and terminal servers, and rarely in front of anything else.

Most likely in your case, as you explain it, it would simply not bring anything for your current usage (and I have no problem with that). And I agree with you that with only 128 MB of RAM it&#039;s hard to run a proxy with large numbers of connections, considering that the system itself will take 16 kB minimum per connection !</description>
		<content:encoded><![CDATA[<p>Hi Matt,</p>
<p>first, rest assured that I did not take any of your comments as criticism nor attacks, and I&#8217;m not dicussing your choices, just about your perception of what proxies can do, nothing else.</p>
<p>Concerning the performance, it depends what you are doing. Direct-routing load balancers installed in one-leg configuration where they only see upstream traffic will always be faster than a proxy because they see about half the packets. Common figures are about 4 times haproxy&#8217;s max connection rate. A load balancer set up in the middle of the stream will still generally be faster than the proxy on connection rate, but can be slower on high bit rates (multi-gigabit), because it cannot make use of TCP speedups the NIC provides, while a proxy can. For instance, haproxy can forward 10 Gbps of HTTP traffic with only 20% CPU on one of my machines, while this machine has high difficulties to simply IP-forward the same stream at this rate. This is because of the TCP off-loading capabilities of the NICs which can only work with the proxy. But granted, this is not everyone&#8217;s needs !</p>
<p>Concerning queuing, well, I can tell you that this has saved quite a number of medium to large sites. Yes connections can sometimes pile up. But better accept them, parse them, reject wrong ones and get the good ones ready to be served than simply drop the SYNs and wait for the client to resend them 3 seconds later. Also, it is quite possible that your site has a very predictible load. But gaming sites, sports sites, online newspapers, stock exchange, etc&#8230; are extremely unpredictable and need to be prepared for 4-10 times the load without failing, even if some requests get slightly delayed. And quite honnestly, it&#8217;s very rare that the queue delay is counted in seconds. This happens when something breaks behind. But even there, having the ability to automatically flush requests out of the queue is nice.</p>
<p>Concerning QoS, well, it also depends on your usages. Gaming sites like to reserve resources for paying customers. Other sites with many external partners will prefer to prioritize some requests vs some others to the same partner so that if they become bandwidth-limited, the most important objects are fetched first. But doing that really does not cost much. It&#8217;s just a switching rule between two queues. You may drom from 15000 connections per second to 14980 maybe, this is not particularly noticeable.</p>
<p>Concerning the logs, I don&#8217;t agree with you. The web servers will tell what they do, not how it&#8217;s perceived. The front LB will see how it&#8217;s perceived and will be able to quickly tell you that server XX has higher response times than others or fails to accept a connection 1/1000th of the times, etc&#8230; This is very valuable information when people start to complain about performance issues, and it&#8217;s even better when you can compare what the LB sees with what the server says. Most often, the difference is in (too short) system queues on the server itself (small TCP backlog, etc&#8230;) that can&#8217;t even be detected by the server software because the information is dropped before reaching it. That&#8217;s also the only place you can detect the famous 3-second stairs indicating some packet loss.</p>
<p>Overall, all a proxy can bring is a tradeoff, adding more intelligence in the decisions taken by the load balancer at the expense of an increased resources usage on one cheap box. If the smart decisions can improve the site&#8217;s responsiveness, reliability or scalability, that&#8217;s fine. If they don&#8217;t bring anything, it&#8217;s not a place for a proxy. That&#8217;s why you generally see them in front of HTTP servers, sometimes in front of mail servers, database servers and terminal servers, and rarely in front of anything else.</p>
<p>Most likely in your case, as you explain it, it would simply not bring anything for your current usage (and I have no problem with that). And I agree with you that with only 128 MB of RAM it&#8217;s hard to run a proxy with large numbers of connections, considering that the system itself will take 16 kB minimum per connection !</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Morten Liebach</title>
		<link>http://www.anchor.com.au/blog/2009/10/load-balancing-at-github-why-ldirectord/comment-page-1/#comment-597</link>
		<dc:creator>Morten Liebach</dc:creator>
		<pubDate>Mon, 02 Nov 2009 22:02:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=1349#comment-597</guid>
		<description>Ldirectord does indeed rock. So I&#039;ll just agree.

I do have something to add, though:

I have experience setting ldirectord up to replace a keepalived setup, because for some reason the keepalived process would go catatonic and drop all states in the kernel. Only a kill -9 and restart would cure it. Very unsatisfying.

So I&#039;m not a particularly big fan of keepalived, but, that was 4 years ago. It could&#039;ve been fixed by now, I don&#039;t know.

Another thing I like about ldirectord is the fact that it does one thing well, then you have something like Heartbeat from Linux-HA to make the highly available part. Heartbeat does that very well.

And if the ldirectord process dies it just leaves the kernel IPVS system in  whatever state it was in at the time of death, unlike my experiences with keepalived.

One bad thing about ldirectord: there&#039;s a memory leak if you use negotiate checks on HTTPS services, and you&#039;ll have to restart it every once in a  while. This is easily done without interruptions, you just have to do it.</description>
		<content:encoded><![CDATA[<p>Ldirectord does indeed rock. So I&#8217;ll just agree.</p>
<p>I do have something to add, though:</p>
<p>I have experience setting ldirectord up to replace a keepalived setup, because for some reason the keepalived process would go catatonic and drop all states in the kernel. Only a kill -9 and restart would cure it. Very unsatisfying.</p>
<p>So I&#8217;m not a particularly big fan of keepalived, but, that was 4 years ago. It could&#8217;ve been fixed by now, I don&#8217;t know.</p>
<p>Another thing I like about ldirectord is the fact that it does one thing well, then you have something like Heartbeat from Linux-HA to make the highly available part. Heartbeat does that very well.</p>
<p>And if the ldirectord process dies it just leaves the kernel IPVS system in  whatever state it was in at the time of death, unlike my experiences with keepalived.</p>
<p>One bad thing about ldirectord: there&#8217;s a memory leak if you use negotiate checks on HTTPS services, and you&#8217;ll have to restart it every once in a  while. This is easily done without interruptions, you just have to do it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: btucker</title>
		<link>http://www.anchor.com.au/blog/2009/10/load-balancing-at-github-why-ldirectord/comment-page-1/#comment-596</link>
		<dc:creator>btucker</dc:creator>
		<pubDate>Mon, 02 Nov 2009 21:02:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=1349#comment-596</guid>
		<description>Do you have any thoughts on using PF for IP-level load balancing?</description>
		<content:encoded><![CDATA[<p>Do you have any thoughts on using PF for IP-level load balancing?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: matt</title>
		<link>http://www.anchor.com.au/blog/2009/10/load-balancing-at-github-why-ldirectord/comment-page-1/#comment-595</link>
		<dc:creator>matt</dc:creator>
		<pubDate>Sun, 01 Nov 2009 14:35:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=1349#comment-595</guid>
		<description>Hi Willy,

Thanks for taking the time to provide such an in-depth comment.

Sorry if I implied that haproxy couldn&#039;t sustain a certain connection rate.  I don&#039;t know what the performance limit is with either haproxy or ldirectord on a given hardware setup -- I&#039;ve never benchmarked them to that degree.  However, given the amount of work that is required to proxy connections rather than simply load balance them, I&#039;d be very surprised if the load balancer wouldn&#039;t handle a lot more traffic than a proxy.

As to the two &quot;important features for scalability&quot; that proxies provide, well, I don&#039;t really consider them benefits.

Content switching can be achieved more easily with a simple assets domain, which also has the key benefits of avoiding unnecessary cookies, and steps around the per-domain limit on concurrent connections in web browsers.

I don&#039;t think queueing something as time-sensitive as interactive HTTP requests is a good idea -- if you&#039;re running close enough to the line, resource wise, to ever get a queue forming, my experience is that it doesn&#039;t stay at the &quot;few milliseconds&quot; of delay level for very long.  The overload means that while the first connection might get delayed by, say, 5 milliseconds, the next will be delayed by 10 milliseconds, and so on -- it doesn&#039;t take too many requests to hit user-noticable levels, and at several thousand requests per second, it doesn&#039;t take very long either.  You&#039;re better off shedding load to a static failover setup and keeping things under control that way.  Your users get screwed either way, but at least with load shedding they get told why they&#039;re screwed, instead of getting the spinning throbber of doom.

Implementing QoS in the frontend is an interesting idea, but I subscribe to the view that you only need QoS if you&#039;re oversubscribed.  Proper capacity planning saves the need to play such games, which when all is said and done can be no more than a temporary stopgap before rising traffic levels overwhelm the system capacity even with QoS.  Doing more complex decision making on the proxy will also put more pressure on it, as it needs to increase the processing it does on requests before passing them through, which has implications for capacity again.

I don&#039;t see logs as being any sort of a benefit of a proxy -- the end servers can provide timing and error rate information better than the proxy can, and it&#039;ll scale better as you don&#039;t have to do all the processing and logging at a single point.

There is one point, though, I completely agree with you on: &quot;If the proxy has no added value, let’s not install one&quot;.

I don&#039;t dislike haproxy, it&#039;s used heavily at Github and we couldn&#039;t do a lot of what we do without it.  I&#039;ve got another blog post planned on how haproxy is used in Github, and why it works so well.  I just don&#039;t think that it adds any value in the locations we&#039;ve used ldirectord, and the rest of my arguments in favour of ldirectord still stand -- we&#039;ve got more experience using it, it is a lightweight solution that does exactly what we need to do, and the monitoring and management work was already done.</description>
		<content:encoded><![CDATA[<p>Hi Willy,</p>
<p>Thanks for taking the time to provide such an in-depth comment.</p>
<p>Sorry if I implied that haproxy couldn&#8217;t sustain a certain connection rate.  I don&#8217;t know what the performance limit is with either haproxy or ldirectord on a given hardware setup &#8212; I&#8217;ve never benchmarked them to that degree.  However, given the amount of work that is required to proxy connections rather than simply load balance them, I&#8217;d be very surprised if the load balancer wouldn&#8217;t handle a lot more traffic than a proxy.</p>
<p>As to the two &#8220;important features for scalability&#8221; that proxies provide, well, I don&#8217;t really consider them benefits.</p>
<p>Content switching can be achieved more easily with a simple assets domain, which also has the key benefits of avoiding unnecessary cookies, and steps around the per-domain limit on concurrent connections in web browsers.</p>
<p>I don&#8217;t think queueing something as time-sensitive as interactive HTTP requests is a good idea &#8212; if you&#8217;re running close enough to the line, resource wise, to ever get a queue forming, my experience is that it doesn&#8217;t stay at the &#8220;few milliseconds&#8221; of delay level for very long.  The overload means that while the first connection might get delayed by, say, 5 milliseconds, the next will be delayed by 10 milliseconds, and so on &#8212; it doesn&#8217;t take too many requests to hit user-noticable levels, and at several thousand requests per second, it doesn&#8217;t take very long either.  You&#8217;re better off shedding load to a static failover setup and keeping things under control that way.  Your users get screwed either way, but at least with load shedding they get told why they&#8217;re screwed, instead of getting the spinning throbber of doom.</p>
<p>Implementing QoS in the frontend is an interesting idea, but I subscribe to the view that you only need QoS if you&#8217;re oversubscribed.  Proper capacity planning saves the need to play such games, which when all is said and done can be no more than a temporary stopgap before rising traffic levels overwhelm the system capacity even with QoS.  Doing more complex decision making on the proxy will also put more pressure on it, as it needs to increase the processing it does on requests before passing them through, which has implications for capacity again.</p>
<p>I don&#8217;t see logs as being any sort of a benefit of a proxy &#8212; the end servers can provide timing and error rate information better than the proxy can, and it&#8217;ll scale better as you don&#8217;t have to do all the processing and logging at a single point.</p>
<p>There is one point, though, I completely agree with you on: &#8220;If the proxy has no added value, let’s not install one&#8221;.</p>
<p>I don&#8217;t dislike haproxy, it&#8217;s used heavily at Github and we couldn&#8217;t do a lot of what we do without it.  I&#8217;ve got another blog post planned on how haproxy is used in Github, and why it works so well.  I just don&#8217;t think that it adds any value in the locations we&#8217;ve used ldirectord, and the rest of my arguments in favour of ldirectord still stand &#8212; we&#8217;ve got more experience using it, it is a lightweight solution that does exactly what we need to do, and the monitoring and management work was already done.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: uberVU - social comments</title>
		<link>http://www.anchor.com.au/blog/2009/10/load-balancing-at-github-why-ldirectord/comment-page-1/#comment-594</link>
		<dc:creator>uberVU - social comments</dc:creator>
		<pubDate>Sun, 01 Nov 2009 03:18:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=1349#comment-594</guid>
		<description>&lt;strong&gt;Social comments and analytics for this post...&lt;/strong&gt;

This post was mentioned on Twitter by FastestFood: Load balancing at Github: Why ldirectord? &#124; Anchor Web Hosting Blog http://tinyurl.com/y9f26w3...</description>
		<content:encoded><![CDATA[<p><strong>Social comments and analytics for this post&#8230;</strong></p>
<p>This post was mentioned on Twitter by FastestFood: Load balancing at Github: Why ldirectord? | Anchor Web Hosting Blog <a href="http://tinyurl.com/y9f26w3.." rel="nofollow">http://tinyurl.com/y9f26w3..</a>.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
