用于Linux性能评估的测试工具的设计与实现

用于Linux性能评估的测试工具的设计与实现

论文摘要

作为远程服务支持系统的一个子项目,我们开发的这套测试工具其作用是测试Linux 操作系统作为通信服务器平台是否具有良好的性能,为我们开发通信服务器选取Linux 还是FreeBSD 作为服务器平台提供参考。FreeBSD 因其良好的网络性能、可扩展性、健壮性均比现在的Linux 出色,而作为通信服务器平台的首选。然而考虑到维护的方便,远程服务支持系统的网站和用户数据库服务器却采用了Linux 操作系统。FreeBSD 作为通信服务器平台虽然对性能有着很好的保证,但采用两种不同的操作系统对软件的开发和今后的维护都增加了难度。于是,我们设计了这套测试工具,对Linux 的网络性能进行测试。网络通信服务器通常面临一系列的问题:是否能支持足够多的用户数,是否能把延迟限制在足够小,是否能在大负载情形保持稳定的运行等。为了解决这些问题,人们必须能够产生足够多的负载来测试,不幸地单纯依靠硬件难以满足要求,这就需要利用软件的方法模拟真实环境下的负载情形。本文在基础理论中,首先介绍了网络协议和套接口编程的基础知识,并对几种网络服务器内部架构进行了分析比较,同时对嗅探的原理进行了阐述。在此基础上,我们设计了这套测试工具,它采用服务器-客户机模型模拟远程服务支持系统中通信服务器与客户机的交互,同时用一个网络嗅探器记录用户数据包进入服务器和离开服务器的时间,剩下的延迟分析由离线分析器完成。该套测试工具的设计方式可以应用于类似的性能分析系统中。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 引言
  • 1.1 背景知识
  • 1.2 课题来源及论文贡献
  • 1.3 论文组织结构
  • 第二章 基础理论及相关技术
  • 2.1 网络基础知识
  • 2.1.1 TCP/IP 协议介绍
  • 2.1.2 BSD 网络套接字接口
  • 2.1.3 INET 套接字层
  • 2.1.4 建立 BSD 套接字
  • 2.1.5 在 INET BSD 套接字上绑定地址
  • 2.1.6 在 INET BSD 套接字上建立连接
  • 2.1.7 监听 INET BSD 套接字
  • 2.1.8 接受连接请求
  • 2.2 SOCKET 编程
  • 2.2.1 Socket 原理
  • 2.2.2 Socket 系统调用
  • 2.2.3 客户-服务器模型的socket 实现框架
  • 2.3 I/O 模型
  • 2.4 几种服务器结构
  • 2.4.1 多进程
  • 2.4.2 多线程
  • 2.4.3 单进程事件驱动
  • 2.5 SNIFFER工作原理
  • 2.6 设计方案的选择
  • 第三章 用于LINUX 性能评估的测试工具
  • 3.1 远程服务支持系统简介
  • 3.2 测试工具总体设计
  • 3.3 应用层通信协议
  • 3.3.1 通用消息格式
  • 3.3.2 消息
  • 3.3.3 会话
  • 第四章 LPESERVER 设计方案
  • 4.1 概述
  • 4.2 核心数据结构及状态图
  • 4.2.1 连接控制块(NCB)
  • SESSION)结构'>4.2.2 服务器端会话(SSESSION)结构
  • 4.2.3 会话控制表(scblist)
  • 4.3 对于新到连接的处理
  • 4.4 对会话通信的操作
  • JOINWAITING 状态处理'>4.4.1 对SJOINWAITING 状态处理
  • SJOINACK 状态处理'>4.4.2 对SSJOINACK 状态处理
  • RJOINACK 状态处理'>4.4.3 对SRJOINACK 状态处理
  • DATARECVING 状态的处理'>4.4.4 对SDATARECVING 状态的处理
  • DATASENDING 状态的处理'>4.4.5 对SDATASENDING 状态的处理
  • TERMINATE 状态的处理'>4.4.6 对STERMINATE 状态的处理
  • 4.5 总体流程
  • 第五章 网络负载发生器(LPECLIENT)的设计
  • 5.1 网络负载发生器的方案设计
  • 5.2 客户端重要的数据结构
  • SESSION)'>5.2.1 客户端会话控制块(CSESSION)
  • list'>5.2.2 connectionlist
  • list'>5.2.3 activelist
  • 5.3 客户端会话的创建
  • 5.4 客户端与服务器连接的建立
  • 5.5 客户端与服务器之间控制信息与数据的交换
  • 5.6 LPECLIENT总体流程
  • 第六章 网络延迟分析部分的设计
  • 6.1 设计概述
  • 6.2 LPESNIFFER设计部分
  • 6.2.1 输出文件格式:
  • info 结构'>6.2.2 pktinfo 结构
  • head 结构'>6.2.3 seghead 结构
  • stream 和substream'>6.2.4 结构tcpstream 和substream
  • 6.2.5 主要函数过程
  • 6.3 离线分析程序(LPEANALYZER)设计部分
  • 6.3.1 重要的数据结构
  • 6.3.2 主要函数流程
  • 第七章 总结
  • 参考文献
  • 致谢
  • 个人简历
  • 相关论文文献

    • [1].基于网络套接字的电子白板系统设计[J]. 电脑知识与技术 2009(28)
    • [2].基于消息的异步套接字实现[J]. 软件导刊 2008(08)
    • [3].基于消息的异步套接字和多线程技术网络通信编程[J]. 微计算机信息 2009(30)
    • [4].原始套接字编程在网络实验教学中的应用[J]. 实验室研究与探索 2012(07)
    • [5].用C#实现套接字通信[J]. 通信技术 2008(12)
    • [6].使用原始套接字实现PING功能[J]. 黑龙江科技信息 2010(03)
    • [7].一种基于阻塞模式流式套接字的通用编程模型[J]. 计算机与信息技术 2009(04)
    • [8].基于原始套接字的MSN监控系统的设计与实现[J]. 科技信息 2011(24)
    • [9].Java安全套接字扩展的研究与应用[J]. 电脑知识与技术 2008(08)
    • [10].基于Java的套接字编程[J]. 电脑知识与技术 2016(20)
    • [11].基于Winsock流套接字的进程通信的实现[J]. 西安文理学院学报(自然科学版) 2010(02)
    • [12].应用Socket套接字技术实现文件远程传输的方式分析[J]. 电子技术与软件工程 2014(06)
    • [13].Linux下套接字I/O复用模型介绍[J]. 福建电脑 2010(11)
    • [14].基于Windows套接字实现网络异步通信的原理和实现[J]. 安徽广播电视大学学报 2009(01)
    • [15].Linux系统教学中关于套接字文件的解析[J]. 软件 2020(09)
    • [16].基于Wince的网络通讯编程[J]. 电脑知识与技术 2016(30)
    • [17].基于SOCKET套接字的通讯机制在大H型钢轧线二级与轧线一级通讯中的应用[J]. 硅谷 2010(05)
    • [18].原始套接字网络嗅探器的实现与应用[J]. 计算机安全 2013(02)
    • [19].音视频通信系统服务器的设计与实现[J]. 数字通信世界 2018(02)
    • [20].基于TCP/IP套接字的两种连接方法[J]. 福建电脑 2010(09)
    • [21].计算机网络课程原始套接字编程实验的实践探索[J]. 计算机教育 2010(23)
    • [22].基于Windows套接字编程的网络编码仿真实现[J]. 软件 2012(02)
    • [23].基于Socket套接字实现的Flash固化工具[J]. 电子世界 2014(17)
    • [24].套接字在网络通信中的应用[J]. 电脑知识与技术 2011(17)
    • [25].基于cc3200的无线传输系统的设计[J]. 信息技术与信息化 2018(07)
    • [26].基于Socket的局域网络通信软件开发[J]. 电子科技 2009(05)
    • [27].Linux环境下的嵌入式系统网络编程应用[J]. 电脑知识与技术 2009(15)
    • [28].基于Socket的网络接口编程[J]. 办公自动化 2018(23)
    • [29].基于TCP/IP协议的联机教学系统的设计与实现[J]. 中国西部科技 2011(15)
    • [30].基于GPRS的远程监控系统中监控中心网络数据通信实现[J]. 网络安全技术与应用 2010(11)

    标签:;  ;  ;  ;  

    用于Linux性能评估的测试工具的设计与实现
    下载Doc文档

    猜你喜欢