限制具有多个实例的应用程序的内存使用量

限制具有多个实例的应用程序的内存使用量

我在 3 台不同的机器上安装了一个程序,指向同一个数据库,同时运行。它们负责读取一个大文件,处理所有内容,然后保存在数据库中。数据库在主机上运行,​​我们可以运行同一个程序的多个实例。

当主机(运行 Windows Server 2016 的物理机)上运行多个实例时,内存百分比增加到 96 并且数据库超时。

我认为有 3 种可能的方法:

1 -将 SQL Server 中可用的内存量限制为服务器上可用内存的 X%。采用这种方法,随着更多应用程序的启动,SQL 服务器内存将缩减。

2 -限制 Windows Server 中应用程序可用的内存量。当 SQL Server 和许多应用程序实例争夺内存时,这将使我永远不会占用所有服务器资源。Windows Server 将允许所有用户应用程序(包括 SQL Server)使用最多 Y% 的内存。

3 -将所有实例的内存使用量限制为最大内存的 60%。

有没有办法可以实现这些场景?如果所有这些都可行,哪一个在 Windows 上扩展性更好?你能指出我实现这些限制的正确方向吗?

相关内容