.net 软件带宽/数据库增长公式

.net 软件带宽/数据库增长公式,.net,database,performance,architecture,networking,.net,Database,Performance,Architecture,Networking,是否有任何行业标准公式或经验法则用于确定: 应用程序带宽使用/要求 数据库增长需求 我最近开始管理一个新的.NET 3.5/SQL Server项目,在确定我的应用程序在存储和带宽方面的确切需求时,我希望采用比以前更结构化的方法。如果有人有任何建议,我将不胜感激 我会毫不客气地指给你看 然而,对于数据库中的每个表,我试图了解平均记录大小(特别是在处理可变长度字段(如varchars)时),然后将其乘以您希望在一年内添加的记录数。然后我把它们加在一起,四舍五入到最有效的数字,并将结果加倍。这为管理

是否有任何行业标准公式或经验法则用于确定:

  • 应用程序带宽使用/要求
  • 数据库增长需求

  • 我最近开始管理一个新的.NET 3.5/SQL Server项目,在确定我的应用程序在存储和带宽方面的确切需求时,我希望采用比以前更结构化的方法。如果有人有任何建议,我将不胜感激

    我会毫不客气地指给你看

    然而,对于数据库中的每个表,我试图了解平均记录大小(特别是在处理可变长度字段(如varchars)时),然后将其乘以您希望在一年内添加的记录数。然后我把它们加在一起,四舍五入到最有效的数字,并将结果加倍。这为管理费用和增长留下了很大的空间

     round_up_to_one_sig_digit(sum(average_table_row_size 
                                 * num_rows_in_one_year)) * 2
    

    类似的方法也适用于网络容量,但您会遇到人类和网络的一些特性。它们并非都以平均时间间隔登录(因此白天/晚上会出现高峰,清晨会出现低谷。您也不希望网络容量或性能超过80%,只是发生冲突等)

    我不是SQL Server专家,但一般来说,对于数据库大小,前进的最佳方式是稍微理解模式。例如,数据库中是否存在分区?是否有很多索引等。 现在,将每个事务中到达数据库的记录数乘以每小时事务的频率。这给出了每小时进入数据库的记录总数。将其与平均行大小相乘,这将提供数据库的大小,而不需要分区和索引空间开销。要计算分区开销,需要了解分区的类型,如范围分区或哈希分区等,每小时或每天将创建的分区数,并加上分区的空间开销。通常这个数字需要增加50%来估计数据库的大小。
    在网络的情况下,有很多方法可以做到这一点。我运行etheral来捕获网络流量。如果你捕获网络流量,它会变得有趣-数据的季节性如何-比如高峰时间是什么时候,繁忙时间带宽的最大使用量是什么等等。然后你需要一个好的工具来进行预测-比如它会考虑数据的季节性,了解数据的趋势,并大致预测如果增加负荷将发生什么。一个简单的图表和一条使用y=mx+c的直线拟合曲线也将对您有所帮助。

    首先披露:我为一家从事绩效管理和产能规划的公司工作

    有很多产品可以满足这些需求。Quest提供了一些功能,比如SQL Server的Spotlight、IIS的Spotlight、SQL Server的Capacity Manager等等。没有单一的公式或经验法则,因为系统中的每个组件对负载的反应都不同,并且存储的每个东西的比例也不同

    例如,如果您将销售数据存储在数据仓库中,那么您的销售数据将非常线性地增长。这是一个简单的公式:

    (开放日)*(每天交易)*(每笔交易的项目)

    当你第一次开店时,每天的交易量是相当低的,但是随着你生意的传播,每天的交易量会上升。如果你开始携带更多的物品(比如亚马逊从书籍到所有东西),你每笔交易的物品数量可能也会增加——但不一定。随着时间的推移,随着报告需求的增长,您将实现聚合表,以包含有关客户、人口统计等的数据,这也将改变您存储的数据量

    另一方面,如果您正在构建一个web过滤应用程序,那么公式将围绕每个公司拥有的员工数量展开。随着时间的推移,人们上网的次数大致相同,但公式会受到你是打算雇用更多人还是裁员的影响

    如果您确定了一个公式来预测数据增长,那么这个公式对于预测(比如)CPU需求或带宽需求并不一定有用

    因此,每个产能规划产品都有自己的一套公式。例如,有六个不同的公式来预测磁盘的增长,而这并不是说CPU或内存需求。在大型商店中,您会发现不同的公式对不同类型的数据更有效。总的来说,我发现从货架上买一个内置了所有这些公式的产品比重新发明轮子成为预测公式专家更有效。(我知道,我知道,你会希望我这么说,因为我为一家供应商工作,但在我为Quest工作之前,我以DBA的身份购买了Capacity Manager,呵呵。)