论文部分内容阅读
网络技术的不断发展使越来越多的企业、团体和个人加入了Internet,网络规模日益扩大。在这种状况下,出现了许多高并发、短连接的应用场景,这需要服务器保持高性能的并发处理机制,迅速完成对所有并发请求的处理。Java在网络应用开发中使用非常广泛,但采用Java传统开发模型开发出的网络应用已经难以满足这种需求,因此需要研究新的Java高性能网络应用技术,提出新的开发模型。本文分析了网络应用的基础设施,其中包括计算机网络、操作系统的I/O系统、客户端-服务器模型,提出网络应用的性能瓶颈主要在网络I/O。接着研究了基于流I/O技术和多线程技术的传统Java网络应用开发模型,分析出该模型导致Java网络应用性能不高的原因。针对传统开发模型的性能瓶颈,本文研究新的高性能网络应用技术,包括NIO技术和线程池技术,基于它们构建新的开发模型:Reactor模型,该模型能给Java网络应用的性能带来较大的提升,同时也增加了开发的复杂度。针对这个问题,研究了Apache提供的MINA框架,该框架为开发基于该模型的Java高性能网络应用提供了便利。本文设计实现了一些应用程序,并总结出新模型的基本开发流程。以文件拷贝程序和短信网关应用为例,其中文件拷贝程序用于测量块读写相对于流读写的速度提升效果,短信网关应用用于测量新模型对网络应用的性能提升程度。然后对这些应用程序进行性能测试,对比采集的测试数据,以验证新模型能满足高并发、短连接应用场景的需求。通过理论研究和实际应用的检验,说明基于NIO技术和线程池技术实现的Reactor模型,能较好地满足了高并发、短连接这种应用场景的需求,为开发Java高性能网络应用提供了一种较好的参考模型。