July 16, 2015 at 8:08 pm
[font="Times New Roman"] My company has two sites one in east coast and other in west coast. Each site has physical database server. We launch tests using vb.net. West coast tests results are written in west coast database server and east coast test results in east coast database server. I want to get single database server for both sites located on west coast for our upcoming product. But east coast folks are complaining that it will impact the performance for database writes if server is in west coast.
Is that really true that physical server location impacts performance of database writes?
If false, What things should I consider in order to prove that database server location should not impact read/writes to database from application in different location? [/font]
Thanks
Naveen
Thanks,
Naveen.
Every thought is a cause and every condition an effect
July 17, 2015 at 3:20 am
In one phrase: Network latency. What's the latency from the east cost users to the west coast server? That latency will be added twice to every request they make (added to the request, added to the response).
Do some tests, identify the latency, then you'll have hard numbers to take back to the users to tell them what the effects will be.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability
July 17, 2015 at 3:20 am
Hi,
Well It will depend on different factors like if the site is configured to absorb all users from both coasts and how many messages will cross between clients and server to set common operation. But the key point I think that it would be is the network speed and bandwidth available: the more latency, the less bandwidth, the less reliability, the more performance issues.
There are tons of examples of good performing database systems geographically dispersed but, saying that, they require a proper architecture.
I hope that this helps.
July 17, 2015 at 10:23 am
Thanks Gail.
I am planning to do a vb test and the only functionality it is to read and write to database recursively. I will do this with connection string pointing once to local db server and capture run time. Next test I will point to remote db server and capture run time.
I hope the difference in test run time will tell me the latency or performance issues in the network.
Does it make sense? or any other factors need to be considered?
Thanks,
Naveen.
Thanks,
Naveen.
Every thought is a cause and every condition an effect
July 17, 2015 at 2:02 pm
Vaguely, yes. You really should take more direct metrics.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability
July 17, 2015 at 2:36 pm
even something as simple a ping will give you some indication of latency differences.
on the east coast app server ping the east coast DB server, then ping the west coast DB server. you results will be something like:
Pinging dbserver [10.10.10.10] with 32 bytes of data:
Reply from 10.10.10.10: bytes=32 time=3ms TTL=126
Reply from 10.10.10.10: bytes=32 time=2ms TTL=126
Reply from 10.10.10.10: bytes=32 time=2ms TTL=126
Reply from 10.10.10.10:: bytes=32 time=2ms TTL=126
the time value is how long the ping took to get to the server and back. variations in the time would be reflected in database reads/writes. As an example, pinging a db server in my location time is consistently 1ms, pinging a DB at datacenter approx 10km(6mi) time is 2-3ms.
July 17, 2015 at 2:56 pm
Thanks Bob, This is interesting statistics to look on.
For me, local server (on west coast) ping time =1ms and remote server (on east coast) ping time=71ms.
Should we consider 70ms time difference as huge?
Thanks,
NAveen.
Thanks,
Naveen.
Every thought is a cause and every condition an effect
July 18, 2015 at 5:16 am
Yes it is huge, eg. if app doesn't use stored procedures in db it can be a real pain for app. But still it depend on app, so test it if you have a chance
July 19, 2015 at 11:58 am
Thanks e4d4. I have not tested a scenario to write data using SP call from app. But I will test and post results.
My other test that I said earlier gave very bad results.
To insert 1000 rows recursively in a loop from vb.net app, the local db server took 3 sec and remote db server took 174sec. I believe there must be some other things I should consider like corporate traffic at the time performing this test.
So far, the need to have separate db server for each location wins as I dont want such huge performance difference.
Thanks,
Naveen.
Every thought is a cause and every condition an effect
Viewing 9 posts - 1 through 8 (of 8 total)
You must be logged in to reply to this topic. Login to reply