Se você ainda não fez isso, tente colocar seu DB e WebSite na mesma região. AlwaysOn é a melhor maneira de fazer, mas parece que o problema é mais sofisticado e deve haver mais solução de problemas. Como Sam sugeriu, o modo também é importante por causa de vários limites e afogamentos, mas se você disser que a carga está baixa, não deve ser o problema.
Eu proporia que você fizesse algumas soluções de SQL, por exemplo, (graças a Liam Cavanagh ) mostrará algumas das principais consultas que demoram mais tempo.
Você tentou um banco de dados local ou um banco de dados na VM, a propósito?
SELECT TOP 10
qs.total_elapsed_time / qs.execution_count / 1000000.0 AS average_seconds,
qs.total_elapsed_time / 1000000.0 AS total_seconds,
qs.execution_count,
SUBSTRING (qt.text,qs.statement_start_offset/2,
(CASE WHEN qs.statement_end_offset = -1
THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2
ELSE
qs.statement_end_offset
END
- qs.statement_start_offset)/2) AS individual_query,
o.name AS object_name,
DB_NAME(qt.dbid) AS database_name
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt
LEFT OUTER JOIN sys.objects o ON qt.objectid = o.object_id
where qt.dbid = DB_ID()
ORDER BY average_seconds DESC;