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/

参考资料

相关推荐
容器( ु⁎ᴗ_ᴗ⁎)ु.。oO15 分钟前
MySQL事务
数据库·mysql
cyt涛2 小时前
MyBatis 学习总结
数据库·sql·学习·mysql·mybatis·jdbc·lombok
Rookie也要加油2 小时前
01_SQLite
数据库·sqlite
liuxin334455663 小时前
教育技术革新:SpringBoot在线教育系统开发
数据库·spring boot·后端
看山还是山,看水还是。3 小时前
MySQL 管理
数据库·笔记·mysql·adb
fishmemory7sec3 小时前
Koa2项目实战2(路由管理、项目结构优化)
数据库·mongodb·koa
momo小菜pa4 小时前
【MySQL 09】表的内外连接
数据库·mysql
Jasonakeke4 小时前
【重学 MySQL】四十九、阿里 MySQL 命名规范及 MySQL8 DDL 的原子化
数据库·mysql
程序猿小D4 小时前
第二百六十九节 JPA教程 - JPA查询OrderBy两个属性示例
java·开发语言·数据库·windows·jpa
小宇成长录4 小时前
Mysql:数据库和表增删查改基本语句
数据库·mysql·数据库备份