Redis使用中的性能优化——搭建Redis的监测服务

news2024/10/6 8:34:40

大纲

  • 环境
    • 安装配置Redis
      • 安装
  • 安装配置redis_exporter
    • 编译
    • 运行
  • 安装启动Prometheus
    • 创建用户
    • 下载并解压
    • 修改配置
    • 启动
  • 安装启动grafana
    • 安装
    • 启动
  • 测试
  • 参考资料

抛开场景和数据,谈论性能优化,就是纸上谈兵。这个系列我们将通过相关数据来展现常见的Mysql优化前后的性能差距。这样会给大家有个直观的认识。

环境

我是在Windows电脑上,使用Hyper-V构建了一台干净的虚拟机。并给该机器分配了2核4G。
在这里插入图片描述
操作系统是Ubuntu Server 24.04 LTS

cat /proc/version

Linux version 6.8.0-35-generic (buildd@lcy02-amd64-020) (x86_64-linux-gnu-gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0, GNU ld (GNU Binutils for Ubuntu) 2.42) #35-Ubuntu SMP PREEMPT_DYNAMIC Mon May 20 15:51:52 UTC 2024

安装配置Redis

安装

sudo apt install redis-server -y
redis-server --version

Redis server v=7.0.15 sha=00000000:0 malloc=jemalloc-5.3.0 bits=64 build=d81b8ff71cfb150e

安装配置redis_exporter

编译

sudo apt install golang-go -y
git clone https://github.com/oliver006/redis_exporter.git
cd redis_exporter
go build .

运行

./redis_exporter

INFO[0000] Redis Metrics Exporter <<< filled in by build >>> build date: <<< filled in by build >>> sha1: <<< filled in by build >>> Go: go1.22.2 GOOS: linux GOARCH: amd64
INFO[0000] Providing metrics at :9121/metrics

安装启动Prometheus

我们新开一台机器,同样给2核4G配置,更更新好系统和apt库。

创建用户

sudo groupadd --system prometheus
sudo useradd -s /sbin/nologin --system -g prometheus prometheus

下载并解压

wget https://github.com/prometheus/prometheus/releases/download/v2.52.0/prometheus-2.52.0.linux-amd64.tar.gz
tar xvf prometheus-2.52.0.linux-amd64.tar.gz

修改配置

cd prometheus-2.52.0.linux-amd64
vim prometheus.yml

新增如下内容

  - job_name: redis_exporter
    static_configs:
    - targets: ['172.23.131.103:9121']

启动

mkdir tsdb 
./prometheus --config.file ./prometheus.yml --storage.tsdb.path=./tsdb --web.listen-address="0.0.0.0:9090"  

安装启动grafana

安装

cd ~
sudo apt-get install -y adduser libfontconfig1 musl
wget https://dl.grafana.com/enterprise/release/grafana-enterprise_11.0.0_amd64.deb
sudo dpkg -i grafana-enterprise_11.0.0_amd64.deb

启动

sudo /bin/systemctl start grafana-server

测试

登录http://172.23.131.19:3000/login,使用用户名和密码都是admin登录grafana。
在这里插入图片描述
数据源选择Prometheus,地址填入刚启动的Promethous服务地址。
在这里插入图片描述
保存后,新建看板
在这里插入图片描述
填入https://grafana.com/grafana/dashboards/14091-redis-dashboard-for-prometheus-redis-exporter-1-x/
在这里插入图片描述

参考资料

  • https://github.com/oliver006/redis_exporter

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1796342.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3设置全局变量并获取 全局响应式变量 窗口大小

