论文部分内容阅读
“异步单进程事件驱动代理服务器”是信息产业部“电子发展基金” 支持的“网络多功能服务器”项目下的一个子课题。当前Internet在迅猛发展,但网络带宽的增加与信息量和使用群体的增长却并不同步,从而使Web代理服务器成为缓解这一矛盾的一种有效途径。在本论文中,首先讨论和总结了Web代理服务器的基本理论、工作原理和缓存技术,研究了与缓存一致性相关的HTTP机制。通过对五种网络服务器内部架构和多种事件分派机制的分析和比较,最后提出:单进程事件驱动(Single Process Event Driven―SPED)+实时信号(RT-Signal)的结构适合用于实现高性能的Web代理服务器,同时分析并给出了单进程并发服务器中关键的网络I/O实现技术。在对Web代理服务器及其技术研究的基础上设计了一个基于单进程事件驱动的Web代理服务器,本服务器采用了实时信号机制,所有的网络I/O都采用了非阻塞方式;服务器内部实现了非阻塞的域名解析机制,并实现域名/地址缓存;使用了常驻内存的元数据缓存并通过hash表管理,加快了缓存的查询速度;对尺寸小于8K的对象采用大文件内存映射机制提高访问速度;对保存在磁盘上的缓存文件采用特殊的映射机制,减少目录深度并使文件分布均匀;本服务器实现了LRU-Threshold缓存替换算法,并辅以随负载变化而动态调整的缓存维护机制;最后,还实现了基本的预读功能。通过对本代理服务器的功能和性能测试,表明服务器达到了设计目标并具有较高的性能。