挑战Redis单实例内存最大极限,“遭遇”NUMA陷阱!
我们公司的基础架构部有个云Redis平台,其中Redis实例在申请的时候可以自由选择需要的内存的大小。然后就引发了我的一个思考,Redis单实例内存最大申请到多大比较合适?假设母机是64GB内存的物理机,如果不考虑CPU资源的的浪费,我是否可以开一个50G的Redis实例? 于是我在Goo...
我们公司的基础架构部有个云Redis平台,其中Redis实例在申请的时候可以自由选择需要的内存的大小。然后就引发了我的一个思考,Redis单实例内存最大申请到多大比较合适?假设母机是64GB内存的物理机,如果不考虑CPU资源的的浪费,我是否可以开一个50G的Redis实例? 于是我在Goo...
大家好,我是飞哥!现在的服务器物理机CPU一般都是多个CPU,核数也是十几甚至几十核。内存几十GB甚至是上百G,也是由许多的内存条组成的。那么我这里思考一下,这么多的CPU和内存它们之间是怎么互相连接的?同一个CPU核访问不同的内存条延时一样吗?在《内存随机访问也比顺序慢,带你深入理解内存IO...
带宽是存储系统一个的一个非常重要的衡量指标,内存带宽指的是CPU从内存读取或写入数据到内存的速率。我们今天来思考一个问题,在你的应用程序里内存的访问带宽能够达到多少?各代内存带宽规格理论上内存带宽的计算公式是:Band Width = Speed * Data Width。在这个公式的基础上,...
大家好,我是飞哥!在《内存随机也比顺序访问慢,带你深入理解内存IO过程!》一文中,我们理解了内存IO的内部实现过程,知道了内存的随机IO比顺序IO要慢,并对延迟时间进行了大概的估算。那么我们今天来用代码的方式来时间一下,看看在我们的项目工程中,内存访问的在不同的访问场景下延时究竟是个什么表现。...
大家好,我是飞哥!在前面的文章中,我们介绍了 mmap、brk 等系统调用。但是这些系统调用在很多的时候,我们并不会直接使用。原因有以下两个系统调用管理的内存粒度太大。系统调用申请内存都是整页 4KB 起,但是我们平时编程的时候经常需要申请几十字节的小对象。如果使用 mmap 未免碎片率也太大...