TTCP

1 回顾基础的socket API

1.1 TCP通信的性能指标

1 带宽 MB/S

2 吞吐率 QPS TPS

message/s queries/s transaction/s

3 延迟 时间为单位

4 资源使用率

5 额外开销

例如用于压缩或者是加密的CPU开销,注意一定是先压缩后加密,否则压缩就起不到作用了

1.2 重新实现TTCP工具的原因

1 TTCP复习所有的socket接口

2 TTCP与echo不同之处,TTCP本身是有格式的

3 类似于TCP特征的行为:收到对端的ACK之后才会主动发送下一个segment

4 可以多语言实现

5 一个c一个s,非并发

1.3 TTCP用到的协议

研究下struct定义之后带的__attribute__((__packed__))的用法

1.4 代码

1.4.1 用阻塞实现的

1.4.2 用非阻塞方式实现的

2 TTCP代码概览

时间: 2024-10-14 07:16:09

TTCP的相关文章

Iperf网络检测工具

一.介绍 Iperf是一个网络性能测试工具.Iperf可以测试TCP和UDP带宽质量.Iperf可以测量最大TCP带宽,具有多种参数和UDP特性. Iperf可以报告带宽,延迟抖动和数据包丢失.利用Iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能. Iperf有两种版本,windows版和linux版本. linux最新版本为iperf 3.1.4,下载地址:https://iperf.fr/download/source/iperf-3.1.3-source.tar

linux命令个人总结

mkdir   make directories创建空目录 参数 -p 递归创建 例子: mkdir test.txt cd     切换目录 cd -家目录(当前用户)cd ..上一层目录 彻cd -上一次在的目录 例子:cd / cd ~ cd .. ls     显示目录或者文件 参数 -a所有文件(隐藏)-d目录 -l详细参数 例子:ls -a vi     =记事本 esc切换到命令模式 i切换输入模式 命令要输入 :(q退出 wq保存退出=x q!强制不保存退出 wq!强制保存退出)

DataTables.js插入数据的两种方式

一:采用数组的方式插入值 var tableData = []; var i = 0; var idxTable = 1; $.each(data, function (i, d) { tableData.push([idxTable, d.stcd, d.stnm, d.ddz, d.ddcp, d.ckflz,d.normz,d.ttcp,d.actcp,d.z,d.w,d.inq,d.oz,d.outq,d.adjw,"","","查看"]

TCP连接的建立(二)

被动打开 SYN cookies TCP协议开辟了一个比较大的内存空间请求连接队列来存储连接请求块,当SYN请求不断增加,请求连接数目到达上限时,会致使系统丢弃SYN连接请求.SYN cookies技术就可以使服务器在半连接队列已满的情况下仍能处理新的SYN请求. 当半连接队列满时,SYN cookies并不丢弃SYN请求,而是通过加密技术来标识半连接状态.在TCP实现中,当收到客户端的SYN请求时,服务器需要回复SYN+ACK包给客户端,然后客户端再发送确认包给服务器.通常,服务器的初始序列号

linux常用命令加实例大全

目  录引言    1一.安装和登录    2(一)    login    2(二)    shutdown    2(三)    halt    3(四)    reboot    3(五)    install    4(六)    mount    4(七)    umount    6(八)    chsh    6(九)    exit    7(十)    last    7(十一)    动手练习    7二.文件处理    9(一)    file    9(二)    mkd

Iperf安装使用及测试专线带宽

Iperf安装使用及测试专线带宽 简介 Iperf是一个网络性能测试工具.Iperf可以测试TCP和UDP带宽质量.Iperf可以测量最大TCP带宽,具有多种参数和UDP特性. Iperf可以报告带宽,延迟抖动和数据包丢失.利用Iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能. Iperf软件有多种版本,windows版.linux版.Android版.iphone版.MacOSX版等,最新版本为iperf 3.1.1 Jperf是将iperf命令行图形化的JAVA程

Linux必学的60个命令【转载】

Linux提供了大量的命令,利用它可以有效地完成大量的工 作,如磁盘操作.文件存  [转载地址]http://blog.chinaunix.net/uid-16728139-id-3154272.html 自己留着,用得着. Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统

TCP状态切换流程

enum { /* * Description of States: * * TCP_SYN_SENT sent a connection request, waiting for ack * * TCP_SYN_RECV received a connection request, sent ack, * waiting for final ack in three-way handshake. * * TCP_ESTABLISHED connection established * * TC

Linux必学的60个命令

Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令. 要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统.不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个.这里把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个部分一一介绍.◆ 安装和登录命令:login.shutdown.ha