zoukankan      html  css  js  c++  java
  • 某大型银行深化系统之十六:性能设计之一

    传送门 ☞ 轮子的专栏 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229

    1队列服务质量评估

            通过引入排队系统,定义系统中各项业务流程的产生和业务服务模型,描述工作项产生规律和服务规律的概率来计算系统的性能。

    在对排队进行分析时,为了便于分析,经常做一些简化假设。对一个排队系统,若满足以下三个条件:
    排队系统能够进入统计平衡状态;
    服务员的忙期与闲期交替出现,即系统不是总处于忙的状态;
    系统中任一顾客不会永远等待,系统也不会永无顾客到达。
            则下列Little公式成立(排队论中的通用公式):

    1.1w = λTw  

            我们知道一个顾客的平均排队等待时间是Tw,且顾客是以平均速率λ到达,所以在时间Tw时间内有λTw个顾客到达,w表示排队等待服务的平均顾客数量,所以有:w = λTw 

    1.2q = λTq

            系统中的平均顾客数(包括等待的和正在被服务的顾客)等于顾客的平均到达速率乘以一个顾客在系统中花费的平均时间。

    1.3Tq = Tw+Ts

            一个顾客在系统中花费的时间,就是它等待服务的时间加上被服务的时间。            
            工作项池的过程相对于M/M/N队列模型,如下图所示:
     
            即在该队列系统的工作项产生为泊松流,到达速率为λ,有N个服务员,每个服务员的服务速率为μ,服务规则为FCFS。所有的服务员共享一个公用的队列。该队列是一个生灭过程模型,其生灭速率为:
                             λk = λ,       k = 0,1,2,   …        
                              μ = N μ       k ≧ N 
            根据的生灭过程特点,可以得到下面在M/M/N队列中的常用公式。因此系统中的平均工作项数量q = Nρ+ ρη0 (Nρ)N/N!(1-ρ)2
            令随机变量M表示“忙”服务员的数量,W = E[M] = Nρ = λ/μ 
            所以,任意一个服务员的利用率ρ= λ/(Nμ)
            在多服务员系统中的little公式:   
         ρ = λTs/N ,     u = λTs = ρN     ,   q = w + ρN 
            一个工作项在队列中等待的概率,亦即所有服务器都忙的拥塞概率,可以如下表示:
            P[排列] = η0 (Nρ)N/N!(1-ρ) 

            其中η0的表达式如下:


    2系统性能建模

            业务集中系统,可以采用M/M/n 模型来描述,即客户是泊松分布,服务时间为负指数分布,多台、无限容量、无限源、先到先服务的排队系统模型。则根据排队论可以得到以下几个指标:

    2.1顾客在系统中的时间=等待时长+服务时长

    2.2系统的平稳状态

            系统的平稳状态是指:当排队系统运行一段时间后,系统进入正常的平衡状态(简称为稳态),此时,队长分布、等待时间分布等都和系统所处的时刻无关。系统处于稳态时的利特尔公式:Ld= λWd利特尔公式也是普遍成立的,已知其中任两个量,可以求出另一个量利特尔公式的分解:
    Ld = λWd = λ(Wq + h ) = Lq + Ln
    Lq = λWq 
    Ln = λh
            其中:Wq是顾客的平均排队等待时间;Lq是排队等待的平均队长;h是顾客的平均服务时长;Ln是同时接受服务的平均顾客数(即服务台平均占用数)

    2.3流程的生灭过程

            爱尔朗分布实际上是k个独立同分布的负指数分布随机变量的和的分布,即k个服务台的串联,每个服务台的服务时间相互独立,且平均服务时长均为1/kμ(期望值),则一个流程走完这k个节点所需服务时间就服从该分布

    2.4业务系统对外界而言属于生灭服务系统

            满足生灭过程的条件:
    输入过程和服务过程具有平稳性、无记忆性和普通性
    服务台是独立的、相同的、并联的
            泊松输入过程和负指数服务时长具有这些性质:
    可以用马氏链来描述系统的状态转移
    这种系统称为生灭服务系统,一般用M/M/n表示,又称为标准服务系统;

    标准服务系统的形式很多,但都是基于生灭方程,关键是找出λj、μj的不同表达式,将它们代入生灭方程,确定各状态出现的概率,达到调整服务系统的目的。

    3主要度量指标

    3.1队长和排队长

            通常都是随机变量,而且分布不易得到,因此一般考虑其均值和方差等数字特征

    3.2顾客最关心的指标

            排队时间、逗留时间、随机变量

    3.3忙期和闲期

            服务系统所关心的随机变量指标,主要反映系统的服务强度。忙期和闲期交替出现。

            在损失制和混合制服务系统中,还关心诸如顾客损失率、服务强度等指标解排队问题的目的,是研究系统的运行效率,估计服务量,确定系统参数的最优值,以决定系统结构是否合理,研究设计改进措施等。达到此目的的首要任务是研究数量指标的概率规律
    业务量
            令从顾客源来的顾客到达率为λ,每个服务台的服务率为μ,则有λj = λ, j = 0,1, ... , n–1; λn=0,μj = jμ, j = 0,1, ... , n
            将λj, μj代入生灭方程,得

            式中无量纲量ρ=λ/μ称为业务量(traffic) ;表示单位时间内要求系统提供的服务强度;λ和μ的单位一致;用爱尔朗作为业务量的单位(Erl)
            系统的质量用顾客的损失率来度量,有两种度量方法按时间计算的损失率pn—单位时间内无可用服务台的概率按顾客计算的损失率B —单位时间内损失的顾客数与到达顾客数之比在本系统中有B=pn=En(ρ),称为爱尔朗损失公式。
     

    3.4服务台利用率与服务台数量的关系η-n图

            当给定n和B后,系统所能承担的业务量ρ可用爱尔朗公式求出,从而可计算出服务台利用率
    η= ρ(1-B)/n
            其中:
     表示平均被占用的服务台数。
            则η-n的关系如下图:
     
            因此可以得到:
    B不变时,η随n 增加;
    n不变时,η随B 增加;说明效率与质量是矛盾的;
    η具有边际递减规律
    η越大,系统抗过负荷能力越差

    3.5系统过负荷特性α-B图

            过负荷指系统加入的业务量A′超过给定服务质量所能承担的业务量A
            过负荷率α用过载业务量与标准应承担业务量的比值表示,即
    α= (A′-A)/A= ΔA/A
    En(A) = B, En(A′) = B′
     
            由图可见,在同样标准的服务质量和同样的过负荷率下,大系统的质量劣化严重;效率与可靠性是矛盾的

    3.6平均逗留队长

     

    3.7平均排队长

     

    3.8平均逗留时长

     

    3.9平均排队时长

     

    3.10服务台平均占用数

     

    3.11服务台利用率


  • 相关阅读:
    Openstack 学习资源
    Linux 中的 Network服务 与NetworkManager
    解决Eclipse +pydev 中python import 代码提示错误问题
    JSON格式化工具推荐
    python 中json库的 对象转换问题
    使用SmartOS做为Openstack 基础操作系统(简译)
    使用PYTHON ZSI 开发WebService
    VirtualBox 虚拟机硬盘缓存与系统虚拟缓存对性能的影响测试。
    关于使用Django admin模块插入中文时乱码的处理方法
    Linux 和 SmartOS 命令对比
  • 原文地址:https://www.cnblogs.com/innosight/p/3271123.html
Copyright © 2011-2022 走看看