精华内容
下载资源
问答
  • Prometheus的函数和计算公式

    千次阅读 2020-06-29 09:40:53
    在Zabbix中想要获取CPU使用是一件非常简单的事情,但是在Prometheus中却需要通过计算公式来完成CPU使用的计算。 如果要统计CPU的使用:node_exporter会抓取CPU常用你的8种状态的累计工作时间,然后再用(所有非...

    Prometheus强大的地方就在于可以它可以使用的很多计算公式去获取自己需要的数据。这里所涉及到的计算公式,也是我们普遍认为的难点所在。在Zabbix中想要获取CPU使用率是一件非常简单的事情,但是在Prometheus中却需要通过计算公式来完成CPU使用率的计算。

    如果要统计CPU的使用:node_exporter会抓取CPU常用你的8种状态的累计工作时间,然后再用(所有非空闲状态的CPU时间总和)/(所有状态的CPU时间总和)= CPU使用率。而如果想要获取中间某一分钟的CPU使用时间还需要用到Counter数据类型。由于Counter的数据一致是增量,所以需要截取其中一段增量值,然后再拿这个值去套用公式进行计算。

    一、常用函数

    Prometheus为不同的数据提供了非常多的计算函数,其中有个小技巧就是遇到counter数据类型,在做任何操作之前,先套上一个rate()或者increase()函数。下面是一些比较常用的函数:

    1、rate函数

    rate() 函数是专门搭配counter数据类型使用函数,功能是取counter在这个时间段中平均每秒的增量。

    例如:获取eth0网卡1m内每秒流量的平均值

    rate(node_network_receive_bytes_total{device="eth0"}[1m])
    

    2、increase函数

    increase() 函数表示某段时间内数据的增量

    rate() 函数则表示某段时间内数据的平均值

    两个函数如何选取使用?

    当我们获取数据比较精细的时候 类似于1m取样推荐使用rate()

    当我们获取数据比较粗糙的时候 类似于5m,10m甚至更长时间取样推荐使用increase()

    例如:获取eth0网卡1m内流量的增量

    increase(node_network_receive_bytes_total{device="eth0"}[1m])
    

    3、sum函数

    sum()函数就是求和函数,注意点是当你使用sum后是将所有的监控的服务器的值进行取和,所以当我们只看某一台时需要进行拆分

    拆分常用方法:

    • by increase()
    • 2 by (cluster_name) 属于自定义标签不是标准标签,我们可以手动将不痛功能的服务器进行分组展示

    例如:获取所有主机eth0网卡1m内每秒流量的平均值的和

    sum(rate(node_network_receive_bytes_total{device="eth0"}[1m]))
    

    4、topk函数

    topk() 函数的定义是:取前面x位的最高值,最简单理解就是数学的top3 ,当我们有很多服务器我们想要获取某个key的数据排在前3位的服务器。

    Gauge类型使用方式:

    topk(3,key)
    

    Counter类型使用方式

    topk(3,rate(key[1m]))
    

    注意:此种函数获得数据并不是很适用图形化展示

    5、count函数

    count() 是找出当前或者历史数据中某个key的数值大于或小于某个值的统计,

    例如:

    count(node_netstat_Tcp_CurrEstab >50)
    

    6、irate函数

    irate(v range-vector)计算范围向量中时间序列的每秒即时增长率。这基于最后两个数据点。单调性中断(例如由于目标重启而导致的计数器重置)会自动调整

    例如:5m内http请求的每秒速率

    irate(http_requests_total{job="linux-01"}[5m])
    

    irate只应在绘制易失性快速移动计数器时使用。使用rate警报和缓慢移动的柜台,因为在房价短暂变化可以重设FOR条款和图表完全由罕见尖峰难以阅读。

    注意,当irate()聚合运算符(例如sum())或随时间聚合的函数(以任何结尾的函数_over_time)组合时,总是先取irate()第一个,然后聚合。否则irate()在目标重启时无法检测到计数器重置。

    二、CPU使用率的计算方法

    1、CPU模式

    一颗CPU要通过分时复用的方式运行于不同的模式中,这些模式可以用我们常用的top命令进行查看,其中包括:

    • us:用户进程使用cpu的时间
    • sy:内核进程使用cpu的时间
    • ni:用户进程空间内改变过优先级的进程使用的cpu时间
    • id:空闲(没人用)的cpu时间
    • wa:等待io的cpu时间
    • hi:硬中断的cpu时间
    • si:软中断的cpu时间
    • st:虚拟机管理程序使用的cpu时间

    这些时间加在一起是总的cpu时间。

    2、CPU时间

    通过node-exporter抓取的指标中cpu相关主要是各个node_cpu_seconds_total,可以通过如下的方式查看所有的metrics。

    curl http://localhost:9100/metrics
    

    在请求之后,会返回各种监控的内容,这里只截取出cpu相关的部分。

    # HELP node_cpu_seconds_total Seconds the cpus spent in each mode.
    # TYPE node_cpu_seconds_total counter
    node_cpu_seconds_total{cpu="0",mode="idle"} 26659.41
    node_cpu_seconds_total{cpu="0",mode="iowait"} 4.79
    node_cpu_seconds_total{cpu="0",mode="irq"} 0
    node_cpu_seconds_total{cpu="0",mode="nice"} 0
    node_cpu_seconds_total{cpu="0",mode="softirq"} 2.69
    node_cpu_seconds_total{cpu="0",mode="steal"} 0
    node_cpu_seconds_total{cpu="0",mode="system"} 31.65
    node_cpu_seconds_total{cpu="0",mode="user"} 8.67
    node_cpu_seconds_total{cpu="1",mode="idle"} 26634.43
    node_cpu_seconds_total{cpu="1",mode="iowait"} 54.14
    node_cpu_seconds_total{cpu="1",mode="irq"} 0
    node_cpu_seconds_total{cpu="1",mode="nice"} 0.02
    node_cpu_seconds_total{cpu="1",mode="softirq"} 1.23
    node_cpu_seconds_total{cpu="1",mode="steal"} 0
    node_cpu_seconds_total{cpu="1",mode="system"} 34.07
    node_cpu_seconds_total{cpu="1",mode="user"} 9
    node_cpu_seconds_total{cpu="2",mode="idle"} 26629.89
    node_cpu_seconds_total{cpu="2",mode="iowait"} 6.57
    node_cpu_seconds_total{cpu="2",mode="irq"} 0
    node_cpu_seconds_total{cpu="2",mode="nice"} 0
    node_cpu_seconds_total{cpu="2",mode="softirq"} 1.95
    node_cpu_seconds_total{cpu="2",mode="steal"} 0
    node_cpu_seconds_total{cpu="2",mode="system"} 24.66
    node_cpu_seconds_total{cpu="2",mode="user"} 7.2
    node_cpu_seconds_total{cpu="3",mode="idle"} 26699.96
    node_cpu_seconds_total{cpu="3",mode="iowait"} 5.72
    node_cpu_seconds_total{cpu="3",mode="irq"} 0
    node_cpu_seconds_total{cpu="3",mode="nice"} 0.01
    node_cpu_seconds_total{cpu="3",mode="softirq"} 1.27
    node_cpu_seconds_total{cpu="3",mode="steal"} 0
    node_cpu_seconds_total{cpu="3",mode="system"} 22.32
    node_cpu_seconds_total{cpu="3",mode="user"} 7.33
    

    上面的某一行就是某一核cpu的某个模式的运行时间,单位是。把某一核各个模式的cpu时间加起来就是执行uptime得到的系统开机以来运行运行的总的秒数了。例如:

    node_cpu_seconds_total{cpu="0",mode="idle"} 26659.41
    

    这个值的意思是从系统开机到现在为止,cpu0的空闲时间是26659.41秒。用它除以uptime就是开机以来cpu0的空闲率。

    3、推导CPU使用率的公式

    1)cpu0 5分钟内处于空闲状态的时间

    increase(node_cpu_seconds_total{cpu="0",mode="idle"}[5m])
    

    increase表示增量,所以这个公式表示的是当前时间点的node_cpu_seconds_total减去5分钟之前的node_cpu_seconds_total的值,也就是这5分钟内处于idle状态的cpu时间。

    2)cpu0 5分钟内处于空闲状态的时间占比:

    increase(node_cpu_seconds_total{cpu="0",mode="idle"}[5m]) / increase(node_cpu_seconds_total{cpu="0"}[5m])
    

    3)一台主机所有cpu 5分钟内处于空闲状态的时间占比:

    sum (increase(node_cpu_seconds_total{mode="idle"}[5m])) / sum (increase(node_cpu_seconds_total{mode="idle"}[5m]))
    

    4)如果 Prometheus 监控多台主机,要根据每台主机做 sum:

    sum (increase(node_cpu_seconds_total{mode="idle"}[5m]))  by (instance) / sum (increase(node_cpu_seconds_total[5m])) by (instance)
    

    5)cpu使用率 = 1 - cpu空闲率

    100 * (1 - sum (increase(node_cpu_seconds_total{mode="idle"}[5m]))  by (instance) / sum (increase(node_cpu_seconds_total[5m])) by (instance))
    

    6)根据irate()函数,可以简化计算公式为:

    100 - (avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) by (instance) * 100)
    

    三、常用计算公式

    1、CPU使用率

    100 - (avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) by (instance) * 100)
    

    2、空闲内存剩余率

    (node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes) / node_memory_MemTotal_bytes * 100
    
    

    3、内存使用率

    100 - (node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes) / node_memory_MemTotal_bytes * 100
    

    4、磁盘使用率

    100 - (node_filesystem_free_bytes{mountpoint="/",fstype=~"ext4|xfs"} / node_filesystem_size_bytes{mountpoint="/",fstype=~"ext4|xfs"} * 100)
    

    参考文章:
    http://www.linuxe.cn/post-503.html
    http://www.luyixian.cn/news_show_304303.aspx
    https://my.oschina.net/54188zz/blog/3070582

    展开全文
  • PMP计算公式

    千次阅读 2015-05-19 11:27:10
    名称 ...公式 所在章节 PERT (P+4M+O)/6 时间(或成本) 标准差 (P-O)/6 时间(或成本) 总浮动时间 LS-ES 或 LF-EF 时间 成本偏差(CV) EV-AC

    名称

    公式

    所在章节

    PERT

    (P+4M+O)/6

    时间(或成本)

    标准差

    (P-O)/6

    时间(或成本)

    总浮动时间

    LS-ES 或 LF-EF

    时间

    成本偏差(CV)

    EV-AC

    成本

    进度偏差(SV)

    EV-PV

    成本

    成本绩效指数(CPI)

    EV/AC

    成本

    进度绩效指数(SPI)

    EV/PV

    成本

    完工估算(EAC)

    AC+ETC

    成本

    完工估算(EAC)

    BAC/CPI

    成本

    完工估算(EAC)

    AC+(BAC-EV)

    成本

    完工估算(EAC)

    AC+[(BAC-EV)/(累计CPI*累计SPI)]

    成本

    完工尚需估算(ETC)

    EAC-AC

    成本

    完工偏差(VAC)

    BAC-EAC

    成本

    完工尚需绩效指数(TCPI)

    (BAC-EV)/(BAC-AC)

    (BAC-EV)/(EAC-AC)

    成本

    现值

    PV=FV/(1+r)

    成本

    沟通渠道

    [N(N-1)]/2

    沟通

    完全承担点(PTA)

    【(最高限价-目标价格)/业主分担比例】+目标成本

     

    采购



    第6章 项目时间管理

    本节术语较多、涉及的工具&技术也不少。

    主要包括活动定义、活动排序、活动资源估算、活动历时估算、进度制定、进度控制6个子过程。

    1.1活动定义:就是对WBS的进一步分解。将WBS的工作包分解为更小的部分-进度活动

    1.2活动排序:两种项目进度网络图:前导图(PDM)、箭线图(ADM)

    前导图可表示四依赖关系:FS、SS、FF、SF,箭线图只表示一种依赖关系:FS

    两个术语:提前与滞后

    1.3活动资源估算:确定要使用何种资源、数量,及何时使用,该过程与成本估算紧密配合。

    1.4活动历时估算:也就是我们常说的工作量估算。四种工具与技术:

    专家判断

    类比估算

    参数估算

    三点估算(PERT法):要重点掌握:三点估算方法、正态分布计算。

    1.5 进度制定:

       关键路径法(CPM):是项目整个路径中最长的路径,是项目完成的最短时间

       关键路径可以有多个,但是越多,项目风险越大。

       向关键路径要时间,向非关键路径要资源

       掌握相关的术语:浮动时间、

       进度压缩两种方法:赶工、快速跟进

       书中还提到一种关键链法,是考虑了缓冲时间。预留一个总缓冲时间。


    第7章 项目费用管理

    一、实现价值技术(EVT)

    1、基本指标:

    EV(BCWP):实现价值,实际完成工作的预算费用

    PV(BCWS):计划价值,计划完成工作的预算费用

    AC(ACWP):实际费用

    BAC:完工预算,项目总的估算费用

    BDAC:基准完工工期

    2、差异分析:

    CV:费用偏差(CV大于0代表费用节约;反之则为费用超支),CV=EV-AC

    SV:进度偏差(SV大于0代表进度超前,反之则为进度落后),SV=EV-PV

    3、绩效分析:

    CPI:费用绩效指数(CV大于1代表费用节约;反之则为费用超支),CPI = EV/AC

    SPI:进度绩效指数(SV大于1代表进度超前,反之则为进度落后),SPI = EV/PV

    4、趋势预测:

    ETC:完工尚需费用预算

    基于非典型的偏差计算(以后不会再发生类似偏差时): ETC = BAC-EV

    基于典型的偏差计算(当头偏差可代表未来的趋势时): ETC = (BAC-EV)/CPI

    EAC:完工总费用预算

    使用新估算费用来计算  EAC = AC+ETC

    使用剩余预算费用计算  EAC = AC+(BAC-EV)

    使用CPI计算       EAC = AC+(BAC-EV)/CPI = BAC/CPI(PMP认证最常用)

    使用SPI<1计算     EAC = BAC/(CPI*SPI)

    VAC: 完工总费用偏差  VAC = BAC-EAC

    EDAC:估计完工工期    EDAC= BDAC/SPI

     

    5、估算EV的方法:

    Ø  自下而上的统计法.

    Ø  公式估算法:

    50/50法则 开始计50%,结束计50% (保守,PMP认证最常用).

    20/80 法则 开始计20%,结束计80% (更加保守).

    0/100 法则 开始计0%,结束计100% (最保守的).

    6、EVT绩效指数的解读:

    基对对EVT绩效分析的结果,CPI和SPI可能会出现多种组态,如下图所标:

    *注:经验表明,在项目的早期,CPI和SPI通常不是很稳定,这是因为作为CPI和SPI计算依据的AC和PV都比较小,而EV是估计值,如50/50规则报告法.一般在项目进展到20%左右的时候,CPI和SPI才会比较稳定.

     

    组态

    状况

    造成状况可能原因

    1

    CPI<1,SPI<1:项目费用超支,进度落后.

    项目团队的绩效水平差
    测量绩效的费用基准不合理

    2

    CPI<1,SPI>1:项目费用超支,进度超前.

    赶工

    3

    CPI>1,SPI<1:项目费用节约,进度落后.

    资源没有真正投入到项目工作中.

    4

    CPI>1,SPI>1:项目费用节约,进度超前.

    项目团队的绩效水平高
    测量绩效的费用基准不合理

    5

    CPI=1,SPI=1:项目费用与落后表现与预期相一致.

    管理控制的终极目标

     

     

     

    二、折旧法

    举例:某企业一固定资产的原价为10000元,预计使用年限为5年,预计净残值200元.

     

    1、直线折旧法(SLD):在设备使用期内等值计算折旧费。

    年折旧率=(1-预计净利残值率)/预计使用年限×100%

    年折旧额= 固定资产原值*年折旧率

    举例计算:年折旧率=(1-200/10000)/5*100%=19.6%

             年折旧额=10000*19.6%=1960元

    2、加速折旧法(AD):在设备使用的前期计量更多的折旧费,随着设备的老化,计量的折旧费递减。

    双倍余额递减法(DDB):

    年折旧率=2/折旧年限*100%

    年折旧额=固定资产原值*年折旧率

    举例计算:年折旧率= 2/5*100%=140%

             1年折旧额= 10000*40%=4000元

             2年折旧额=(10000-4000)*40%=2400元

             3年折旧额=(6000-2400)*40%=1440元

             从第四年起改按直线法计算折旧

             4、5年折旧额= (10000-4000-2400-1440-200)/2=980元

    年数总和法(SQY):

    年折旧率= 尚可使用年限/预计使用年限折数总和×100%

    年折旧额= (固定资产原值-预计净残值)×年折旧率

    举例计算:1年折旧率= 5/(1+2+3+4+5)*100%=33.33%

             1年折旧额=(10000-200)*33.33%=3266.67元

    年份

    年折旧率

    年折旧额

    1

    33.33%

    3266.67

    2

    26.67%

    2613.33

    3

    20.00%

    1960.00

    4

    13.33%

    1306.67

    5

    6.67%

    653.33

    *加速折旧是一种比较稳健的财务处理方法,采用加速折旧的企业税收方面也较为有利(早期折旧费高,企业利润降低,缴纳税金降低)。

    三、其他

    现值(PV):PV=4000*(0.909+0.826+0.751)=9944

    净现值(NPV):NPV=6000*(0.893+0.797+0.712+0.636)-25000=-6672

    价值分析(VA):V(价值)=F(功能)/C(成本)

    运营利润:收入-(直接成本+间接成本)

    运营资本:当前的资产-当前的债务

    AD:工作数量(活动范围)/生产率

    Slope:(压缩成本-正常成本)/(压缩时间-正常时间);如果小于0,随着项目/任务计划时间的减少,成本上升。

    收益成本比率:期望收入/期望成本。测量相对于成本的收益(回报),不仅仅是利润。该比率越高越好(如果比率超过1,收益大于成本)。

    内部收益率(IRR):使得成本的计划值等于收益的计划值的利率。


    第12章 项目采购管理

    一、合同类型

    n  佣金(Fee)或称费用:是买方在补偿卖方的成本之后所增加的酬金,可以理解为卖方所实现的毛利润(Profit).

    n  激励(Incentives)或称奖励:是一种同步各订约方目标的积极措施,能让合同订约方从对方关心的角度思考。

    1、固定价合同(FP)

    Ø  固定总价或者总包合同(FFP):卖方承担最高的风险,注重控制成本,获利可能性达到最大。

    Ø  固定总价加激励合同(FPIF):在固定价的基础上协定以某种方式来计量激励。

    举例:合同的目标成本20000,目标费用2000,风险分担比率70:30,最高价24000。如果发生为情况1:实际成本16000.情况2:实际成本25000.买方应支付的总价和卖方的佣金计算如下:

    情况1:买方支付总价:16000+2000+(20000-16000)*30%=19200

           卖方的佣金:19200-16000=3200

    情况2:买方支付总价:只支付最高价24000,因为实际成本25000高于最高价24000.

           卖方的佣金:24000-25000=-1000.

    2、成本报销(CR)

    Ø  成本加激励费合同(CPIF):合同付款在成本的基础上叠加激励费,激励费通常以实际成本与预期成本之间的差异计量。

    举例:合同的估计成本20000,费用2000,风险分担比率70:30。如果发生为情况1:实际成本16000.情况2:实际成本25000.买方应支付的总价计算如下:

    情况1:买方支付总价:16000+2000+(20000-16000)*30%=19200

    情况2:买方支付总价:25000+2000+(20000-25000)*30%=25500

    Ø  成本加固定费合同(CPFF):合同付款在成本的基础上叠加固定佣金。

    举例:合同的估计成本20000,固定费用2000。如果发生为情况1:实际成本16000.情况2:实际成本25000.买方应支付的总价计算如下:

    情况1:买方支付总价:16000+2000=18000

    情况2:买方支付总价:25000+2000=27000

    Ø  成本加成本百分成合同(CPPC):以实际发生成本的百分比来计算佣金。卖方没有动力控制成本,因为成本越高相应的佣金也越高。许多经济社会环境明令禁止使用CPPC合同。

    举例:合同的估计成本20000,费用为实际成本10%。如果发生为情况1:实际成本16000.情况2:实际成本25000.买方应支付的总价计算如下:

    情况1:买方支付总价:16000+16000*10%=17600

    情况2:买方支付总价:25000+25000*10%=27500

    Ø  成本加价合同(CPF):合同付款在成本的基础上叠加佣金。如果佣金计量为成本的百分比,则是CPPC合同。

    3、时间材料(T&M)

    Ø  时间材料合同(T&M)或单价合同(UPC):可以看作是固定价合同与成本报销合同的综合。时间材料合同事先约定了资料的单价,合同价格以时间耗费的资源量乘以资源单价来计量。

    举例:10小时*10元/小时=100元。

    二、合同类型选择

    1、固定价合同:适合于工作范围说明(SOW)清晰、明确、完整,工作范围预期变更的频度与幅度比较少且小。否则不能选择。

    2、成本报销合同:适合于买方有足够行业经验,以及可以投入管理卖方的精力,否则不能选择。

    3、行业惯例:遵从行业惯例也是可行的一种思维方式。

     

    三、合同类型与风险

    固定价合同由卖方承担风险,而成本加百分比合同则由买方承担风险。


    展开全文
  • 应用服务器配置测算及计算公式

    万次阅读 2019-01-15 10:06:27
    应用服务器配置测算及计算公式 1 术语和定义 1.1 信息系统 由计算机、通信设备、处理设备、控制设备及其相关的配套设施构成,按照一定的应用目的和规则,对信息进行采集、加工、存储、传输、检索等处理的人机系统。...

    原文:https://blog.csdn.net/duheaven/article/details/17252401 

    觉得文章写得很详细,值得仔细学习看下!

    应用服务器配置测算及计算公式

    1 术语和定义
    1.1 信息系统
    由计算机、通信设备、处理设备、控制设备及其相关的配套设施构成,按照一定的应用目的和规则,对信息进行采集、加工、存储、传输、检索等处理的人机系统。
    1.2 软硬件平台
    指信息系统运行的环境,主要包括硬件(服务器、存储)和软件(操作系统、数据库和中间件)部分。
    1.3 非安全区
    即Internet,此区域允许外网用户随意访问。
    1.4 安全区
    内网,此区域通常不对外提供服务。
    1.5 DMZ区(Demilitarized Zone)
    又称非军事区,介于非安全区与安全区之间,此区域按需对外网用户提供部分服务。
    1.6 FC SAN(Fiber ChannelStorage Area Network)
    指采用光纤通道的存储区域网络,是一种将存储设备、连接设备和服务器集成在一个高速网络中的技术,SAN作为存储网络,与LAN网络隔离,主要承担数据存储任务。
    1.7 FC Switch(Fibre Channel Switch)
    指光纤通道交换机,是一种高速的网络传输中继设备,以光纤作为传输介质,是组成FC SAN光纤存储网络的光纤交换机。
    1.8 HBA(Host Bus Adapter)
    指主机总线适配器,是一个使计算机和存储设备间提供输入/输出处理和物理连接的电路板和/或集成电路适配器。
    1.9 磁盘阵列(Redundant Arrays of Inexpensive Disks,简称Raid)
    由多个容量较小、速度较慢的磁盘组合成一个磁盘组,以提升整体性能和存储空间。
    1.10 虚拟机
    指使用系统虚拟化技术,运行在一个隔离环境中、具有完整硬件功能的逻辑计算机系统。
    1.11 负载均衡
    分为硬件和软件负载均衡,软件负载均衡指通过将负载均衡软件安装在一台或多台服务器相应的操作系统上来实现负载均衡,硬件负载均衡是直接将负载均衡设备部署在服务器和外部网络之间,专门完成负载均衡任务。
    1.12 关键应用系统
    指对业务开展起核心的支撑作用的,对可靠性(Reliability)、可用性(Availability)和可服务性(Serviceability)等具有非常高要求的应用系统,如资产管理系统、营销管理系统、财务管理系统、人力资源系统、协同办公系统和综合管理系统。
    1.13 非关键应用系统
    指除关键应用系统外的应用系统。
    1.14 TPC-C测试
    指模拟一个批发商的订单管理系统进行数据库事务处理测试,主要衡量服务器及数据库软件处理在线查询交易处理(OLTP)的性能表现,正规 TPC-C 测试结果发布必须提供 tpmC值, 即每分钟完成多少笔 TPC-C  (TPC-C Transaction Per Minute)数据库交易。
    1.15 SPECweb2005
    SPEC Web2005延续了SPEC传统测试的原理,通过多台客户机向服务器发出Http Get请求,请求调用Web服务器上的网页文件,这些文件从数千字节到数兆字节不等。在相同的时间里,服务器回答的请求越多,就表明服务器对客户端的处理能力越强,系统的Web性能就越好。
    1.16 业务交易
    在TPC-C估算法中,业务交易指的是用户的业务请求,用户每次查询、修改和删除操作均各算一次业务交易。
    1.17 数据分级存储
    数据分级存储是指将数据存放在不同级别的存储设备(磁盘、磁盘阵列、光盘库、磁带库)中,通过数据分级存储管理软件实现数据在存储设备之间的自动迁移。
    2 基本原则
    架构一致性原则。
    安全性原则。
    可靠性原则。
    可扩展性原则。
    绿色低碳原则。
    3 软硬件平台架构
    网络从安全角度上分,一般分为DMZ区和安全区(内网),根据应用的用途、架构、功能,选择适合的网络环境。
    DMZ区和安全区(内网)内各信息系统应按照相关信息安全等级保护的要求,依据分区、分级、分域的的原则,进行安全域的划分,实现各安全域差异化的信息安全防护。
    软件架构方面,对维护简单、不需要更新客户端的应用系统,建议采用Browser/Server(B/S)架构,对响应时间要求快、客户端操作界面复杂和有较多个性化要求的应用系统,可采用Client/Server(C/S)架构。
    对性能要求不高的B/S架构应用系统,可采用Web客户端/应用服务器/数据库服务器三层架构;对性能要求高的B/S架构应用系统,应采用Web客户端/Web服务器/应用服务器/数据库服务器四层架构,Web服务器用于专门处理HTTP请求(request),应用服务器通过多种协议为应用系统提供处理商业逻辑(business logic)。
    4 存储设备
    存储设备包括本地物理服务器(或者虚拟机)的存储设备和共享存储设备。对于共享存储设备,结构化数据建议采用支持FC SAN 或高带宽、低延迟的InfiniBand 网络的磁盘阵列,非结构化数据可以采用高性价比的NAS 作为存储设备。
    存储网络交换机可选择FC SAN 交换机或InfiniBand 交换机,交换机应实现2N方式的冗余;存储网络交换机应支持Trunk级联,以便实现多套存储设备的共享。
    存储设备的选择主要考虑性能、管理复杂程度与可扩展性,应支持存储虚拟化技术,以提高存储资源的利用率,降低管理复杂度和成本,支持开放结构,可方便的被其他厂商的系统管理软件使用,支持动态可扩展,无须终止应用程序即可扩展存储空间。
    建议在DMZ区和安全区(内网)各配置一套共享存储设备,以满足不同信息系统对存储设备的需求。
    对可用性要求高、数据读取速度快、存储空间需求大、在线可扩展等应用系统,原则上应使用共享存储设备;数据库服务器及虚拟化的物理服务器应通过存储网络和共享存储设备相连。
    对于关键应用系统,建议采用数据分级存储,根据数据的访问频率、保留时间、容量、性能要求等因素设置数据迁移规则,将访问频率较低的数据存储在磁带库等成本较低、速度较慢的存储设备中,将访问频率较高的数据存储在磁盘或者磁盘阵列等成本较高、速度较快的存储设备中。
    5 数据库服务器
    关键应用系统的Oracle数据库集群建议采用多台小型机,可通过合理密度的虚拟化分区技术将一台小型机分为不同分区,建议将不同关键应用系统集群数据库的节点应安装在物理服务器的不同分区上,同一应用系统集群数据库的不同节点应安装在不同物理服务器分区上,节点的分布要结合系统的特点进行错峰安排。
    Oracle数据库集群建议采用Real Application Cluster(RAC)的方式构建,可以充分利用RAC提供的负载均衡和实时灾难恢复的功能。RAC方式搭建Oracle数据库集群对应用系统架构有一定要求,应当注意:
    1)通过程序控制各个RAC节点承担系统中相对独立的业务逻辑的后台数据处理,应尽量避免在多个不同节点上存放相同表的数据,以减少各个节点间内存数据通讯。
    2)应用程序访问后台数据源的链接配置设置为Service方式,将多个数据源指向的数据库节点配置为不同的优先顺序,例如:3台数据库服务器机器为A、B、C,配置3个数据源,其中数据源1指向的数据库优先顺序为ABC,数据源2指向的数据库优先顺序为BCA,数据源3指向的数据库优先顺序为CAB。
    为满足某些高负载、大用户量、数据库读写访问非常频繁的应用系统需求,可以考虑通过主从复制、垂直分区、水平分区等技术将数据库进行结构分解。
    1)主从复制:进行读写分离,写操作作用在主数据库节点上,通过数据库复制软件,结合业务数据更新周期利用业务低谷期进行数据同步。
    2)垂直分区:将不同类型的数据存储在不同的数据库节点中,方便上层业务模块在部署上的分离。
    3)水平分区:将同一个表的数据通过某种算法分布到不同的数据库节点上。
    6 应用服务器/Web服务器
    建议采用微机服务器或刀片服务器作为应用服务器/Web服务器的物理服务器,通过服务器虚拟化技术,在物理服务器 上创建虚拟机,将不同应用系统的应用服务器/Web服务器安装在同一台物理服务器的不同虚拟机上;在部署多节点应用系统时,不同节点应尽量均衡分布在不同物理服务器上,以保证应用的高可用性。
    针对服务器硬件配置要求较低、无特殊硬件(图像显示卡、音频卡、加密卡等)要求和I/O需求不高(IO吞吐率不超过50MB/s)的信息系统建议运行在虚拟机上,以提高资源利用率。
    运行虚拟机的服务器应提供主要配件(如电源、硬盘、风扇、内存、网卡)的热插拔技术。
    虚拟机数据应存放在共享存储设备上,以提高整体系统的可用性和性能。
    关键应用系统的应用服务器/Web服务器前端应部署硬件负载均衡设备,根据预设的负载均衡策略,将用户访问导向负载压力较小的虚拟机/物理服务器。
    使用Weblogic应用服务器组建集群时,应用系统软件设计中不能包含文件共享的文件服务和时间服务,可以在集群中的单个节点使用此类服务,但是不能提供平衡负载或故障转移功能。
    针对Java应用服务器软件,应当根据应用系统实际情况和硬件服务器配置,调整Java的运行参数,最大程度优化系统的性能,如Java虚拟机堆的大小缺省是256M,建议根据虚拟机/物理服务器的内存大小将Java虚拟机堆进行调整,范围从512M(当内存大于2GB时)至1024M(内存大于4GB时)之间。
    Java应用服务器 Weblogic和Websphere 集群必须满足以下条件:集群中的主机必须使用永久的静态IP地址,动态IP地址不能用于集群环境;集群中的所有服务器必须位于同一个局域网,并且必须是IP广播可到达的;集群中的所有服务器必须使用相同的版本,其中Websphere要求所有服务器都采用WSA ND版本;对于使用了JDBC连接的EJB,所有部署了某EJB的服务器必须具有相同的部署与持久化配置,即所有服务器均应有相同的JDBC配置;所有部署了servlet的主机必须维护一组具有相同ACL的servlet。
    对于使用Weblogic的应用服务器系统,应避免将管理服务器(admin server)设置在集群的服务器中。
    对web服务器,可采用各种缓存技术提升性能:将访问频率高的页面放到缓存服务器中进行缓存。
    7 负载均衡
    负载均衡设备主要应用于应用服务器和WEB服务器,关键应用系统因对性能要求较高,建议以共享的方式使用硬件负载均衡设备。
    使用硬件负载均衡有两种部署方式:直联和旁路方式,建议采用旁路方式,将多台负载均衡设备分别连接到多台核心交换机,多台负载均衡设备间互为备份,不同应用系统的应用服务器/Web服务器集群共用多台负载均衡设备。
    判断负载均衡是否采用主要和物理服务器/虚拟机的性能、应用系统所执行事务的复杂性等有关。Weblogic建议每个服务器并发线程数为(25-50)*CPU核数最优,如果应用系统所需最多的并发数超过(25-50)*CPU核数,建议配置多个服务器组成集群,使用负载均衡技术,将负载分布在不同的服务器上
    建议将Weblogic或者Websphere的server部署在不同的物理服务器的虚拟机上,组成集群,以提高系统的可用性、稳定性。
    8 资源分配方法
    对存储资源采用分解法估计,对数据库服务器资源采用TPC-C值估算法,对Web服务器资源采用SPECweb2005估算法,对应用服务器采用SPECjbb2005估算法。
    资源分配的基本方法是首先了解信息系统的非功能性需求,初步估计各类型服务器(数据库服务器、应用服务器、Web服务器、接口服务器和其他服务器)总体资源需求,再根据需求冗余、安全等方面要求,确定各类型服务器所需物理服务器数量,基本原则如下:
    1)单台服务器能提供足够处理能力的不再分解为多台物理服务器。
    2)数据库服务器采用双节点冗余(如Oracle RAC)时,处理容量一般按增长50%计算。
    3)应用服务器采用多个逻辑(物理)节点组成集群时,4个节点以下(含4个)的集群,总体处理能力一般按各节点处理能力总和的60%计算,4个节点以上的集群,总体处理能力一般按各节点处理能力总和的50%计算。
    4)web服务器采用多个逻辑(物理)节点组成集群时, 4个节点以下(含4个)的集群,总体处理能力一般按各节点处理能力总和的70%计算,4个节点以上的集群,总体处理能力一般按各节点处理能力总和的60%计算。
    4.3 本指导意见的资源主要介绍存储设备、数据库服务器、应用服务器、Web服务器的资源估算方法,其他类型服务器的资源可参考进行估算。
    4.4 在进行实际分配资源时,可根据资源需求的估算进行一定程度上的调整。
    9 服务器资源估算方法
    9.1.1 方法一:数据库服务器TPC-C估算法
    适用范围:适用于对数据库服务器(应用服务器、Web服务器可参考)所需服务器的CPU能力进行估算。根据估算出的TPC-C值选择合适的服务器和服务器配置。
    原理介绍:该估算法是通过计算应用系统峰值每分钟需要处理的业务交易数,再综合考虑业务交易的复杂程度、未来业务交易数量的增长和CPU处理余量等因素,通过公式计算得出一个估算值,以此来评估需要服务器必须达到的TPC-C值。
    计算公式:TPC-C值 = ((TASK x 80%) /T) x S x F/C
    参数解释:
    TASK:典型工作日平均业务交易总量,指的是应用系统需要处理的用户业务请求的总和。
    TASK x 80%:假设典型工作日80%的业务交易集中在高峰时段。
    TASK x 80% / T: 即应用系统峰值每分钟处理的业务交易数。
    T:应用系统典型工作日业务交易峰值(完成80%交易)持续时间,以分钟为单位。
    S:实际业务交易操作相对于标准TPC-C测试基准环境交易的复杂程度比例。
    F:系统未来的业务交易量发展冗余预留,需要根据应用系统情况估算。
    C:服务器CPU利用率估算值。实际应用经验表明,服务器的CPU利用率高于80%则表明CPU的利用率过高会产生系统瓶颈,而利用率处于75%时,是处于利用率最佳状态。此值一般设定为C=75%。
    计算步骤:
    步骤一:估计应用系统平均典型工作日处理的业务交易总量
    可以通过以下方法估算:
    1、估算典型工作日平均登录系统的用户数。
    2、估算平均典型工作日每个用户执行的业务交易数。例如,如果平均每个用户执行五次查询、五次修改和五次保存操作,那么平均每个用户执行的事务数为15次。
    3、根据1和2估算出应用系统平均每典型工作日处理的业务交易总量。
    步骤二:估算应用系统每日峰值持续时间(单位为分钟)
    估算应用系统典型工作日峰值持续的时间,指的是应用系统典型工作日每天繁忙的时间。例如,股票交易系统每天的繁忙时间为上午9:30至 11:30和下午13:00至15:00,那么它的峰值持续时间为3+2 = 5 小时=300分钟。
    步骤三:估算应用系统峰值每分钟需要处理业务交易数
    计算应用系统峰值每分钟需要处理业务交易数时,需要估算典型工作日高峰时间处理的业务交易数占每天平均处理的业务交易总数的比例。通常按照20-80的原则进行估算,即80%的业务交易在高峰时间进行,20%的在非高峰时间进行。
    根据上述步骤,可以算出应用系统峰值每分钟需要处理业务交易数。
    步骤四:估算应用系统事务复杂度
    由于实际业务交易的复杂程度与TPC-C标准测试中的业务交易存在较大的差异,应设定一个合理的对应值,根据经验,简单事务的S值为2-5,一般复杂事务为6-12,较复杂事务为13-16,高度复杂事务为17-20。针对数据库服务器,S值建议设置为15。
    步骤五:估算应用系统未来一段时间后预留量。
    如果预计未来用户数翻番,预留量即为200%。
    步骤六:将以上各参数值代入公式,计算出TPC-C值。
    步骤七:根据计算出TPC-C值,选择等于或者大于TPC-C值的目标服务器。


    9.1.2 方法二:未公布服务器TPC-C值估算法
    适用范围:本方法适用于通过厂商已公布型号服务器的TPC-C值估算未公布服务器的TPC-C值。
    原理介绍:厂家通常会在www.tpc.org上公布满配置的某一型号服务器的TPC-C值,对于非满配置的服务器需要进行估算,而TPC-C性能指标反映的是服务器的整体性能指标,包括:系统结构、处理器、缓存、内存、I/O等,因此不能简单从TPC-C值推算出CPU、内存的数值,需要综合考察设备的整体性能。为了简化计算,假设服务器的TPC-C值和CPU数和频率呈线性关系,因此可以根据满配置的服务器大概估算出非满配置的相同型号或同档次服务器的TPC-C值。
    计算公式:
    目标配置服务器的TPC-C值 ≈(同型号服务器满配置的服务器的TPC-C值÷CPU个数÷CPU主频频率)* 估算服务器的CPU个数*CPU主频频率
    计算步骤:
    步骤一:获取满配置同类型服务器的TPC-C值,可以在www.tpc.org查到最新的某些类型的服务器TPC-C值或者通过厂商获取该值。
    步骤二:将满配置服务器型号的CPU个数和主频、目标配置的服务器的CPU个数和主频等代入公式。
    步骤三:通过公式计算目标配置的服务器的TPC-C值。


    9.1.3 方法三:Web服务器SPECweb2005估算法
    适用范围:适用于为支持满足特定吞吐量和客户请求响应速率要求的WEB服务器的性能进行估算。
    原理介绍:Web服务器通常需要衡量它可以支持满足特定吞吐量和客户请求响应速率要求的WEB服务器的最大并发连接数量,而SPECweb2005是由标准性能评估组织(SPEC)专门开发的的Web服务器基准测试。服务器厂商通常会提供每种型号服务器的SPECweb2005值。使用本方法估算不考虑网络因素,假设客户端和服务器位于同一局域网中,网络传输时间可以忽略。
    计算公式:SPEC Web2005值= (总用户数 * 在线率 * 在线用户平均发起http请求数)/ (1 — 冗余率)
    参数解释:
    总用户数:应用系统总的用户数。
    在线率:应用系统使用高峰时用户的在线率。
    在线用户平均发起http请求数:平均每个在线用户发起的http请求数量。
    冗余率:需要预留的冗余率。
    计算步骤:
    步骤一:估算系统总的用户数。
    步骤二:估算应用系统使用高峰时用户的在线率。
    步骤三:估算平均每个用户发起的http请求数量。
    步骤四:设置预留的冗余率。
    步骤五:将步骤一、二、三、四的估算值代入公式,计算出SPECweb2005值。
    步骤六:根据计算出SPECweb2005值,选择等于或者大于SPECweb2005值的目标服务器。


    9.1.4 方法四:应用服务器SPECjbb2005估算法
    使用范围:适用于估算Java类应用服务器所需达到的服务器性能。
    原理解释:SPECjbb2005是评估服务器端Java性能的SPEC测试工具。SPECjbb2005通过模拟三层C/S系统(主要是中间层)来评估服务器端Java的性能。该测试软件运行JVM(Java虚拟机)、JIT (Just-In-Time)编译器、碎片收集、线程以及操作系统的其他任务,它同时也测量CPU、Cache、内存和 SMP的性能。
    服务器上运行基于J2EE的中间应用软件平台,可以将其应用处理能力量化为Java处理能力性能值SPECjbb2005,同时充分考虑系统的冗余处理能力以及系统资源分配情况,即可估算出服务器的处理能力性能值。
    公式:SPECjbb2005 =A×B/(1-C-D)
    参数解释: 
    A:每秒最多需要同时处理的业务交易量。
    B:每笔业务交易需消耗的SPECjbb2005峰值,根据经验,每笔业务交易消耗一般为200个bops,或根据该笔业务交易的java语句数量进行计算,B=该笔业务交易的java语句数/5。
    C:系统的冗余处理能力。
    D:非Java应用所占用的系统资源百分比。
    例如某系统业务交易峰值为1000笔/秒,系统冗余处理能力预留30% ,非Java应用所占用的系统资源百分比为20%,根据计算公式,服务器SPECjbb2005性能值为:1000*200/(1-30%-20%)=400,000。


    9.1.5 方法五:数据库服务器内存估算法
    适用范围:适用于估算数据库服务器(应用服务器、Web服务器可参考)所需的内存。
    原理介绍:数据库服务器相对其他服务器来说,因为涉及大量的数据处理,需要把数据载入内存,以加快处理速度,所以需要更多的内存。对于内存的估算一般有下述两种方法,建议采用下述两种方法分别估算出所需的内存,取其中最大的数值。
    计算方法:
    方法一:
    根据标准化设计,将数据库内存容量(单位为G)和CPU的核心的数量的比例按照4:1配置,一个CPU的核心对应4G内存。例如服务器配置两个4核CPU则建议配置32G内存。
    方法二:
    原理介绍:数据库服务器的内存主要包括:操作系统占用内存、数据库系统占用内存、数据库并发网络连接占用内存等。按照经验,Windows平台内存占用率不超过55%、Unix(或Linux)平台内存占用率不超过80%时,不会影响系统的性能。
    计算公式:
    数据库服务器(Windows平台)内存 = (操作系统占用内存+数据库占用内存+数据库并发网络连接占用内存+其他软件占用内存)/ 55%
    数据库服务器(Unix或Linux平台)内存 = (操作系统占用内存+数据库占用内存+数据库并发网络连接占用内存+其他软件占用内存)/ 60%(前置条件:操作系统占用内存+数据库占用内存+数据库并发网络连接占用内存+其他软件占用内存≤4G)
    数据库服务器(Unix或Linux平台)内存 = (操作系统占用内存+数据库占用内存+数据库并发网络连接占用内存+其他软件占用内存)/ 80%(前置条件:操作系统占用内存+数据库占用内存+数据库并发网络连接占用内存+其他软件占用内存>4G)
    参数解释:
    操作系统占用内存:操作系统运行需要占用的内存。
    数据库占用内存:数据库服务器运行需要占用的内存。
    数据库并发网络连接占用内存:数据库客户端和数据库服务器之间连接时,数据库服务器需要花费的内存。
    其他软件占用内存:数据库服务器中其他软件运行需要占用的内存。
    计算步骤:
    步骤一:估算操作系统所占用内存
    操作系统所占用内存具体和操作系统类型和版本相关,一般为600M内存。
    步骤二:估算数据库系统占用内存
    数据库系统占用内存主要包括:数据库服务器软件占用的内存和数据库缓存。其中数据库缓存和数据库大小相关,根据经验,数据库服务器在缓存容量达到数据库经常访问数据总量(注:数据库总量不包括系统数据)的5%时性能较好。数据库总量可以根据5.2 节中数据库数据估算的方法计算。因此,数据库系统缓存=数据库经常访问数据总量*5%。
    数据库服务器软件占用内存和所用的数据库管理软件及版本相关,按照经验,一般为200M内存。
    步骤三:估算数据库并发网络连接占用内存
    数据库并发网络连接数每个占用5M。假设有200个连接,即并发连接占用内存为200 * 5M = 1000M。
    步骤四:估算其他软件占用内存
        先估算需要安装的软件,再估算每种软件占用内存的总和。为了简化计算,可以先估计每种软件占用内存大小Mi,再估计安装的软件数Ni,即其他软件占用内存= 。  
    步骤五:估算所需内存
    根据上述公式,估算所需内存。
    10 存储资源估算方法
    申请存储资源时应根据下述方法估算所需存储资源的需求,存储需求主要包括数据库存储需求、普通文件存储需求和系统运行存储需求三类。
    项目 数据库存储估算 普通文件存储估算 系统运行存储估算
    所需参数 1、系统需存储的实体表数据清单(用E表示)
    2、实体数据的索引表数据清单(用I表示)
    3、评估每个实体表每条记录存储数据容量需求(用S表示) 1、日志文件(用L表示)
    2、其他文件(用E表示) 1、操作系统(用OS表示)
    2、应用软件(如Weblogic)(用App表示)
    3、其他软件需求(超过100M以上)(用E表示)
    初始估算 1、应用系统实体表数据容量估算:
    E1:实体E1本期记录M1个,每个容量S1 MB,该视图表的索引每个容量I1MB。
    2、其他类推。 1、日志文件大小估算L
    2、其他文件大小估算
    E 1、操作系统大小估算OS
    2、应用软件大小估算 App
    3、其他软件大小估算 E
    初始容量需求汇总 容量= (S1+I1) * M1 +…+(Si+Ii) * Mi 容量=L + E 容量= OS + App +E
    容量冗余比率
    (建议按照未来2年的存储需求估算) 容量* (1+容量冗余比率)
    =((S1+I1) * M1 +…+(Si+Ii) * Mi 
    )*(1+冗余比率) 容量*(1+容量冗余比率)=(L + E)*(1+冗余比率) 容量*(1+容量冗余比率)=(OS + App +E)*(1+冗余比率)
    磁盘Raid冗余比率
    (Raid1:增加100%
    Raid10:增加100%
    Raid5:增加50%) 容量*(1+容量冗余比率)*(1+磁盘Raid冗余比率)
    =((S1+I1) * M1 +…+(Si+Ii) * Mi 
    )*(1+容量冗余比率)*(1+磁盘Raid冗余比率) 容量*(1+容量冗余比率)*(1+磁盘Raid冗余比率)=
    (L + E)*(1+容量冗余比率)*(1+磁盘Raid冗余比率) 容量*(1+容量冗余比率)*(1+磁盘Raid冗余比率)=
    (OS + App +E)*(1+容量冗余比率)*(1+磁盘Raid冗余比率)
    汇总 ((S1+I1) * M1 +…+(Si+Ii) * Mi 
    )*(1+容量冗余比率)*(1+磁盘Raid冗余比率) (L + E)*(1+容量冗余比率)*(1+磁盘Raid冗余比率) (OS + App +E)*(1+容量冗余比率)*(1+磁盘Raid冗余比率)
    1、TPC-C估算法实例
    1)情景描述:
    a. 某应用系统平均每天20,000个用户次登录系统;
    b. 平均每个用户执行五个查询事务和五个更新事务;
    c. 每天最忙时间从上午9:15到上午10:15时间段;
    d. 未来一年,用户数估计要增加一倍。
    2)计算步骤:
    步骤一:估算应用系统峰值每分钟需要处理事务数
    高峰时间段每分钟需要处理事务数 = 20,000 x (5+5)x 80% / 60 = 2666.67
    步骤二:估算应用系统事务复杂度:本实例事务复杂度为15。
    步骤三:估算应用系统未来一段时间后预留量:预留量为200%。
    步骤四:将以上各参数值代入公式,计算出TPC-C值。
    TPC-C值=2666.67* 15 * 200% / 75% = 106,666


    2、未公布服务器TPC-C估算法实例
    1)情景描述:
    TPC组织的网站上发布了最新的IBM的p5-595的TPC-C值测试结果,如下表所示:
    型号          处理器类型          处理器主频     处理器数量   TPC-C值
    p5-595        POWER5+处理器       2.3GHz        64路        4,033,378 tpmC
    假设需要估算32路CPU的TPC-C值。
    2)计算步骤:
    步骤一:获取满配置的同类型服务器的TPC-C值:4,033,378。
    步骤二:将满配置服务器型号的CPU个数和主频、目标配置的服务器的CPU个数和主频等代入公式。
    步骤三:通过公式计算目标配置的服务器的TPC-C值。
    估算服务器的TPC-C值=(4033378 ÷2.3÷64)*2.3 * 32 = 2,016,689。


    3、Web服务器SPECweb2005估算法实例
    1)情景描述:
    a. 某个应用系统的总用户数:100,000。
    b. 用户在典型工作日的在线率为:25%。
    c. 在线用户平均发起http请求数为:4。
    d. 系统的预留冗余率为:20%。


    2)计算步骤:
    SPECweb2005值=(100,000 * 25% * 4 )/(1 - 20%)= 125,000。


    4、存储资源估算实例
    1)数据库存储
    情景假设:
    a. 某个应用系统,主要包括客户、产品、订购关系等三个实体表,建立了3个索引;
    b. 预计一年内客户数为10000个,每个客户数据3MB;
    c. 产品数为200个,每个产品数据5MB;
    d. 订购关系数为50000个,每个数据1MB;
    e. 三种索引,每个索引的大小为1MB;
    f. 假设考虑30%的容量冗余比率;
    g. 磁盘采用Raid10冗余。
    计算步骤:
    a. 分别估算每个实体表的数量和大小
    客户数据大小: 10000 * 3MB
    产品数据大小: 200 * 5MB
    订购关系数据大小: 50000 * 1MB
    索引数据大小: 10000 * 1MB + 200 * 1MB + 50000 * 1MB
    b. 初步容量需求汇总
    初步容量需求汇总= 10000 * (3MB + 1MB) + 200 * (5MB + 1MB) + 50000 * (1MB + 1MB)
    = 40000MB + 1200MB + 100000MB = 141,200MB
    c. 考虑容量冗余的容量需求
    考虑容量冗余的容量需求= 141,200MB ÷ (1-30%) = 141,200MB ÷0.7 = 201,714MB
    d. 考虑磁盘raid冗余的容量需求
    考虑磁盘raid冗余的容量需求=201,714MB * 200% = 403,428MB


    2)普通文件存储
    情景假设:
    a. 某个应用系统存在三种容量较大的文件:日志文件、交易数据记录、收费文件;
    b. 预计一定时期内,日志文件的大小可能达到3G, 交易数据记录文件的大小可能达到2.5G,收费文件的大小可能达到2G;
    c. 假设考虑30%的容量冗余比率;
    d. 磁盘采用Raid10冗余。
    计算步骤:
    a. 初步容量需求汇总
    初步容量需求汇总= 3G + 2.5G + 2G = 7.5G
    e. 考虑容量冗余的容量需求
    考虑容量冗余的容量需求 = 7.5G ÷ (1- 30%) = 10.7G
    b. 考虑磁盘raid冗余的容量需求
    考虑磁盘raid冗余的容量需求= 10.7G * 200% = 21.4G
    3)系统运行存储
    情景假设:
    a. 服务器上安装windows 2003server操作系统、WebLogic8.0中间件和防病毒软件。
    b. 假设考虑30%的容量冗余比率;
    c. 磁盘采用Raid10冗余。
    估算步骤:
    d. 估算操作系统需要的存储容量大小
    Windows 2003 server操作系统需占用4.5G空间。
    e. 估算应用软件需要的存储容量大小
    WebLogic 8.0软件需占用1.5G空间。
    f. 估算其他软件需要的存储容量大小
    安装一套防病毒软件需占用1G空间。
    g. 初步容量需求汇总
    初步容量需求汇总 = 4.5G + 1.5G + 1G = 7G
    h. 考虑容量冗余的容量需求:
    考虑容量冗余的容量需求= 7G÷ (1 –30%) = 10G
    i. 考虑磁盘raid冗余的容量需求:


     

    展开全文
  • 长除法计算公式

    千次阅读 2020-05-31 12:45:40
    本文研究了长除法运算的问题,通过对长除法计算过程进行详细演算和深入分析,得出了计算长除法结果的一般性规律,利用多项式除法中分子分母多项式的各项系数直接计算出结果。

    1 引言

    长除法是一种很常用的计算方法,适用于整式除法、小数除法、多项式除法(即因式分解)等较重视计算过程和商数的除法,过程中兼用了乘法和减法。在很多工程问题(如离散系统的Z逆变换)都需要使用到长除法,但是传统长除法计算方法在运算过程中需要十分谨慎的运算过程,因为每一步运算都基于前一步运算的结果,所以很容易导致“一步错步步错”的结果。因此为了解决长除法在运算过程中的这种问题,总结出了公式化的运算规律,大大减少了长除法计算的运算量和错误率,而且更加容易在程序上实现。

    2 传统长除法的计算

    以计算:  为例:

    首先把被除式、除式按某个字母作降幂排列,缺项补零,写成以下形式:

                                                                                                                                         (2.1)

    然后商和余数可以这样计算:

    1.用分子的第一项除以分母的最高次项(即次数最高的项,此处为),得到首商,写在横线之上()。

     

    2.将分母乘以首商,乘积写在分子前两项之下( ), 同类项对齐。

    3.从分子的相应项中减去刚得到的乘积(消去相等项,把不相等的项结合起来),得到第一余式,写在下面。然后,将分子的下一项“拿下来”。

    4.把第一余式当作新的被除式,重复前三步,得到次商与第二余式(直到余式为零或余式的次数低于除式的次数时为止.被除式=除式×商式+余式 )。

    5. 重复第四步,得到三商与第三余式。余式小于除式次数,运算结束。横线之上的多项式即为商,而剩下的 (-123) 就是余数。

    注意:在不同的使用情况,有些结果需要对余数继续计算,得到有的项。其中,算数的长除法可以看做以上算法的一个特殊情形,即所有被替换为10的情形。计算过程如(图一)所示:

                                                                                            图一                                                                             

    显然,以上的计算方法太过于繁杂,接下来我们来推导长除法快速计算方法。

    3 长除法计算公式法的推导

    为了得到一般化的规律,我们先对公式的系数进行一般化处理,并把分母的最高次项的系数变成1 ,得到:

                                                                                                                                                      (3.1)

    接下来进行计算:

     

    图二

    整理后的计算结果是:

    观察上式可以看出:

    1) 商的最高次(降幂排列第一项)的系数:a = det

     

    2) 商的第二项的系数:b = -det

    3) 商的第三项的系数:c = det

    4) 商的第四项的系数:d = -det

    5) 商的第五项的系数:e = det

    6)商的第六项的系数:……

    把式(2.1)的具体参数:

    a0

    a1

    a2

    b0

    1

    -12

    -42

    -3

     

    带入矩阵中;

    计算得到:a=1, b=-9, c=-27, d=-123, e=-369;显然与上述使用传统计算方法结果一致。

    接下来用matlab进行验证,代码和计算结果如下

     

    因此可得出一般规律(结论):

    定理 设某个分式的分子参数为[, , , ],分母的参数为[1, , ];

         分式为:                                                                                               (3.3)

     

    由分式的各项系数组成的矩阵如下【式(3.4)】所示:

                                                                                                        (3.4)

    结果的最高项次数为:,按降幂排列的各项系数分别为:

    此矩阵【式(3.4)】的n阶顺序主子式的行列式*(-1)^(n-1) (其中n=1,2,3,……)。

    展开全文
  • 对AUC计算公式和几何意义的理解

    千次阅读 2018-05-18 23:44:53
    AUC(Area Under ROC Curve)是对机器学习模型的一种性能度量,其直观的意义是ROC(Receiver Operating Characteristic)围成的面积,然而很多文章对AUC的计算公式与其直观意义“面积”的对应描述不甚明了,于是我花...
  • EXPMA指标基础算法以及计算公式

    千次阅读 2017-03-15 23:01:54
    参考:ecpma指数-百度百科指标概述EXPMA...但这会使信号在时间上滞后,而EXPMA指标是对移动平均线的弥补,EXPMA指标由于其计算公式中着重考虑了价格当天(当期)行情的权重,因此在使用中可克服MACD其他指标信号对于
  • ffmpeg转换进度计算公式

    千次阅读 2014-06-26 16:24:00
    ffmpeg将源视频(sourceinfo)转换成目的视频(requestinfo),转码过程中的进度计算公式: 其中source_file_size为原视频文件大小 source_bitrate为原视频的码率( 视频码率 + 音频码率 );目的视频描述一致。 ...
  • 计算机组成原理重点总结(学习笔记)含计算公式

    千次阅读 多人点赞 2020-07-24 17:55:05
    补码定点数的加/减运算 基本公式:(将符号位和数值部分一起参加运算,并且将符号位产生的进位自然丢掉即可) 加法:[A]补+[B]补=[A+B]补 减法:[A-B]补=[A]补+[-B]补([-B]补由[B]补连同符号位在内,每位取反,...
  • 阻抗计算公式、polar si9000(教程)

    千次阅读 2017-05-24 18:29:01
    阻抗计算公式、polar si9000(教程) 2015-10-29 22:16 2548人阅读 评论(0) 收藏 举报 给初学者的 一直有很多人问我阻抗怎么计算的. 人家问多了,我想给大家整理个材料,于己于人都是个方便.如果大家还有...
  • QPSK调制误码率计算

    千次阅读 2020-04-22 21:28:35
    公式:误码=错误码元数/传输的总码元数 将发送端的码元序列和接收端码元序列进行比较,得到错误码元数,具体过程是按位异或发送端的码元序列和接收端码元序列,使不同位表达为1,相同位表达为0,并计算异或后的...
  • 什么是波特,波特怎么计算

    万次阅读 多人点赞 2020-06-04 11:08:34
    ✍ 什么是波特,波特怎么计算➹ 概述:  ☆简而言之,串口传输的波特即为每秒钟传输二进制的位数。  ☆脱离枯燥乏味的文字描述,我们用波形和数字来看看波特是什么吧☟。  ☆说明:系统时钟50M,波特...
  • 独立推导预报单光子源诱骗态量子密钥分发的密钥产生率计算公式, 讨论密钥产生率和发送端探测效率的关系; 进行弱相干光和预报单光子源诱骗态量子密钥分发的最优强度估计和密钥产生率数值计算. 结果表明, 预报单光子源...
  • 贷款迁徙率计算方法

    千次阅读 2008-01-14 15:48:00
    计算公式: 正常贷款迁徙=(期初正常类贷款中转为不良贷款的金额+期初关注类贷款中转为不良贷款的金额)/(期初正常类贷款余额-期初正常类贷款期间减少金额+期初关注类贷款余额-期初关注类贷款期间减少金额)×100% ...
  • 有关Windows平台下CPU使用计算

    千次阅读 2015-03-05 13:34:17
    一. 有关Windows平台下CPU使用率的计算   1. Windows下CPU使用率的定义 ...2. CPU使用率计算公式 根据CPU使用率的定义我们可以得出在某一段时间内总的CPU使用率的计算公式: sysTime:表示该时
  • 本文依据Tiemann关于木材纤维饱和点的定义,应用热力学平衡相变理论,分析了木材中束缚水与水蒸汽的相变过程,由热力学系统相平衡的一般条件导出了木材纤维饱和点含水计算公式。文章计算了美国西加云杉纤维饱和...
  • 可以用下面的命令将 cpu 占用高的线程找出来: ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu这个命令首先指定参数'H',显示线程相关的信息,格式输出中包含:user,pid,ppid,tid,time,%cpu,cmd,然后再用%...
  • LINUX CPU利用率计算

    万次阅读 2011-08-22 21:54:27
    总的Cpu使用率计算 计算方法: 1、 采样两个足够短的时间间隔的Cpu快照,分别记作t1,t2,其中t1、t2的结构均为: (user、nice、system、idle、iowait、irq、softirq、stealstolen、guest)的9元组; 2、...
  • 从Kriging方法的基本原理出发,推导了Kriging球面应变计算公式,通过在模拟和实际GPS数据中的试算,讨论了该方法在区域GPS速度场网格化和应变率计算中的适用性。结果表明Kriging方法对GPS速度场滤波和网格插值是可行...
  • python实现计算精度、召回和F1值

    万次阅读 多人点赞 2019-03-02 11:09:47
    python实现计算精度、召回和F1值   摘要:在深度学习的分类任务中,对模型的评估或测试时需要计算其在验证集或测试集上的预测精度(prediction/accuracy)、召回(recall)和F1值。本文首先简要介绍如何计算...
  • 为了研究履带车辆在水泥...最后结合接地压力、摩擦因数与牵引力的计算公式得到了履带地面牵引力和滑转的关系模型。将地面牵引力的计算结果与实车测试结果进行了对比,两者的一致性验证了所建立的计算模型具有可信性。
  • 【Retention】留存怎么计算

    千次阅读 2020-11-18 19:33:44
    留存计算方式是以下三个维度的组合合集: 一 新增和活跃 二 账号和设备 三 第X日和X日内 所以,留存的定义有八种方式,分别是: 新增账号第X日:某日新增的账号中,在新增日后第X日有登录行为记为留存 新增...
  • 由于合金是由排列无序的两种离子所组成,每个离子的移动互相不关联,...运用一定的近似处理,计算了在低温(KT《1)下替代无序合金的电阻,得到合金电阻可表示为p=A+BT,即温度的一次方函数,与已有的实验结果一致
  • (三)python计算夏普

    千次阅读 2020-03-26 16:24:24
    如果某个投资组合第一天收益为5%、第二天收益为9%、第三天的收益为-10%(这里的收益是相对于前一天的数据或者前一个周期的数据),同时假设国债的收益为4%,计算夏普: shaper ration=average(5%+9%-10%)-...
  • ​仅考虑分红时,公式为: 累计单位净值=单位净值+累计分红金额 累计单位净值的隐含假设为: 发生分红时,投资者选择现金分红方式,投资者获得的现金分红金额无法再参与该基金的投资过程。 一般来讲,基金公司会在每...
  • 我们在使用深度学习解决一个分类问题的时候,需要计算准确来评价算法,有的时候会使用top3、top5准确,那么在tensorflow中如何实现呢? 一般分类网络都会使用交叉熵损失函数,在使用交叉熵之前,对于n分类问题...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 52,105
精华内容 20,842
关键字:

一致率计算公式