基于M/G/m队列的Web服务器性能分析
1. 引言
随着互联网的快速发展和广泛应用,Web服务器已成为信息和服务的主要来源。在商业和关键应用领域,Web服务器面临着严格的性能要求,这些要求直接影响着其硬件和软件基础设施的配置选项。在部署前,对于给定的负载水平和特定的软硬件配置,有必要预估Web服务器的性能。
传统的基于测量的性能估计方法,虽然能对给定配置的性能进行估计,但对于“预测性”或“假设性”分析以及探索替代配置来说,既繁琐又昂贵。而基于模型的分析方法,通过将Web服务器的相关方面纳入合适的模型,验证模型并使用验证后的模型预测不同设置下的性能,是一种有吸引力的替代方法。
2. 性能模型
2.1 Web服务器软件架构
现代Web服务器通过基于线程、基于进程或混合的方法实现并发处理能力。例如,Microsoft IIS服务器是基于线程的服务器,Apache HTTP服务器1.3是基于进程的服务器,Apache HTTP服务器2.0是混合服务器。
在基于线程和基于进程的架构中,为避免为每个请求创建进程/线程的开销,Web服务器可以在启动时创建一个进程/线程池。如果所有线程/进程都繁忙,要么创建额外的线程/进程,要么请求进入队列等待。前者线程/进程池大小动态变化,后者线程/进程池大小固定。
2.2 排队模型
我们假设Web服务器由一个静态的线程/进程池组成,池中的线程/进程数量为m。请求按照泊松分布到达服务器,请求服务时间呈指数分布。大多数Web服务器在所有线程/进程繁忙时,请求队列容量通常很大,以确保拒绝请求的概率较低,因此建模时假设队列长度为无限。
超级会员免费看
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



