论文部分内容阅读
便捷的网络使得互联网用户基数越来越大,并发请求量也会随之增多。当大量用户通过网络同时访问同一站点时,就会出现高并发的情况,Web应用性能瓶颈也会随之出现。相对于用户对服务提出的高要求,服务器对Web应用处理速度的提升却远远低于应用服务的增长需求,单靠提升服务器硬件性能已不能满足一些Web应用系统的需求。目前,大型分布式系统采用的高并发解决方案并不适用部署在单服务器上的中小型Web应用。通过集群等方式处理高并发流量的方案成本过高,因此需要为部署在单服务器的Web应用提出可用的网络流量高并发优化处理方案。本文围绕网络流量高并发问题,讨论了几种网络流量高并发处理算法,例如漏桶算法、令牌桶算法和计数器算法,同时也讨论了这几种算法在业界的优化工作。针对漏桶算法和令牌桶算法的缺点,本文提出了一种基于这两种算法改进后的网络流量高并发优化处理算法,主要介绍了该算法中限流模块的原理设计、结构设计和算法设计。针对单服务器的网络应用提出适用的流量控制方案,本文提出了一种基于漏桶算法和令牌桶算法的网络流量高并发优化处理算法,通过引入升降级策略、临时容器以及时间戳等机制,能够提高对网络流量峰值的处理,并且减少了对于带有标记请求的丢弃,从而提高服务质量。除此以外,本文还实现了一个流量控制方案,对web测试系统的相关配置(如Tomcat服务器和My SQL)进行了优化,提高了系统对于网络流量高并发处理的性能,同时,后台接收到的请求失败数、成功数、无效数等历史数据可以在测试系统首页以饼状图、柱状图等形式显示出来。论文对于流量控制方案进行了测试,使用测压工具模拟用户请求,将限流模块中的流量处理算法分别切换成漏桶算法、令牌桶算法和网络流量高并发优化处理算法,来观察各个算法对于不同规模请求的压力测试情况。相较于漏桶算法和令牌桶算法,网络流量高并发优化处理算法每秒处理的事务数有所提高,请求耗时有所下降。测试系统证明了网络流量高并发优化处理算法能够比漏桶算法和令牌桶算法更好地处理较大网络流量的访问请求。本文的研究可以为中小企业对于网络流量高并发的处理提供借鉴。