我正在我的 EC2 Ubuntu 22.04 中使用 docker 运行 SQL 服务器。这是我的
docker-compose.yml
。我在 16 GB RAM 和 4 vCPU 中运行 docker。
version: '3.3'
services:
sqlserver:
image: mcr.microsoft.com/mssql/server
ports:
- "1433:1433"
environment:
ACCEPT_EULA: "Y"
SA_PASSWORD: password
MSSQL_SA_PASSWORD: password
volumes:
- /home/ubuntu/mssql-data:/var/opt/mssql/data
restart: always
deploy:
resources:
limits:
cpus: '4'
memory: 8G
问题
我可以使用 SSMS 连接到我的数据库,但查询和连接速度很慢。正如我在 8GB RAM 服务器和 4GB RAM 服务器上尝试的那样。该 SQL 服务器在应用程序级别运行良好。但是当我从本地 Windows SSMS 连接它时,速度非常慢。即使是 16GB RAM 服务器也几乎需要相同的时间。
我尝试过的解决方案
我的电脑上有最新的 SSMS。
-增加 Docker 资源(设置几乎良好的 RAM 分配)。
sp_configure '显示高级选项', 1; 去 重新配置; 去吧
sp_configure '最大服务器内存', 100000; 去 重新配置; 去吧
仍然面临 16GB RAM 和 4vCPU 的问题
我之前的 SQL 服务器是 4GB 和 8GB RAM 服务器,并且这些服务器位于美国。但我在孟买创建了这个实例,嗯,我认为我的性能得到了更好的表现。就像一个查询花了将近 10 秒。
另一方面,我在 Azure 中有一个 SQL 服务器。当我尝试从本地连接 SQL 服务器时,它的性能比我的新实例要好得多。
如何解决远程连接速度慢的问题?
我认为缓慢与 SQL Server 或 SSMS 没有任何关系。 查看本文并查明您的存储是否存在问题:https://medium.com/@madhucynixit/the-top-5-aws-ec2-performance-issues-318ded216acf 这有点技术性,所以如果您不明白,请联系 AWS 支持,他们可以为您提供更容易理解的解释。