2

I have a web application (.NET served from iis6) which serves near real-time data to end users. Our servers are sitting in a data center in North America, but our Australian users are experiencing unacceptable performance (no surprise). Given that we don't have unlimited resources what are some strategies to improve performance in Aus?

Placing a web/app server in Australia is the obvious answer, but we would also need our dbs replicated (fast approaching 100 GB) and given that the replication needs to be near real-time (up to a minute would be ok) that sounds like an expensive endeavor. Use of a CDN will help for static content.

Are there any other strategies I should be looking at to help the situation?

0

4 Answers 4

2

If your data is stored in a RDBMS and is chiefly read-only your best bet may be to put a database slave & a read-only front end in Australia -- You should be able to maintain near-real-time replication (± 1 to 5 minutes delay) pretty reliably with that configuration provided your database doesn't have huge changes happening all the time. You never said how frequently you have DB changes / how large those change sets are, but typically DB replication can be done over relatively skinny pipes once the initial synchronization is out of the way.

This is something you should probably play with in a test lab first (using a traffic-shaping firewall to introduce latency and/or bandwidth restrictions to see what your minimum requirements are for successful replication). You would probably also want to ship a mostly-up-to-date DB and let it "catch up" on synchronization once it's installed in Australia to minimize the initial startup time...

2
  • The web app queries from a number of databases, the largest of which has very frequent updates (hundreds per minute), though the change set would be relatively small.
    – cagreen
    Commented Feb 8, 2011 at 17:56
  • If the change sets are relatively small you shouldn't have trouble replicating the databases -- If you set up a lab environment you can get a feeling for how much bandwidth is required for the replication.
    – voretaq7
    Commented Feb 8, 2011 at 17:59
0

It depends on the number of users and how much control you have over their client setup but you could consider something like MS Terminal Services, Citrix or something similar in a Linux environment.

1
  • Unfortunately I don't have that kind of control over the client setup.
    – cagreen
    Commented Feb 8, 2011 at 17:50
0

You might also consider having the application submit its DB updates to all locales (so long as the "updating" aspect of the app is in only one place), and then put the read-only segment of the app co-located to the local DB instance.

0

If the data that is displayed in each web request is small, moving the data around may not be the real problem.

It may be that the html returned by your app is bloated. If you can make the html smaller, your users will find it more acceptable.

You may also wish to move your server(s) to California. A good compromise location for serving US and AU.

1
  • > It may be that the html returned by your app is bloated Yes, thank you for that mr ViewState. Commented Feb 9, 2011 at 14:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .