日志打屏对性能有多少影响

36m的文件,在局域网服务器之间socket单进程传输,client读取源文件并socket发送文件,server接收文件。

server日志打屏的时候花费时间

begin sec[1433750824], microsec[847467]
file[tsl.txt] read over .
end sec[1433750993], microsec[163170]

不打屏的时候花费时间

begin sec[1433751290], microsec[743043]
file[tsl.txt] read over .
end sec[1433751291], microsec[39021]

前者169s,后者仅0.65s,输出到stdout可见是一种极其低下的方式。

第二次性能测试比对发送不同大小的包对性能的影响

begin sec[1433751633], microsec[775116]
file[tsl.txt] read over .
end sec[1433751634], microsec[71070]

发送包size为1024,为上次发送的十分之一,耗时不到1s,差别不大

begin sec[1433751850], microsec[534276]
file[tsl.txt] read over .
end sec[1433751851], microsec[416336]

发送包size为102,为上次发送的十分之一,耗时不到1s,差别不大。

从测试结果看,socket通信中单次发送包的大小对读写效率有影响,包比较大的时候发送效率更快,但差别远没有文件大size和小size写入的差别那么夸张。

第三次测试阻塞IO和非阻塞IO的性能差别

begin sec[1433752606], microsec[316188]
file[tsl.txt] read over .
end sec[1433752607], microsec[35659]
/project/bm3.5/zhaodan/test#./tsclient
begin sec[1433752623], microsec[211854]
file[tsl.txt] read over .
end sec[1433752624], microsec[85021]
/project/bm3.5/zhaodan/test#./tsclient
begin sec[1433752638], microsec[868460]
file[tsl.txt] read over .
end sec[1433752639], microsec[683085]

非阻塞IO,单次发送102字节的包,发送36m,平均耗时0.8s,和阻塞IO接近一样。

begin sec[1433752705], microsec[148658]
file[tsl.txt] read over .
end sec[1433752705], microsec[264183]
/project/bm3.5/zhaodan/test#./tsclient
begin sec[1433752720], microsec[357477]
file[tsl.txt] read over .
end sec[1433752720], microsec[470690]
/project/bm3.5/zhaodan/test#./tsclient
begin sec[1433752863], microsec[351376]
file[tsl.txt] read over .
end sec[1433752863], microsec[459639]

非阻塞IO,单次发送1024字节的包,发送36m,平均耗时0.1s,nice啊,大幅提升。

/project/bm3.5/zhaodan/test#./tsclient
begin sec[1433752954], microsec[603443]
file[tsl.txt] read over .
end sec[1433752954], microsec[630770]
/project/bm3.5/zhaodan/test#./tsclient
begin sec[1433752970], microsec[302743]
file[tsl.txt] read over .
end sec[1433752970], microsec[330649]
/project/bm3.5/zhaodan/test#./tsclient
begin sec[1433752976], microsec[764320]
file[tsl.txt] read over .
end sec[1433752976], microsec[791707]

非阻塞IO,单次发送10240字节的包,发送36m,平均耗时0.03s,good

从第三次测试结果来看,小size的包阻塞或者非阻塞基本看不出区别,随着发送包size的提升,性能提升极其显著,大数据IO推荐非阻塞方式。

时间: 2024-10-13 23:20:37

日志打屏对性能有多少影响的相关文章

MySQL自身对性能的影响

MySQL体系结构 想要了解MySQL自身对性能的影响,就需要先熟悉MySQL的体系结构和常用的存储引擎.MySQL并不完美,却足够灵活,能够适应高要求的环境,例如Web类应用.同时,MySQL既可以嵌入到应用程序中,也可以支持数据仓库.内容索引和部署软件.高可用的冗余系统.在线事务处理系统(OLTP)等各种应用类型. MySQL最重要.最与众不同的特性是它的存储引擎架构,这种架构的设计将查询处理(Query Processing)及其他系统任务(Server Task)和数据的存储/提取相分离

smarty对网页性能的影响--开启opcache

在上一篇<smarty对网页性能的影响>中,默认没有开启opcache,于是我安装了一下zend opcache扩展,重新实验了一下,结果如下: 有smarty 用apache的ab命令进行压力测试,并发10个,不算大:同时用sar命令进行cpu利用率的统计.命令如下: ./ab -c 10 -n 100000 http://cq01-rdqa-dev072.cq01.baidu.com:8008/index.php sar -u 2 1000 >/tmp/smarty.sar &

