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

StackOverflow https://stackoverflow.com/questions/299345

假设在你的工作中你的老板说,

那边的系统已经失去了所有机构知识,但现在似乎运行得很好,我们可以将双倍的数据转储到其中并生存下来吗?

你对这个系统完全陌生。

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

没有测试环境。

如果您需要运行基准测试,您也许可以在周末劫持它。

为了让自己和经理相信你可以承担额外的负担,你会做哪三件事?如果你做不到,在相同的硬件上......满足该请求所需的额外硬件(以美元计算)。

为了解决 doofledorfer 的回答,你的假设几乎都发生了 180 度的偏差。但这是我的错,问了一个模棱两可的问题。

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

  2. 这不是一个接受或抱怨的问题......我们公司在这件事上可能没有太多选择。

  3. 由于这是外部强制执行的,延迟实施可能会导致巨额罚款。如此大规模的会议来评估风险几乎是不可能的。存在一个风险,即转储双倍数据会使现有客户的系统瘫痪。

我希望有人会说这样的话,看看你是否在周日晚上午夜让系统离线并运行 SQLIO 测试,看看存储子系统有多接近饱和。像这样的东西。

有帮助吗?

解决方案

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

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

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

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

其他提示

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

  1. 我不知道,如果不进行测试我也无法判断。
  2. 除了数据量之外,还可能存在使用模式、应用程序交互、数据库和服务器调整等方面的问题。
  3. 因此,让我们列出一份基本的风险因素列表,以及如何解决它们。
  4. 一旦我们做到了这一点,让我们按照风险的相反顺序来解决它们;并在我们得出结果时做出停止/继续的决定。
  5. ETC。

如果没有管理层至少在这个层面上的支持和参与,你可能给出的任何其他答案都是高风险的愿望,而“三个最重要”是不合逻辑的。

除非您当前的系统已经大量加载,否则我会很乐观。大多数服务器的所有资源容量应低于 50%,否则将无法维持生命。我预计如果现有服务器已经在处理负载问题,您就不会进行对话;虽然“现在看起来运行得很好”是不精确的,足以令人担忧。

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

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

这取决于你的意思<!>“;数据加倍<!>”。

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

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

但总的来说,我会支持 doofledorfer回答

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top