Hello,
I have a Website and a VM running SQL Server, both located in Brazil South and 100% of my users access this structure from Brazil. From time to time, more often than expected, we face severe latency problems and the site performance falls to a crawl.
Both the site and the VM remain OK (no CPU overload, no excessive memory usage, nothing relevant), but my users complain heavily about this.
What can be done to minimize these problems? It seems to me that creating a mirror installation in another region is not the solution, since I will introduce more latency, instead of removing it.
Any pointers would be greatly appreciated.
Thanks in advance!
**UPDATE**
Thanks for all responses and suggestions.
@MALAR: I did a psping -l 1k -n 1000 -h 20 <website>:80 from the SQL VM and the results follows:
TCP latency test connecting to 23.97.96.32:80: Connected
1005 iterations (warmup 5) sending 1024 bytes TCP latency test: 50%
The pipe is being closed.
TCP roundtrip latency statistics (post warmup):
Sent = 500, Size = 1024, Total Bytes: 512000,
Minimum = 44.98ms, Maxiumum = 202.63ms, Average = 62.74ms
(Histogram omitted)
I also did an "nping" (my work computer is a mac) between my site and the website but nping returned 100% packet loss. I did try other sites and nping seemed OK, so I might have done something wrong here. Nping line follows: "sudo nping -c 100 --tcp -p 443 --data-length 1024 <site>"
I then timed 100 curls on the index page to get an idea, and it returned me an average of 0.120s per request.
So far I can only infer that the problem is latency between Website and SQL; since all pages are very light and clean with very light SQL as well, this 63ms could well be impacting.
I have run SQL's Profiler followed by Tuning Advisor several times and all execution times are well within acceptable (most "day-to-day" ones respond in 200ms, even less). As said before, CPU peaks 65% under heavy load and Memory Usage remains constant without major paging. SQL Stats are also well within range.
I will set up the suggested scenario (move website to VM, same affinity group) and post back.