HTTP的持久连接对Web服务性能的影响

我们的 Web 页面通常有很多对像(Object)组成.如:jss 样式表.图片.scripts.文档等.所以用户浏览一个网页文件时候,要向 Web 服务器发送多次请求(要从服务器上获取一个Object就要向服务器发送一个请求),浏览器根据 jss 样式表把从服务器获取的这些html页面对象合成一个完整的html页面展示给用户.        最早我们的浏览器是单线程的,意味着一次只能向浏览器发送一个Object请求,等到该Object传输完成了,再向服务发送第二个Object的请求.我们把它称

JAVA 异常对于性能的影响

陶炳哲 - MAY 12, 2015 在对OneAPM的客户做技术支持时,我们常常会看到很多客户根本没意识到的异常.在消除了这些异常之后,代码运行速度与以前相比大幅提升.这让我们产生一种猜测,就是在代码里面使用异常会带来显著的性能开销.因为异常是错误情况处理的重要组成部分,摒弃是不太可能的,所以我们需要衡量异常处理对于性能影响,我们可以通过一个实验看看异常处理的对于性能的影响. 实验 我的实验基于一段随机抛出异常的简单代码.从科学的角度,这并非完全准确的测量,同时我也并不了解HotSpot 编译

Redis性能调优:保存SNAPSHOT对性能的影响

前一段时间,开发环境反馈,Redis服务器访问非常慢,每个请求要数秒时间,重启之后2~3天又会这样. 我查看了一下Linux的性能,没有什么问题.通过 # redis-cli --latency 发现访问Redis确实很慢,执行info要几秒时间.里面有个参数已连接的客户端几万个,通过 Redis>client list 查看到很多client的age都很大,一直没有释放.于是怀疑是不是和这个有关,因为版本是2.8.6,无法通过client一次性kill掉所有的连接,只能写一个程序,一个一个地k

一:MySQL数据库的性能的影响分析及其优化

MySQL数据库的性能的影响分析及其优化 MySQL数据库的性能的影响 一. 服务器的硬件的限制 二. 服务器所使用的操作系统 三. 服务器的所配置的参数设置不同 四. 数据库存储引擎的选择 五. 数据库的参数配置的不同 六. (重点)数据库的结构的设计和SQL语句 1). 服务器的配置和设置(cpu和可用的内存的大小) 1.网络和I/O资源 2.cpu的主频和核心的数量的选择 (对于密集型的应用应该优先考虑主频高的cpu) (对于并发量大的应用优先考虑的多核的cpu) 3.磁盘的配置和选择 (

025:sysbench压测-innodb_flush_log_at_trx_commit,sync_binlog参数对性能的影响

sysbench压测-innodb_flush_log_at_trx_commit,sync_binlog参数对性能的影响 [TOC] 一.OLTP测试前准备 基本信息: 主机信息 CPU 内存 硬盘 系统版本 MySQL版本 sysbench版本 Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz *2 2G 虚拟机硬盘 CentOS release 6.9 (Final) 5.7.18 1.1.0-76 sysbench 目录(/software/sysbenc

7 怎么减少行锁对性能的影响?

7 怎么减少行锁对性能的影响? MySQL的行锁是在引擎层由各个引擎自己实现的,并不是所有的引擎都支持行锁,比如myisam引擎就不支持行锁,不支持行锁意味着并发控制只能使用表锁,对于这种引擎的表,同一张表上任何 时刻只能有一个更新在执行,这就会影响到业务并发度. 这一章主要聊innodb的行锁,以及如何通过减少锁冲突来提升业务并发度. 从两阶段锁说起 Session a Session b begin; update t set k=k+1 where id=1; update t set k

京东如何处理数据中心网络对应用性能的影响

?随着现代数据中心规模的不断扩张,网络拓扑和路由转发变得越来越复杂.传统的数据中心使用大型机和小型机,网络规模相对较小,普通的机框式交换机就能满足网络的需求.随着CLOS集群架构的普及,标准的x86服务器集群以低成本和高扩展性逐渐取代大型机和小型机而成为数据中心的主流. 下图就是一个典型的基于CLOS架构的数据中心解决方案,在这样的大规模网络中,如何让数据在传输过程中能以最快的速度从发送端到接收端,成为网络性能调优的关键因素. 京东IT资源服务部举办的未来数据中心核心技术研讨会上,京东人工智能,