设置 js文件统一管理全局变量 方法1 app provide() 全局提供变量 通过inject()使用 方法2 app实例配置全局变量 获取 通过 getCurrentInstance.appContext.config.globalProperties.$innerWidth访问到 code import { ref } from vue export const useGlobalState () > {c…

uni-app预览pdf(适配多端)

前言 今天有个功能要在当前页面预览pdf&#xff0c;并且适配多端&#xff0c;研究了好久&#xff0c;也踩了好多坑&#xff0c;写个文章记一下&#xff0c;也给各位避避坑~ uni-app预览pdf 1.下载pdf.js 官方下载地址&#xff08;有坑&#xff01;待会儿说&#xff09; 外部…

《编译原理》期末考试复习手写笔记+真题(一)第一、二、三章

目录 第一章 第二章考试题型&#xff1a; 第三章考试题型【词法分析】&#xff1a; 不会DFA-最小化分割法的看这里&#xff01;&#xff01;&#xff01; 学习完前三章后&#xff0c;期末考试的前面两道大题可以做啦&#xff08;除去第四章消除左递归※&#xff09;&#…

20240606在RK3588的Android12下使用adb pull出现权限问题Permission denied

adb root adb remount 20240606在RK3588的Android12下使用adb pull出现权限问题Permission denied 2024/6/6 11:48 缘起&#xff1a;想从Toybrick的TB-RK3588的Android12开发板上通过adb pull获取刚刚生成的edid.bin&#xff0c;老是报告权限问题。 百度&#xff1a;adb: error…

course-nlp——7-seq2seq-translation

本文参考自https://github.com/fastai/course-nlp。 使用 RNN 进行翻译 此笔记本是根据 Sylvain Gugger 创建的笔记本修改而来的。 今天我们将处理翻译任务。我们将从法语翻译成英语&#xff0c;为了使任务规模保持在可控的范围内&#xff0c;我们将仅限于翻译问题。 此任务…

[线程与网络] 网络编程与通信原理(五): 深入理解网络层IP协议与数据链路层以太网协议

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏:&#x1f355; Collection与数据结构 (92平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 &#x1f9c0;Java …

1-Maven-settings配置

1-Maven-settings配置 整理下Maven工具的使用。 【本地仓库、私服、镜像仓库、远程仓库、中央仓库】 本文基于阅读其他博客和对公司Maven配置的学习整理出来的。希望通过本此学习能对Maven有个整体性的掌控。 顺序&#xff1a;profile.repository > pom文件中的repository &…

小程序 UI 风格,独具匠心

小程序 UI 风格&#xff0c;独具匠心

iOS 之homebrew ruby cocoapods 安装

cocoapods安装需要ruby&#xff0c;更新ruby需要rvm&#xff0c;下载rvm需要gpg&#xff0c;下载gpg需要homebrew&#xff0c;所以安装顺序是homebrew->gpg->rvm->ruby-cocoapods Rvm 官网&#xff1a; RVM: Ruby Version Manager - RVM Ruby Version Manager - Docum…

04-240606Spark笔记

04-240606Spark笔记 1.行动算子-2 save相关算子: 格式: def saveAsTextFile(path: String): Unit def saveAsObjectFile(path: String): Unit def saveAsSequenceFile(path: String,codec: Option[Class[_ <: CompressionCodec]] None): Unit 例子: val rdd sc.makeR…

Next.js Tailwind CSS UI组件

摘要&#xff1a; 官网 今天公司使用到一个前端ui框架——Next.js Tailwind CSS UI组件&#xff01;这从头构建一个AI驱动的前端UI组件生成器&#xff0c;生成Next.js Tailwind CSS UI组件&#xff1a; 1、用Next.js、ts和Tailwind CSS构建UI组件生成器Web应用程序。 2、用Copi…

【MySQL】聊聊order by 是如何排序的

CREATE TABLE t (id int(11) NOT NULL,city varchar(16) NOT NULL,name varchar(16) NOT NULL,age int(11) NOT NULL,addr varchar(128) DEFAULT NULL,PRIMARY KEY (id),KEY city (city) ) ENGINEInnoDB;构建一个表结构&#xff0c;以及数据。 本篇主要来分析下order by是如何进…

前端 JS 经典:图片裁剪上传原理

前言&#xff1a;图片裁剪一般都是用户选择头像时用到&#xff0c;现在很多插件都可以满足这个功能&#xff0c;但是我们不仅要会用插件&#xff0c;还要自己懂的裁剪原理。 1. 流程 流程分为&#xff1a;1. 预览本地图片 2. 选择裁剪区域 3. 上传裁剪图像 2. 如何预览图片 …

作业06 递推算法1

作业&#xff1a; #include <iostream> using namespace std; int main(){long long a[110];short n;cin>>n;a[0]1;a[1]1;for(int i2;i<n;i){a[i]a[i-1]a[i-2];}cout<<a[n-1];return 0; } #include <iostream> using namespace std; int main(){lon…

【机器学习】机器学习与大模型在人工智能领域的融合应用与性能优化新探索

文章目录 引言机器学习与大模型的基本概念机器学习概述监督学习无监督学习强化学习 大模型概述GPT-3BERTResNetTransformer 机器学习与大模型的融合应用自然语言处理文本生成文本分类机器翻译 图像识别自动驾驶医学影像分析 语音识别智能助手语音转文字 大模型性能优化的新探索…

41【Aseprite 作图】粉红宫灯——拆解

1 宫灯轮廓 上面三角&#xff0c;下面3 3 3 &#xff08;粉色在后面&#xff0c;做轮廓&#xff09;&#xff0c;棕色在外面&#xff0c;看做是灯骨&#xff08;竖着更长&#xff09;&#xff1b;中间是横着做灯骨 尾部的彩带&#xff0c;下面粉色更浅&#xff0c;上面绿色更浅…

Eclipse添加C和C++编译成汇编文件的选项

在miscellaneous中添加assemble listing选项就可以生成汇编文件了

12_JavaWebAjax

文章目录 Ajax1. 同步请求异步请求2. Ajax实现方式3. 日程管理第四期4. 响应JSON串4.1 响应JSON串格式的一般格式 Appendix Ajax 发送请求的一些方式 1.输入浏览器回车 2.html>head>script/link ​ img标签 3.a标签form表单标签等 用户手动控制提交产生&#xff1b…

【MyBatis】MyBatis操作数据库(二):动态SQL、#{}与${}的区别

目录 一、 动态SQL1.1 \<if>标签1.2 \<trim>标签1.3 \<where>标签1.4 \<set>标签1.5 \<foreach>标签1.6 \<include>标签 二、 #{}与${}的区别2.1 #{}是预编译sql&#xff0c;${}是即时sql2.2 SQL注入2.3 #{}性能高于${}2.4 ${}用于排序功能…

MATLAB基础应用精讲-【数模应用】二元Logit分析(最终篇)(附python、MATLAB和R语言代码实现)

目录 算法原理 SPSSAU 1、二元logistic分析思路说明 2、如何使用SPSSAU进行二元logistic操作 3、二元logistic相关问题 算法流程 一、分析前准备 1、确定分析项 2.多重共线性判断 3.数据预处理 二、回归基本情况分析 三、模型拟合评价 1、似然比检验 2、拟合优…