Question

I work at a company where they have a hosted asp.net application miles away in USA while the company is operating from Pakistan. The software is very slow at time taking about 2 minutes to insert or search a record which is a great inconvenience as there are alot of records to be inserted or manipulated at once. I don't know what the root cause of the problem is but according to some websites a locally hosted server or a server within the premises might be the solution. While I believe this is not gonna make a big difference as the application will be running over the internet Please guide me through with this.

EDIT :

Thankyou for your response

First of all I cannot ping the server I always get a Request Timed Out although the software works.

The data being transmitted is very little as the application does not have a bulky interface just a table and divs and the rest is just text. The web page is lighter then any web based email clients.

I am doubtful about the database as it is about 4 years old and as far as alot of data is being inserted it once I assume the database has grown large by now and needs some tweaking.

The server is a shared server being hosted by GoDaddy.

Each user has a bandwidth limit of about 64kbps.

Was it helpful?

Solution

Given that you provided little technical information on your current setup, I suggest you perform more research into the problem to them determine what the best course of action is. Off the top of my head:

  1. Latency - If your users are primarily in Pakistan, but all data is stored\served from a country several thousand miles away, the length in time it takes to serve that data could cause an issue. How long does it take to ping servers from your native location? Does this measure vary at all during "peak traffic times"?
  2. Efficiency - Websites work all over the world where the servers are hosted in one country, but accessed in another. What type of data is being transacted? Are large amounts of data being served? Could the code be re-written to only use the necessary data and cut out any overhead? Tools like Fiddler can help determine what HTTP traffic is being sent\received, and other tools can be run on the server(s) to find if there is a large load of processes being used, causing the server(s) to slow down
  3. Databases - Are your databases normalized and indexed? How large are they? In particular, how large are the tables that are being accessed? It's possible searches and inserts are taking a while because the database is having trouble "finding" where to insert\select data (see http://blog.sqlauthority.com/2009/08/24/sql-server-index-seek-vs-index-scan-diffefence-and-usage-a-simple-note/ for more information)
  4. Current Setup - Are your servers shared with other clients? What are their specifications? If you want to migrate your hosting, you need to know what you currently have, and determine for yourself if it's too large or too small. A 16 core CPU machine with 16GB Memory is great.. but that doesn't mean your services will use all of that
  5. End Users - What are your clients using connectivity wise? Do they have broadband access? Is it shared amongst too many people? Determine your users min\medium\max throughput to determine if it's even a hosting issue or not.

That's just a few questions I would have off the top of my head to determine what the best course of action here is. There are a number of hosting solutions available that can scale to meet various needs, but you need to identify the issue(s) first to properly solve them.

Hope this helps


Response to edit:

OK, if you have the issue isolated to an issue with GoDaddy, then I would look at your current SLA, determine if you're currently under contract, and if so what the potential switching costs would be to move your infrastructure to another environment. If you're having connectivity issues with the server, and it's managed by GoDaddy, call support and complain! If they don't manage the server, but just power it up and give you a place to hit it, I would certainly consider moving to another environment, if you can't move your services to a "larger" server... if you can move your stuff to a larger server, at least try that I suppose..

If you have needs for moving an infrastructure, I would at least consider some of the cloud platform's that are now available, namely Amazon's EC2, Google Cloud or Windows Azure. Personally, I use Azure and it's been very good. They have data center's to host applications around the globe, so you could pick a data center "close" to your users - http://azure.microsoft.com/en-us/regions/. If you are an MSDN subscriber, you also get $150 per month of service credits, so essentially you can stand up a small VM or 2 and play around for "free". You can do this without the credits as well of course.. it just might cost you $20 a month or so while playing around of course.

Hope this helps.. just my humble opinion!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top