故障处理 | 网站500,无法打开站点(突然无法打开,代码和服务器没做调整)

故障详情

晚上3点接到监控报警,网站状态码出现500无法正常访问。

处理详情

故障分析

出现500故障,当时首先想到的可能是php出问题了,马上登录到服务器上面,检查php错误日志。发现php一直重复报这个错误:

PHP Fatal error:  Uncaught exception 'RedisException' with message 'OOM command not allowed when used memory > 'maxmemory'.'

看到这个报错,基本上可以定位是redis内存不够,无法继续存储key的原因。执行命令查看redis配置相关信息:

redis-cli -p 6379 info memory
# Memory
used_memory:134315344                
used_memory_human:128.09M        #表示已用内存
used_memory_rss:148828160           #表示系统给redis分配的内存(即常驻内存)
used_memory_rss_human:141.93M
used_memory_peak:1030100224
used_memory_peak_human:982.38M
total_system_memory:8202334208
total_system_memory_human:7.64G
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:1000000000                  #设置最大内存值
maxmemory_human:1.86G
maxmemory_policy:volatile-lru           #redis存储策略
mem_fragmentation_ratio:1.11
mem_allocator:jemalloc-4.0.3
解决方法

修改redis配置,增大redis最大内存,修改redis 存储策略

maxmemory:2000000000  
maxmemory_policy:allkeys-lru

知识拓展

你可能感兴趣的:(运维故障案例)