本文目录导航:
- load setup defaults设置YES后进不了系统 重装系统也装不了,怎样办啊??? 急急急急
- edis为什么不能从新授权
- 记一次性因 Redis 经常使用不当造成运行卡死 bug 的排查及处置!
load setup defaults设置YES后进不了系统 重装系统也装不了,怎样办啊??? 急急急急
BIOS Setup Utility (主板的BIOS设置程序) config (性能)>edis为什么不能从新授权
因性能不当就有或许造成edis未授权访问。
Redis未授权访问是由于一些Redis服务绑定到公共接口,所以edis不能从新授权的话就须要从新设置下。
记一次性因 Redis 经常使用不当造成运行卡死 bug 的排查及处置!
内网sandbox环境API继续一周产生运行卡死现象,一切API无照应。
最后重启运行后疑问缓解,但起初疑问愈发频繁,引发共事不满。
开局疑心是代码疑问,启动排查。
发现本地IDE未显示疑问,运行卡死时期数据库、Redis均反常运转,无心外日志。
疑心是测试环境疑问。
经过口头top命令检查主机形态,口头top -H -p 定位占用资源较高的线程,经常使用jstack检查堆内存状况。
观察线程形态,口头redis命令时发现局部线程处于lock形态。
尝试dump疑问进程堆内存,并在debug形式下重启测试环境运行。
疑问再现时,运维人员将疑问运行移除,远程debug tomcat。
轻易选用接口,在API入口断点未触发,沉着后在接口前的AOP处设置断点,发现API期待服务照应。
在口头redis命令时卡住。
审核Jedis代码,发现()后线程开局wait,return外部池中borrowObject()的代码造成疑问。
发现性能MaxWaitMillis未设置,性能后仍存在疑问。
继续追踪,发现少量http-nio线程处于waiting形态。
经过thread命令发现少量线程期待监禁锁的对象53e5504e,口头jstack全局搜索未找到该对象。
确认疑问要素源于Redis衔接失掉疑问。
性能失掉衔接超时时期,期待疑问复现,经过tomcat accesslog发现少量API恳求产生500失误。
追踪初次产生500失误的位置,发现()()失掉pool中的redisConnection后未启动后续操作。
Redis衔接被租赁但未监禁或退还到衔接池,造成pool中的redisConnection形态未回到idle形态。
剖析要素,spring的stringRedisTemplate对Redis惯例操作启动封装,不允许某些不凡命令,须要经过Jedis衔接启动。
经常使用不当或许造成疑问。
倡导正当性能Redis pool,防止产生疑问无失误日志、无报错的状况。
同时,防止经常使用keys命令,正当性能pool以提高疑问定位效率。
总结,经过排查发现Redis衔接失掉疑问造成运行卡死。
主要在于正当性能和经常使用Redis pool,防止经常使用不当引发的暗藏疑问。