3

My website(social network) was built with django, cassandra && memcache, rabbitmq, mysql

it used rabbitmq to serve POST requests (often it user submitted contents), to balance the load of mysql. And memcache && cassandra to serve GET requests (often is user get content, but can not use cdn, the content changes frequently).

the problem is my website is very fast when people visit from the US, could return within 0.5s. even more faster. But people from other country, such as Asia, are having bad times, the latency from their local network to my server could be in a range of 400-1000ms(tested by ping)

It even get worse lately, is there any way to speed up my website? I came up with the following solution which does seem to work:

  • A: easy solution: using nginx as reverse proxy, buy servers in Asia, Africa etc. but due to the large latency from those country to the US, this does not speed up the website at all.

  • B: buy servers in Asia, Africa etc, but instead of build reverse proxy. Just run another instance of my website, install mysql, memcache, cassandra etc,relocate users to the nearest server then sync the data every 10 minutes. But I guess this way will increase the complexity of the entire system. Since my website is already a little

So I came here and ask for any suggestions. Thanks very much for any further help!

squillman
  • 37,618
  • 10
  • 90
  • 145
springrider
  • 129
  • 3
  • i could be completely wrong - but have you looked into akamia at all? I think they are world wide cache servers. i know there goal is to end the 'world wide wait' – Jeff Apr 20 '11 at 18:57
  • Thanks for the reply, but my website is not just some static pages, it involves many dynamic contents which change frequently, such as post, comment, add friends, all of this can not simply done by cdn. – springrider Apr 21 '11 at 10:10
  • 1
    To @Jeff's point Akamai can distribute applictions these days, not just static content(it will be very expensive though!). However you haven't detailed what you are trying to achieve. Are you trying to make your site look faster to clients(why not more AJAX)? Or are you really concerned about IM messages/updates taking 400+ms between customers(your average web user won't notice this due to typing speed being so slow)? – polynomial Sep 18 '11 at 00:16

2 Answers2

1
  1. That latency you mentioned is nothing
  2. CDNs most probably won't help in your case.
  3. What is your site anyway, we can't tell you anything of substance without seeing the site.
Memo342
  • 11
  • 1
0

This is a pretty broad topic, and it depends on your budget. Akamai and many other CDNs can do many things these days that they were unable to do in the past, and it may be worth your while to examine their product offerings. Limelight Networks is another option.

Aaron
  • 2,968
  • 1
  • 22
  • 36