在 Debian 上运行 SQL Server(Microsoft SQL Server on Linux) 时,性能差通常不是单一原因,而是多个因素叠加。下面按最常见 → 较少见的顺序给你总结。
SQL Server 对资源非常敏感:
✅ 检查:
top
free -h
iostat -x 1
这是 Debian + SQL Server 最容易踩的坑
问题包括:
ext4 但未优化✅ 推荐:
defaults,noatime,nodiratime,discard
Linux 上 SQL Server 默认不限制内存
可能导致:
✅ 建议:
EXEC sp_configure 'max server memory', 8192; -- 示例 8GB
RECONFIGURE;
这是数据库通病,不是 Debian 特有:
✅ 检查:
SELECT * FROM sys.dm_exec_query_stats
ORDER BY total_logical_reads DESC;
ext4:可用,但要调优xfs:官方推荐btrfs:不推荐✅ 推荐:
mkfs.xfs /dev/sdb
SQL Server 不推荐 THP
可能导致:
✅ 关闭:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
SQL Server 官方建议:
sysctl vm.swappiness=1
Debian 默认 limits 可能偏低
✅ 修改:
/etc/security/limits.conf
mssql soft nofile 65536
mssql hard nofile 65536
✅ 建议:
✅ 可尝试:
/etc/resolve.conf
或禁用反向 DNS
# 1. 系统资源
top
free -h
iostat -x 1
# 2. SQL Server 状态
SELECT * FROM sys.dm_os_wait_stats
ORDER BY wait_time_ms DESC;
# 3. 慢查询
SELECT TOP 10 *
FROM sys.dm_exec_query_stats
ORDER BY total_elapsed_time DESC;
你可以告诉我:
我可以直接帮你判断 最可能的根因,甚至给一份优化参数模板。