1

我有 3 台家用 PC,每台 PC 上都安装了 2008 个 SQL Server Express 实例……但现在只有一台拥有我的数据库,而且我还在该机器上运行一个应用程序,该应用程序从数据库中请求一堆数据。

我不太了解服务器架构,但我已经阅读了 Microsoft 网站上关于如何在多个服务器上执行查询的一些指南 ( http://msdn.microsoft.com/en-us/library/bb964743.aspx )

我的所有查询都通过存储过程进行,所以如果所有更改都在查询中,那么我认为这不会很困难。我需要有关设置它的最佳方法的一般信息,这里有一些详细信息:

  1. 我的电脑有点弱,所以我尝试使用尽可能多的家用电脑来平衡负载。现在我只有一台拥有数据库的 PC,并且我在同一台 PC 上运行应用程序。

  2. 我的数据库大约是 4GB。

    一种。我有一个查找特定行的存储过程。

    湾。我有几个存储过程,它们使用临时表根据从大约 20-30 行获得的数据计算结果。

    C。我已经在我正在搜索的列上有一个索引。

  3. 我在与创建大约 500 个实体的数据库相同的 PC 上运行一个应用程序,每个实体可以有大约 50 个节点,每个节点从数据库请求数据,请求可以是任何单值存储过程,也可以是到构建表的存储过程(显然后者会更慢)。节点的执行速度与数据库可以处理负载的速度一样快。

  4. 目前看来瓶颈是 SQL 服务器,所以我想将负载分配给我的其他 PC。

我的问题是:

  1. 如果我将数据库放在其他 PC 上会提高性能吗?

  2. 在这种情况下,设置我的 SQL Server 的最佳方法是什么?

  3. 还有其他提示/参考吗?有没有更好的方法来解决我的问题?

仅供参考:我还不想购买任何硬件...我希望有一个软件解决方案,我也在等待是否可以从朋友那里获得免费服务器,但即使我获得更大的服务器我仍然想知道如何进行负载平衡。

4

3 回答 3

3

购买服务器。严重地。

大量 RAM、RAID 磁盘、服务器操作系统、无内存限制……

扩大规模比扩大规模更可取,尤其是在这个低级别。

于 2009-06-11T19:04:12.973 回答
2

还有其他提示/参考吗?有没有更好的方法来解决我的问题?

恕我直言,向它扔硬件。在您浪费时间尝试配置系统/软件之前,请始终在您至少可以描述为“足够”而不是“弱”的东西上运行。

于 2009-06-11T19:02:11.853 回答
0

您的问题很可能是由临时表引起的 IO。看看是否可以购买更快的硬盘驱动器(或 raid 0 硬盘驱动器设置)并将 tempdb 数据库放置在那里。对于您描述的问题,您绝对不需要任何集群设置甚至多个只读服务器。

目前看来瓶颈是 SQL 服务器,所以我想将负载分配给我的其他 PC。

我很好奇,你是怎么得出这个结论的?

于 2009-06-11T19:25:09.630 回答