如果你被问到一个系统是否可以保持双重增长,你会做三件事来回答?

时间:2008-11-18 16:51:59

标签: sql-server scalability benchmarking

让我们说你的老板在你的工作上说,

  

那边的那个系统已经失去了所有的机构知识,但现在似乎运行得很好,我们可以将其中的数据翻一番并存活吗?

你完全不熟悉这个系统。

它位于SQL Server 2000(主要是数据库应用程序)中。

没有测试环境。

如果你需要运行基准测试,你可能会在周末劫持它。

你要做的三件事就是让自己和你的经理说服你可以承担额外的负担。如果你不能在相同的硬件上做到这一点......需要满足该要求的额外硬件(用美元计算)。

为了解决doofledorfer的反应,你的假设几乎都是180度关闭。但这是一个含糊不清的问题的错误。

  1. 其中一个主要服务器以70%的速度运行7x24并从那里开始出现峰值,没有人知道它在做什么。

  2. 这不是买入或抱怨的问题......我们公司可能没有太多选择。

  3. 由于这是外部授权,执行的延误可能会导致巨额罚款。因此,评估风险的大型会议几乎是不可能的。存在一种风险,即将数据转储两倍会使现有客户的系统停机。

  4. 我希望有人能说出类似的话,看看你是否在星期天晚上午夜离开系统并运行SQLIO测试,看看存储子系统的饱和度有多接近。这样的事情。

4 个答案:

答案 0 :(得分:2)

  1. 设置测试环境,即使我必须在笔记本电脑上进行测试。

  2. 在生产系统上启用某种日志记录,以了解除数据量之外的交易量。

  3. 阅读源代码,因为我在笔记本电脑上运行了压力测试,数据量越来越大。

  4. 话虽如此,我同情这项任务,因为这是不公平的。这就像在船上询问某人是否可以用两倍的货物漂浮 - 但是你无法离开船只或将其从常规服务中取出。

答案 1 :(得分:2)

您刚刚描述了一个典型的敏捷项目。你的答案应该是:

  1. 我不知道,如果没有测试,我将无法判断。
  2. 除数据量外,可能还存在使用模式,应用程序交互,数据库和服务器调整等问题。
  3. 因此,让我们通过一个基本的风险因素列表,以及我们如何解决它们。
  4. 一旦我们这样做了,让我们按照风险的逆序来完成它们;在我们制定结果时做出停止/继续决定。
  5. 如果没有管理层的支持和参与,至少在那个级别,你可能给出的任何其他答案都是高风险的愿望,而“3最重要的”是不合理的。

    除非您当前的系统已经大量加载,否则我会很乐观。大多数服务器在所有资源上的运行容量都应该低于50%,否则就可以获得生命支持。 如果现有服务器已经处理负载问题,我希望你不会进行对话;虽然“现在似乎运行良好”但不够精确,令人担忧。

答案 2 :(得分:0)

它主要取决于它目前的水平。如果加倍从2GB到4GB就行了。如果从1TB到2TB,你有一些计划要做。

我会使用性能监视器收集一些信息,并提供它以帮助做出明智的决定。

答案 3 :(得分:0)

这取决于“双倍数据”的含义。

如果这只会影响一个表(比如产品表),那么你可能很安全,因为大多数引用那个表的查询最有可能使执行时间加倍(假设你没有引用同一时间在查询中两次)。

如果您将所有表中的数据量加倍,则会出现问题,因为执行时间可能以指数方式增长,并且可能会导致一些严重问题。

但总的来说,我会支持answer by doofledorfer