Redis不同版本,内存分配,硬件的性能研究
Redis不同版本,内存分配,硬件的性能研究
前言
Konw more ! Do more ! Gain more !
骨折之后开始减肥. 前段时间跳绳导致膝盖不舒服,现在改骑车和走路.
在有限的没人有烦的时间里,还是想能够多学习一些东西.
之前了解了 isolcpus 现在突然想内存分配可能也有性能影响.
所以想研究一下redis在jemalloc和tcmalloc内存分配器下面的性能表现.
安装-tcmalloc
第一步: 先进性tcmalloc的安装.
晚上的方法是使用 gperftools进行安装
git clone https://github.com/gperftools/gperftools.git
cd gperftools
./autogen.sh
./configure --enable-frame-pointers
make
make install
注意: 我没加 --enable-frame-pointers 也成功了.诡异.
编译redis
注意需要增加参数:
make USE_TCMALLOC=yes
才会使用,还注意一点会有很多错误提示:
#warning "google/tcmalloc.h is deprecated. Use gperftools/tcmalloc.h instead"
但是貌似不影响能够正常安装完成
启动验证
cd src
./redis-server
然后进行验证:
lsof -n | grep tcmalloc
验证 redis-server 其实已经可以用到 tcmalloc的内存分配器了
不使用TCMALLOC的参数编译的话. 就可以看到:
lsof -n | grep jemalloc
也可以通过 redis-cli info来进行查看
mem_allocator:tcmalloc-2.10
会在内存分配器的配置界指名本次启动使用的 内存分配器.
性能验证
redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -n 1000000 -d 1000 -r 100000 -t set
tcmalloc:60157.62
jemalloc:62952.47
ptmalloc:61214.49
干 啥都不是.. 还是je最好.
不同版本的验证
注意这次都是jemalloc
第一次预热. 取第二次的测试结果
6.2.12 : 62952.47
7.2rc1 : 60576.69
7.0.11 : 62837.75
差异不大, 不过rc的确不行
另外N年前的机器的确也不行..
我用阿里云的Intel 8369HB 测试:
8369HB: 141522.78
版本为6.2.8
AMD 9T34的结果为:
9T34 : 213310.58
衣不如新人不如故. 设备该换就得换啊. AMD YES!
Redis不同版本,内存分配,硬件的性能研究的更多相关文章
- Memcache 内存分配策略和性能(使用)状态检查【转】
前言: 一直在使用Memcache,但是对其内部的问题,如它内存是怎么样被使用的,使用一段时间后想看看一些状态怎么样?一直都不清楚,查了又忘记,现在整理出该篇文章,方便自己查阅.本文不涉及安装.操作. ...
- Memcache 内存分配策略和性能(使用)状态检查
前言: 一直在使用Memcache,但是对其内部的问题,如它内存是怎么样被使用的,使用一段时间后想看看一些状态怎么样?一直都不清楚,查了又忘记,现在整理出该篇文章,方便自己查阅.本文不涉及安装.操作. ...
- 动态内存分配导致Javascript性能的问题
内存分配对性能的影响是很大的,分配内存本身需要时间,垃圾回收器回收内存也需要时间,所以应该尽量避免在堆里分配内存.不过直到最近优化HoLa cantk时,我才深刻的体会到内存分配对性能的影响,其中有一 ...
- SQL Server ->> Memory Allocation Mechanism and Performance Analysis(内存分配机制与性能分析)之 -- Minimum server memory与Maximum server memory
Minimum server memory与Maximum server memory是SQL Server下配置实例级别最大和最小可用内存(注意不等于物理内存)的服务器配置选项.它们是管理SQL S ...
- JVM性能优化系列-(2) 垃圾收集器与内存分配策略
2. 垃圾收集器与内存分配策略 垃圾收集(Garbage Collection, GC)是JVM实现里非常重要的一环,JVM成熟的内存动态分配与回收技术使Java(当然还有其他运行在JVM上的语言,如 ...
- Redis深入学习笔记(六)Redis内存分配
Redis的高效可以说是轻量级的epoll模型和基于内存的读写共同组成的,关于epoll对于以前的select或者poll的性能优势这里不做介绍,本篇主要介绍领一个重点,Redis的内存分配原理. 获 ...
- Redis的内存分配
内存分配 Redis进程的内存消耗主要包括:自身内存 + 对象内存 + 缓冲内存 + 内存碎片.1 自身内存 Redis自身内存消耗非常少,通常used_memory在800KB左右,used_mem ...
- 图片系列(6)不同版本上 Bitmap 内存分配与回收原理对比
请点赞关注,你的支持对我意义重大. Hi,我是小彭.本文已收录到 GitHub · AndroidFamily 中.这里有 Android 进阶成长知识体系,有志同道合的朋友,关注公众号 [彭旭锐] ...
- 【朝花夕拾】Android性能篇之(二)Java内存分配
前言 在内存方面,相比于C/C++程序员,咱们java系程序员算是比较幸运的,因为对于内存的分配和回收,都交给了JVM来处理了,而不需要手动在代码中去完成.有了虚拟机内存管理机制,也就不 ...
- CentOS的Redis内存分配策略配置
安装了一主两从节点,启动之后发现有一个警告: 大概是说overcommit_memory设置成了0,在低内存环境下后台保存可能会失败,设置成1重启可解决. 然后,不太懂这个配置的含义,google一把 ...
随机推荐
- LLM增强LLM;通过预测上下文来提高文生图质量;Spikformer V2;同时执行刚性和非刚性编辑的通用图像编辑框架
文章首发于公众号:机器感知 LLM增强LLM:通过预测上下文来提高文生图质量:Spikformer V2:同时执行刚性和非刚性编辑的通用图像编辑框架 LLM Augmented LLMs: Expan ...
- zabbix常用监控项
https://blog.csdn.net/xkjcf/article/details/78559273?locationNum=10&fps=1 agent.ping #agent是否在线 ...
- Protobuf 的基本使用
Protobuf 是 Google 用于序列化数据对象的一种机制,使得数据对象能够在应用程序和服务器之间进行交互,尽管现在 Java 已经对应的序列化的实现方式,但是传统的序列化方式存在严重的缺陷,因 ...
- 云小课|MRS基础原理之Flink组件介绍
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:Flink是一个批 ...
- 华为云GaussDB(for openGauss)商用啦!
摘要:截止目前,华为消费者云已在GaussDB(for openGauss)上线了40+业务,包括弹幕&评论.云空间.地理大数据等业务系统,实时为5亿+用户提供高效服务. 生命在于运动,健康打 ...
- 云小课|ModelArts Pro 视觉套件 零代码构建视觉AI应用
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:ModelArts ...
- 玩转LiteOS组件:Openexif
摘要:OpenExif是用于访问Exif格式的JPEG图像文件的面向对象的库. 本文分享自华为云社区<LiteOS组件尝鲜-玩转Openexif>,作者: W922 . 基本信息 Exif ...
- 华为云VSS漏洞扫描服务之开源组件漏洞检测能力
摘要:华为云VSS漏洞扫描服务提供针对于Web.主机和软件包的漏洞检测能力. 近日Apache Log4j2漏洞持续发酵,已成为中国互联网2021年年底前最大的安全事件.华为云VSS漏洞扫描服务,提供 ...
- Linux 创建新用户
添加用户组[root@VipSoft ~]#groupadd admin 添加用户[root@VipSoft ~]#useradd jimmy -m -d /home/jimmy -g admin 修 ...
- C223 生产版本BAPI
1.事务代码:C223 2.调用函数CM_FV_PROD_VERS_DB_UPDATE "-----------------------------@斌将军----------------- ...