send和sendmsg性能测试【sendmsg和send的性能基本一样,并没有得到优化】
1,摘要:测试send和sendmsg的性能,影响这两个函数性能的因素主要有发送的字节大小,增加循环次数,从100到10000000(千万)减少计算误差
2,基本信息
cat /proc/cpuinfo查看CPU信息,如下:
Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz
cat /proc/version 查看操作系统内核版本,如下:
Linux version 3.10.0-327.el7.x86_64
cat /proc/meminfo查看内存信息,如下:
MemTotal: 131748016 kB
MemFree: 42526620 kB
MemAvailable: 60623924 kB
3,具体实验过程略,可参见:https://www.cnblogs.com/woshare/p/9079965.html
4,实验分析

注:X轴字节,Y轴时间,单位微秒
结论:
1,send和sendmsg的性能基本一样
2,性能随字节成正比,比如128B~1.55微秒 ,256B~2.57微秒,1024B~8.72微秒,4096B~34.22微秒
3,sendmsg(iovlen=1)和sendmsg(iovlen=4)的在发送相同字节情况下,性能也是4倍,sendmsg在性能上并没得到优化
注:
根据https://blog.csdn.net/zhangskd/article/details/45623759 的分析,send,sendto,sendmsg底层实现基本差不多
send 是特殊的sendto:sendto(fd, buff, len, flags, NULL, 0);
sendto是iovlen=1的sendmsg
这是一个查看源码的网站:https://elixir.bootlin.com/linux/v4.9.102/source/net/socket.c#L1668
send和sendmsg性能测试【sendmsg和send的性能基本一样,并没有得到优化】的更多相关文章
- send和sendmsg性能测试
1,摘要:测试send和sendmsg的性能,影响这两个函数性能主要有发送的字节大小,增加循环次数,从100到10000000(千万)2,基本信息cat /proc/cpuinfo查看CPU信息,如下 ...
- 套接字I/O函数write/read writev/readv send/recv sendto/recvfrom sendmsg/recvmsg
函数原型 read/write系原型 #include <unistd.h> ssize_t read(int fd, void *buf, size_t count); #include ...
- 性能测试一般过程与LR性能测试过程
性能测试作为测试分类的一个大类,等同于系统测试中的功能测试.安全性测试和配置测试等,因此她的测试过程是对整个测试类型中测试过程的一个描述,因此包含了测试需要的确认目标,熟悉系统.获得需求等部分,因此性 ...
- mysql 5.7.15 vs mysql 5.6.31性能测试以及不同linux内核性能比较
最近,将部分开发和测试环境的mysql升级到5.7之后,今天抽时间测试了下5.6和5.7 PK查询的性能,使用mysqlslap进行测试,测试结果发现在低配下,percona 5.6.31大约比5.7 ...
- 性能测试四十七:jmeter性能监控工具ServerAgent
在liunx压力机进行压测的时候,可以在widows下开一个jmeter,只进行监控用,不产生压力,监控效果和dstat差不多 jmeter安装客户端插件 把工具放到服务端任意目录并解压,我这里放到了 ...
- 性能测试 Apache参数配置与性能调优
Apache性能调优 by:授客 QQ:1033553122 环境: Apache 2.4 1.选择合适的MPM(Multi -Processing Modules, 多处理模块) Unix/Linu ...
- 性能测试工具LoadRunner32-LR之windows性能监控Perfmon
Perfmon是啥? Perfmon提供了图表化的系统性能实时监视器.性能日志和警报管理,可以用于监视CPU使用率.内存使用率.硬盘读写速度.网络速度等 性能分析方法 内存分析方法 内存分析用于判断系 ...
- 性能测试工具LoadRunner23-LR之Analysis 性能分析
一.图表分析 1.Average Transaction Response Time(事务平均响应时间) “事务平均响应时间”显示的是测试场景运行期间的每一秒内事务执行所用的平均时间,通过它可以分析测 ...
- 性能测试篇 :Jmeter监控服务器性能
转载:http://www.cnblogs.com/chengtch/p/6079262.html jmeter也可以像loadrunner一样监控服务器CPU.内存等性能参数,不过需要安装一些插件 ...
随机推荐
- pyspider爬取数据存入mysql--2.测试数据库能否连通
做一个简单的测试,看数据能否存入mysql 1 #!/usr/bin/env python 2 # -*- encoding: utf-8 -*- 3 # Created on 2017-10-26 ...
- WorldWind源码剖析系列:数学引擎类MathEngine
PluginSDK中的MathEngine类是密封类.不可继承,主要完成通用的数学计算功能.由于按平面展开层层划分,所以在WW里用到一个row,col的概念,类MathEngine封装了从行/列到经/ ...
- ubuntu系统中Qt creator 编辑和应用使用中文输入法
在ubuntu系统的GUI开发过程中遇到在编辑器里面不能使用中文输入法,前提我已经安装了搜狗输入法,但是还是不能使用,原因是QT的库里没有最新fcix的库,. 没有安装搜狗的输入法的 https:// ...
- 如何在Drupal7中用代码批量创建节点、评论和分类
最近,我忙于一个网站迁移工作.网站是使用某个老式CMS建立的,有一定数量的文章.不同的分类数据和用户评论.我的团队被雇来把这些数据从这个浪费人力物力的老式CMS上完整的迁移到功能更现代的开源Drupa ...
- 半导体热阻问题深度解析(Tc,Ta,Tj,Pc)
半导体热阻问题深度解析(Tc,Ta,Tj,Pc) 本文是将我以前的<有关热阻问题>的文章重新梳理,按更严密的逻辑来讲解. 晶体管(或半导体)的热阻与温度.功耗之间的关系为: Ta=Tj-* ...
- Debuggex – 超好用的正则表达式可视化调试工具
正则表达式通常被用来检索或替换符合某个模式的文本内容,编写正则是开发人员的必备技能.简单的正则表达式一下就能看懂含义,但是复杂的正则理解起来就很困难了.有了这款可视化的正则调试工具,以后编写正则表达式 ...
- Table Generator 表格样式生成代码
<style type="text/css"> .tg {border-collapse:collapse;border-spacing:0;} .tg td{font ...
- centos 64位系统安装
由于centos 64位镜像大于4G,所以U盘装不进去.iso镜像,选择网络安装的方法或者使用一个U盘制作启动盘和一个硬盘来装镜像的方法. 1 网络安装第一步 下载 CentOS 安装 ISO 浏览 ...
- DDD China Conference 2017
DDD China Conference 2017 时间:2017.12.9地点:国际会议中心
- excel的宏与VBA入门(三)——流程控制
一.条件控制IF if 逻辑表达式 then 语句块 end if 带else的if语句: If 逻辑表达式1 Then 语句块1 ElseIf 逻辑表达式2 Then 语句块2 ElseIf 逻辑表 ...