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

大纲

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

环境

我是在Windows电脑上,使用Hyper-V构建了一台干净的虚拟机。并给该机器分配了2核4G。

操作系统是Ubuntu Server 24.04 LTS

bash 复制代码
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

安装

bash 复制代码
sudo apt install redis-server -y
bash 复制代码
redis-server --version

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

安装配置redis_exporter

编译

bash 复制代码
sudo apt install golang-go -y
git clone https://github.com/oliver006/redis_exporter.git
cd redis_exporter
go build .

运行

可以通过下面两种方式中任何一个来启动

直接运行

bash 复制代码
./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

以服务形式运行

bash 复制代码
cd /etc/systemd/system
sudo vim enable redis_exporter.service

填入以下内容并保存

yaml 复制代码
[Unit]
Description=Redis Exporter Service

[Service]
ExecStart=/home/fangliang/redis_exporter/redis_exporter
Restart=always

[Install]
WantedBy=multi-user.target

启动服务

bash 复制代码
sudo systemctl enable redis_exporter.service 
sudo systemctl start redis_exporter.service 

安装启动Prometheus

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

创建用户

bash 复制代码
sudo groupadd --system prometheus
sudo useradd -s /sbin/nologin --system -g prometheus prometheus

下载并解压

bash 复制代码
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

修改配置

bash 复制代码
cd prometheus-2.52.0.linux-amd64
vim prometheus.yml

新增如下内容

yaml 复制代码
  - job_name: redis_exporter
    static_configs:
    - targets: ['172.23.131.103:9121']

启动

bash 复制代码
mkdir tsdb 
./prometheus --config.file ./prometheus.yml --storage.tsdb.path=./tsdb --web.listen-address="0.0.0.0:9090"  

安装启动grafana

安装

bash 复制代码
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

启动

bash 复制代码
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/

参考资料

相关推荐
last_zhiyin1 小时前
Oracle sql tuning guide 翻译 Part 6-4 --- Hint使用准则和Hint使用报告
数据库·sql·oracle·sql tunning
chenchihwen1 小时前
AI代码开发宝库系列:FAISS向量数据库
数据库·人工智能·python·faiss·1024程序员节
小光学长2 小时前
基于Vue的课程达成度分析系统t84pzgwk(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
前端·数据库·vue.js
摇滚侠2 小时前
全面掌握PostgreSQL关系型数据库,备份和恢复,笔记46和笔记47
java·数据库·笔记·postgresql·1024程序员节
周杰伦fans3 小时前
Navicat - 连接 mysql 、 sqlserver 数据库 步骤与问题解决
数据库·mysql·sqlserver
Arva .3 小时前
Redis面试
redis
码以致用3 小时前
StarRocks笔记
数据库·starrocks·olap·1024程序员节
auspicious航4 小时前
PostgreSQL数据库关于pg_rewind的认识
数据库·postgresql·oracle
武子康4 小时前
Java-159 MongoDB 副本集容器化 10 分钟速查卡|keyfile + –auth + 幂等 init 附 docker-compose
java·数据库·mongodb·docker·性能优化·nosql·1024程序员节
zz-zjx5 小时前
MySQL 索引深度指南:原理 · 实践 · 运维(适配 MySQL 8.4 LTS)
运维·数据库·mysql