- 博客(34)
- 收藏
- 关注

原创 Mysql的语句执行很慢,如何分析排查?
如果系统资源使用率比较高,比如CPU,硬盘,那访问肯定会慢,如果你发现是Mysl占比比较高,说明Mysql的读写频率高,如果本身网站访问量不大,说明你的sql参数,sql语句查询慢导致df -h:终端中输入命令,将显示系统中每个分区的磁盘使用情况,包括已使用、可用和总容量。top :终端输入top 命令,每个进程的信息包括进程 ID(PID)、用户、CPU 使用率、内存使用率、进程名称等。你可以根据需要查看更多详细信息,例如进程的命令行参数、线程数等。
2024-07-12 22:17:56
3656
原创 nginx basic认证
有些网站会开启一个叫做basic认证的东西,basic认证叫做http基本认证,就是给我们的网站多一把锁,防止恶意访问,比如访问一些敏感后台路径等操作。比如我们搭建的那个游戏网站,我只想自己玩,不想让其他人玩,就可以加上个basic认证。首先生成一个叫做htpasswd的账号密码文件,有很多在线网站就能生成,如下。
2024-07-16 10:23:17
600
1
原创 redis删除策略和淘汰策略
Redis 是一种内存级,数据都存在内存中,但是针对于已经过期的数据,reids 不 会立刻删除只是会存储在中,当执行删除策略的时候,才会从 expires 中寻找对应的的地址,在存储空间中找到对应的数据进行删除。数据删除其实就是内存和 CPU 占用之间寻找平衡,CPU 才能去处理事情,针对过期数据,要进行删除的时候,一般有三种策略。
2024-07-15 15:51:06
2397
原创 redis查询慢,你们是如何排查优化的?(总结篇)
1,先进行基准测试,查看redis是否存在查询过慢情况,根据自己的情况而定2、检查网络连接是否出现延迟,数据丢包问题(可能性小3、开启慢查询日志,通过日志可以清楚知道哪些命令比较耗时,同时避免使用复杂O(N) 等命令4、查看是否写入了bigkey,避免写入bigkey5、查看是否出现大量集中的key过期,合适设置过期淘汰机制,监控expired_keys这一项,它代表整个实例到目前为止,累计删除过期 key 的数量,出现过多是进行及时处理。6、设置内存上限 maxmemory值,然后
2024-07-13 22:21:39
394
原创 redis 配置文件参数详解
Redis的配置文件是一个文本文件,通常名为redis.conf。以下是一些常见配置项的解释和示例:1、bind 127.0.0.1:绑定的主机地址2、 protected-mode ,默认是开启状态,一般不需要修改,可以保证服务的安全性。:默认是no,为前台运行。终止会话,则服务停止运行,所以我们需要改为yes,让redis可以在后台运行4、port 6379 指定Redis监听端口,默认端口为63795、protected-mode ,默认是开启状态,一般不需要修改,可以保证服务的安全性。
2024-07-13 21:56:46
4455
原创 redis查询慢,你们是如何排查优化的?(运维篇8)
你的业务应用,应该使用长连接操作 Redis,避免频繁的短连接。频繁的短连接会导致 Redis 大量时间耗费在连接的建立和释放上,TCP 的三次握手和四次挥手同样也会增加访问延迟。
2024-07-13 15:58:47
361
原创 redis查询慢,你们是如何排查优化的?(运维七)
首先,你需要查看 Redis 机器是否开启了内存大页:如果输出选项是 always,就表示目前开启了内存大页机制,我们需要关掉它:其实,操作系统提供的内存大页机制,其优势是,可以在一定程序上降低应用程序申请内存的次数。但是对于 Redis 这种对性能和延迟极其敏感的数据库来说,我们希望 Redis 在每次申请内存时,耗时尽量短,所以我不建议你在 Redis 机器上开启这个机制。
2024-07-13 15:55:28
476
原创 redia查询慢,你们是如何排查优化的?(运维篇6)
除了数据持久化会生成 RDB 之外,当主从节点第一次建立数据同步时,主节点也创建子进程生成 RDB,然后发给从节点进行一次全量同步,所以,这个过程也会对 Redis 产生性能影响。而且这个 fork 过程会消耗大量的 CPU 资源,在完成 fork 之前,整个 Redis 实例会被阻塞住,无法处理任何客户端请求。如果此时你的 CPU 资源本来就很紧张,那么 fork 的耗时会更长,甚至达到秒级,这会严重影响 Redis 的性能。,如果这个实例很大,那么这个拷贝的过程也会比较耗时。
2024-07-13 15:27:43
363
原创 redis查询慢,你们是如何排查优化的?(运维篇5)
一般最常使用的是 allkeys-lru / volatile-lru 淘汰策略,它们的处理逻辑是,每次从实例中随机取出一批 key(这个数量可配置),然后淘汰一个最少访问的 key,之后把剩下的 key 暂存到一个池子中,继续随机取一批 key,并与之前池子中的 key 比较,再淘汰一个最少访问的 key。而当实例的内存达到了 maxmemory 后,你可能会发现,在此之后每次写入新数据,操作延迟变大了。需要注意的是,Redis 的淘汰数据的逻辑与删除过期 key 的一样,
2024-07-13 15:10:25
1124
原创 redis查询慢,你们是如何排查优化的?(运维篇4)
如果是出现这种情况,那么你需要排查一下,业务代码中是否存在设置大量如果有大量的 key 在某个固定时间点集中过期,在这个时间点访问 Redis 时,就有可能导致延时变大。
2024-07-13 10:51:56
1122
原创 redis查询慢,你们是如何查询优化?(运维篇3)
从输出结果我们可以很清晰地看到,每种数据类型所占用的最大内存 / 拥有最多元素的 key 是哪一个,以及每种数据类型在整个实例中的占比和平均大小 / 元素数量。其实,使用这个命令的原理,就是 Redis 在内部执行了 SCAN 命令,遍历整个实例中所有的 key,然后针对 key 的类型,分别执行 STRLEN、LLEN、HLEN、SCARD、ZCARD 命令,来获取 String 类型的长度、容器类型(List、Hash、Set、ZSet)的元素个数。
2024-07-13 10:37:01
727
原创 redis查询慢,你们是如何排查优化的(运维篇2)
首先,第一步,你需要去查看一下 Redis 的慢日志(slowlog)。Redis 提供了慢日志命令的统计功能,它记录了有哪些命令在执行时耗时比较久。查看 Redis 慢日志之前,你需要设置慢日志的阈值。例如,设置慢日志的阈值为 5 毫秒,并且保留最近 500 条慢日志记录:设置完成之后,所有执行的命令如果操作耗时超过了 5 毫秒,都会被 Redis 记录下来。此时,你可以执行以下命令,就可以查询到最近记录的慢日志:通过查看慢日志,我们就可以知道在什么时间点,执行了哪些命令比较耗时。
2024-07-13 10:08:38
720
原创 redis查询慢,你们是怎么排查的?(运维篇1)
业务服务器到redis服务器之间存在网络线路质量不佳,网络数据包在传输时存在延迟、丢包等情况,优化网络。(这种情况出现概率一般很少)
2024-07-13 09:55:55
764
原创 Kafka配置讲解
############################# Server Basics ############################## broker的id,值为整数,且必须唯一,在一个集群中不能重复,默认为0broker.id=0############################# Socket Server Settings ############################## kafka默认监听的端口为9092#listeners=PLAINTEXT://:9092
2024-07-10 15:51:24
771
原创 Kafak生产消息测试
root@localhost ~]# cd kafka_2.12-2.3.0/bin/ #进去kafka的二进制程序目录[root@localhost bin]# ./kafka-console-producer.sh --broker-list localhost:9092 --topic test-topic #生产者生产消息 (可开一个窗口,模拟生产者)#生产者生产消息,是往topic里发送消息的,需要指明kafka地址和topic的名字...
2024-07-10 15:28:38
1009
原创 kafak主题创建
使用kafka自带命令创建两个主题Topic,名字为: test-topic 和 hello (存储和生产消息都是要发到相应的主题里)
2024-07-10 15:18:29
1016
原创 Kafak单机安装
zk需要jdk环境上传zk安装包并解压[root@localhost zookeeper-3.4.13]# mkdir data #在解压目录创建一个存储zookeeper数据的data目录dataDir=../data #修改zk的数据存储目录clientPort=2181 #zk的端口号进入bin目录#启动zk查看zk启动状态,目前是单机运行模式有进程。
2024-07-10 14:51:38
773
原创 Kafka介绍
Kafka是一个分布式的发布/订阅消息系统,最初由LinkedIn(领英)公司发布,使用Scala语言编写,后成为Apache的顶级项目。主要用于处理活跃的数据,如登录、浏览、点击、分享等用户行为产生的数据。
2024-07-10 13:41:19
389
原创 redis主从复制之层层链路
在80输入 SLAVEOF 127.0.0.1 6379,即可形成上面的连接方式。命令:在81输入SLAVEOF 127.0.0.1 6380。这个时候也可以完成我们的主从复制。
2024-07-03 16:54:45
348
原创 redis持久化之AOF
将我们的所有的命令都记录下来,history,恢复的时候就把这个文件全部在执行一遍!以日志的形式记录每个写操作,将redis执行过的所有指令记录下来(读操作不会记录xue),只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换言之,redis重启的时候就根据日志文件的内容将写指令从前到后执行一次完成数据的恢复工作Aof保存的类型是appendonly.aof文件。
2024-06-24 16:18:12
272
原创 redis持久化之RDB
为什么需要持久化?redis数据时存在内存当中,如果没有持久化那么断电及失redis共有两种内存方式:RDB(快照)、AOF(二进制文件)
2024-06-22 21:22:46
317
原创 redis实现乐观锁
正常执行成功:解释一下意思:设置一个key为money 赋予100元,用watch监视这个money,花出去20元,exec最后剩80证明多线程测试修改值,使用watch可以当redis乐观锁操做另外一个线程。
2024-06-22 17:10:10
131
原创 Nginx动态压缩gzip
要压缩哪个网站就在相对的网站下开启gzip模块 在nginx.conf中设置gzip on;# 开启gzip压缩# 设置缓冲区大小# 设置压缩等级 1-9# 禁止哪些浏览器不使用压缩# 设置压缩所需要的最低的http版本。# 设置响应的数据最小限制,在这个限制之后再回进行压缩# 增加一个header ,适用于老的浏览器 Vary:Accept-Encoding# 无条件启动压缩# 哪些mime类型的文件进行压缩gzip_types。
2024-06-22 14:28:29
773
原创 Nginx负载均衡
(1)浏览器地址栏输入地址 http://192.168.17.129/edu/a.html,负载均衡效果,平均到 8080和8081 端口中。
2024-06-22 09:56:12
858
原创 Nginx反向代理案列1(tomcat和nginx安装在同一主机上)
打开浏览器,在浏览器地址栏输入地址 www.123.com,跳转到 liunx 系统 tomcat 主页面中。
2024-06-20 23:09:57
580
1
原创 Nginx常用命令及配置文件详解
执行前提:进入 nginx 目录中进入命令:cd /usr/local/nginx/sbin查看版本号./nginx -v启动nginx./nginx停止nginx重新加载nginx。
2024-06-20 21:43:07
787
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人