加载中
一台机器最多能撑多少个TCP连接? 今天掰扯清楚!

在网络开发中,我发现有很多同学对一个基础问题始终是没有彻底搞明白。那就是一台机器最大究竟能支持多少个网络连接?我想我有必要单独发一篇文章来好好说一下这个问题。很多同学看到这个问题...

聊聊TCP连接耗时的那些事儿

在互联网后端日常开发接口的时候中,不管你使用的是C、Java、PHP还是Golang,都避免不了需要调用mysql、redis等组件来获取数据,可能还需要执行一些rpc远程调用,或者再调用一些其它restful...

2020/12/04 09:10
518
Linux网络包接收过程的监控与调优

上一篇文章中《图解Linux网络包接收过程》,我们梳理了在Linux系统下一个数据包被接收的整个过程。Linux内核对网络包的接收过程大致可以分为接收到RingBuffer、硬中断处理、ksoftirqd软中断处...

2020/12/04 09:06
1.3K
图解Linux网络包接收过程

前面和大家分享了我在CPU、内存、磁盘上的一点浅薄的思考。今天开始我们讨论Linux里最重要的一个模块-网络模块。还是按照惯例来,让我们从一段最简单的代码开始思考。为了简单起见,我们用u...

2020/12/04 08:58
438
机械硬盘随机IO慢的超乎你的想象

大家都知道硬盘的随机IO很慢,但是比顺序IO慢多少呢,不知道你是否有过数字上的直接对比。今天我来实际压测对比一下磁盘在顺序IO和随机IO不同场景下的性能数据表现。通过今天的实验数据,你将...

2020/11/07 10:34
377
write文件一个字节后何时发起写磁盘IO

在前文《read文件一个字节实际会发生多大的磁盘IO?》写完之后,本来想着偷个懒,只通过读操作来让大家了解下Linux IO栈的各个模块就行了。但很多同学表示再让我写一篇关于写操作的。既然不少...

2020/11/07 10:34
218
read文件一个字节实际会发生多大的磁盘IO?

不管你用的是啥语言,C/PHP/GO、还是Java,相信大家都有过读取文件的经历。我们来思考两个问题,如果我们读取文件中的一个字节: 是否会发生磁盘IO? 发生的话,Linux实际向磁盘读取多少字节...

2020/11/07 10:34
234
搭载固态硬盘的服务器究竟比机械硬盘快多少

相信大家都知道固态硬盘(SSD)的优势在于速度比传统的机械硬盘(HDD)要快,所以现在线上服务器里越来越多看到固态硬盘的出现。不过作为一个对性能数字斤斤计较的开发,我想更精确地弄明白搭...

2020/11/07 10:33
297
理解格式化原理

在前文《磁盘开篇:扒开机械硬盘坚硬的外壳!》和《拆解固态硬盘结构》中,我们了解到了硬盘基本单位是扇区。在《磁盘分区也是隐含了技术技巧的》中我们也了解了磁盘分区是怎么回事,但刚分完...

2020/11/05 08:48
421
文件过多时ls命令为什么会卡住?

不知道你有没有遇到过当一个文件夹下文件特别多,在下面执行ls命令的时候要等好长时间才能展现出来的问题?如果有,你有想过这是为什么吗,我们该如何解决? 要想深入理解这个的问题产生的原因...

2020/11/05 08:40
215
只有1个字节的文件实际占用多少磁盘空间

在前文《新建一个空文件是否占用磁盘空间?占用多少》中我们了解到了一个空文件的磁盘开销。 今天我们再思考另外一个问题,假如我们给文件里只写入1个字节,那么这个文件实际的磁盘占用也是1...

2020/11/05 08:36
117
新建一个空文件占用多少磁盘空间?

今天我们来思考一个简单的问题。在Linux下你用touch命令新建一个空文件: touch empty_file.txt 操作完成后,是否要消耗掉我们的一些磁盘空间?需要的话,大概能消耗多少?嗯,是的,这个问题...

2020/11/05 08:30
62
挑战Redis单实例内存最大极限,“遭遇”NUMA陷阱!

我们公司的基础架构部有个云Redis平台,其中Redis实例在申请的时候可以自由选择需要的内存的大小。然后就引发了我的一个思考,Redis单实例内存最大申请到多大比较合适?假设母机是64GB内存的...

2020/11/03 09:07
184
一次内存性能提升的项目实践

现代的开发语言除了C++以外,大部分都对内存管理做好了封装,一般的开发者根本都接触不到内存的底层操作。更何况现在各种优秀的开源组件应用越来越多,例如mysql、redis等,这些甚至都不需要...

2020/11/03 08:58
140
PHP7内存性能优化的思想精髓

前面我们讨论了内存的工作原理,也进行了一些性能相关的测试。那么今天开始我们来看几个在实践中的应用。首先我们先从PHP开始。 2015年,PHP7的发布可以说是在技术圈里引起了不小的轰动,因为...

NUMA架构下的内存延迟区别测试!

现在的服务器物理机CPU一般都是多个CPU,核数也是十几甚至几十核。内存几十GB甚至是上百G,也是由许多的内存条组成的。那么我这里思考一下,这么多的CPU和内存它们之间是怎么互相连接的?同一...

2020/11/03 08:35
593
揭穿内存厂家“谎言”,实测内存带宽真实表现

带宽是存储系统一个的一个非常重要的衡量指标,内存带宽指的是CPU从内存读取或写入数据到内存的速率。我们今天来思考一个问题,在你的应用程序里内存的访问带宽能够达到多少? 各代内存带宽规...

2020/11/03 08:25
378
实际测试内存在顺序IO和随机IO时的访问延时差异

在《内存随机也比顺序访问慢,带你深入理解内存IO过程》一文中,我们理解了内存IO的内部实现过程,知道了内存的随机IO比顺序IO要慢,并对延迟时间进行了大概的估算。那么我们今天来用代码的方...

2020/11/02 09:14
162
内存随机访问也比顺序慢,带你深入理解内存IO过程

平时大家都知道内存访问很快,今天来让我们来把刨根问底的精神发挥到极致,来思考两个问题 问题1: 内存访问延时到底是多少?你是否会进行大概的估算? 例如笔者的内存条的Speed显示是1066M...

2020/11/02 09:04
173
进程/线程上下文切换会用掉你多少CPU?

进程是操作系统的伟大发明之一,对应用程序屏蔽了CPU调度、内存管理等硬件细节,而抽象出一个进程的概念,让应用程序专心于实现自己的业务逻辑既可,而且在有限的CPU上可以“同时”进行许多个...

2020/11/02 08:57
341

没有更多内容

加载失败,请刷新页面

返回顶部
顶部