

How We Made Github Fast (2009) - ptn
https://github.com/blog/530-how-we-made-github-fast

======
Lewisham
This blog post blew my mind. I generally thought of GitHub as being in the
front-end business, but maybe they're really in the back-end business?

Is this sort of complexity common? I'm not saying I think it's bad, as I am
sure it's all there for a good reason, but it just seems like _so many_
services to bounce through before a web page is even served.

~~~
msbarnett
In a production environment, at scale, this is a relatively uncomplex example,
I think. At any rate I've seen significantly more complicated multi-service
architectures for what would also have been called a "front-end" business.

~~~
ptn
Now, that scrambled my brains. Uncomplex? I thought this was pretty
complicated and that mojombo was a scalability God (and he may be).

Could you point me to more complex examples?

~~~
nostrademons
This is why it's helpful to work in a big, successful company before founding
your startup. You get a sense of the scale and complexity of problems that
actually have real users, and practice dealing with those problems. If you
stay long enough, you also get a sense of the trade-offs involved, and which
complexities are accidental vs. which are inherent.

Of course, when you actually go to found the company, you should forget all
that scalability nonsense and start with the simplest system possible.
However, it's worth having an image in your head about how the system will
evolve and what the appropriate response to various scalability challenges is.

------
d0m
Ok! Now, make the website fast! I use GitHub for my documentation(wiki) and
issue/bug tracker, and it takes ages to load those pages. I wanted to complain
about it.. wrote a long feedback message, and it took 2mins to post it and
then I saw the error GitHub page. How ironic.. The feedback system is too slow
to post my feedback about the site being slow.

But, to be fair, it's not always like that. I guess that they had lots of
trouble on our server recently and we've just been badlucky.

~~~
rtomayko
Where are you located (geographically)?

We have a couple developers more or less dedicated to performance at this
point, and we're moderately satisfied with server response time for most areas
of the site (the issue tracker is a notable exception -- we're working on
that).

I ask about your location because we also have some latency issues as you move
further away from the US east coast (Wash. DC) datacenter. We're working on
that also.

Would you mind maybe submitting the output of `ping github.com' and any other
pages you find intolerably slow at <http://support.github.com/> ? If that's
too slow just dump stuff here I guess.

~~~
stdbrouw
In London, and just about any page loads much slower than I'd want/expect. Not
like there's a better alternative out there, but 2-4 second page loads can be
a bit frustrating at times.

~~~
rtomayko
Can you dump some ping times? 2-4s is waaaay outside of what I'd expect the
average response time to be.

~~~
stdbrouw
Ping times seem to be alright — about 120 ms on average. The 2-4s I was
referring to are the resource load times I see for the main HTML in the Safari
dev pane.

------
mhartl
Nitpick: It's "GitHub", not "Github". Also note the date: _20 Oct 2009_.

~~~
ptn
Added the date to the title. Sorry about that.

------
unsigner
What does he mean by "bare metal"? I've heard of attempts by Oracle to run
directly on hardware, without an OS; does the same exist with mySQL and nginx?
Or is he simply meaning not-a-VM?

~~~
rtomayko
"Bare metal" as in "not-a-VM", yeah.

------
Skywing
This is an older post, but it's a high quality one to read.

------
kstenerud
Page did not respond in a timely fashion. Check our status site for alerts.

Either you found a page that took too long to render or we're getting more
requests right now than we can handle.

You can try refreshing the page, the problem may be temporary. Learn how to
deal with GitHub outages and other access problems.

------
jjcm
What surprised me was that they were using 15k rpm drives over SSD's for
database lookups. Any idea why?

~~~
icefox
Asked them about this recently and the answer was that the io wasn't a
problem. Better bang for their buck elsewhere.

------
joshu
Can someone explain how you do mysql replication via DRBD?

------
wgj
(2009)

------
tedjdziuba
"...The Aristocrats!"

