我打算将我的网站的共享主机升级到 VPS,主要是因为我的数据库变得太大,> 200mb。我托管的 CrystalTech 上的基本 VPS 计划有 512mb 内存,磁盘空间应该不是问题。如果我在这里安装 SQL Server 2008 Web 版(我有许可证),你认为考虑到可用内存量,它会降低服务器速度吗?有没有人经历过类似的设置。
我打算将我的网站的共享主机升级到 VPS,主要是因为我的数据库变得太大,> 200mb。我托管的 CrystalTech 上的基本 VPS 计划有 512mb 内存,磁盘空间应该不是问题。如果我在这里安装 SQL Server 2008 Web 版(我有许可证),你认为考虑到可用内存量,它会降低服务器速度吗?有没有人经历过类似的设置。
512 Megs 的 RAM 已经不多了。如果您要在服务器上运行 SQL Server,我建议将其升级到至少 2 Gigs。SQL Server 的一般规则是 RAM 越多越好(只要 SQL Server 可以使用那么多 RAM)。
SQL Server 将很快占用机器中的所有可用内存,而不会或几乎没有为 Web 服务器和操作系统留下任何内存。SQL Server 会为了提高性能在内存中缓存尽可能多的信息,以便它必须尽可能少地进入磁盘(无论您使用哪种数据库设计)。由于可用内存太少(如果缓冲区高速缓存可用,您最终可能只有 100 Megs 的 RAM),您将无法在 RAM 中存储太多信息,并且您将一直在访问磁盘寻找数据。
答案是……这取决于。
SQL Server 性能与磁盘速度和内存直接相关。如果您将 SQL Server 用于没有复杂连接的键-> 值数据库——现在 512mb 可能就可以了(不过这是微软推荐的最低值)。不可能猜测您的数据库将被使用多少,您的应用程序做什么,您有多少用户等等。当您尝试向外扩展时,内存几乎肯定会成为一个弱点。
确保您有足够的交换空间,并监控您的内存使用情况。良好的监控将为您提供有关如何扩展系统以及瓶颈在哪里发展的良好指标。
最好的办法是使用所有默认值进行尝试,看看效果如何。
显然不建议这样做,您应该意识到可能遇到的问题和风险,但这是可能的。将 sql server 挤入这么多内存不会很有趣,而且会影响性能。
您可以调整以下设置以减少 sql server 的内存占用:
限制最大服务器内存 以停止 sql server 使用服务器上的所有内存进行缓冲区缓存。我会从 200 MB 之类的东西开始,然后从那里开始播放。
减少最大工作线程数。假设您正在运行 x32,您的默认值为 256。这将影响 sql server 可用于服务请求的线程数。