简介 Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器. 2工作原理 Layer3,4&7工作在IP/TCP协议栈的IP层,TCP层,及应用层,原理分别如下: Layer3:Keepalived使用Layer3的方式工作式时,K…
昨晚通宵生产压测,终于算是将生产服务宕机的原因定位到了,心累.这篇博客,算作一个复盘和记录吧... 先来看看Redis的缓存淘汰算法思维导图: 说明:当实际占用的内存超过Redis配置的maxmemory时,Redis就会根据用户选择淘汰策略清除被选中的key. 业务场景:用户通过微信入口来访问一个页面: 测试场景:通过多线程模拟定量的并发来访问页面服务: 涉及架构:springsession+Redis集群,容器部署: 问题描述:固定并发数压测10分钟,压测开始后半小时,Redis连接数激增,…
摘要:已经上线的项目,出现服务挂掉的情况. 介绍:该服务是专门做打印的,业务需求是生成PDF文件进行页面预览,主要是使用ItextPDF+freemaker技术生成一系列PDF文件,其中生成流程有:解析模板生成临时PDF文件--->在临时PDF文件上注入文本和签名域--->旋转页面--->合并生成的多个PDF文件--->删除全部临时文件. 由于该业务生成的文件只是用来预览,不做保存,所以需要生成后就要删除.而每次生成的文件都是放在一个临时文件夹下,临时文件夹一开始我是根据建议书ID…
1. 问题:怎么给线上表加字段? 工作中最常遇到的问题,怎么给线上频繁使用的大表添加字段? 比如:给下面的用户表(user)添加年龄(age)字段. CREATE TABLE `user` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '主键', `name` varchar(100) DEFAULT NULL COMMENT '姓名', PRIMARY KEY (`id`) ) ENGINE=InnoDB COMMENT='用户表'; 有同学会说,这还不…
主要核心思想,如果master 和 salve 全部存活的情况,VIP就漂移到 master.读写都从master操作,如果master宕机,VIP就会漂移到salve,并将之前的salve切换为master,当宕机的master可以继续服务的时候,首先会从salve同步数据,然后VIP漂移到master服务器上面,持续提供服务. 环境准备: master:redis 19020:redis 19021:keepalived:ip 192.168.28.139 slave :redis 1902…
几台WEB服务器经常宕机,平时运行得好好的,负载也都在2以下,偶尔会突然负高上去就宕机,init 6也无法重启成功 只能echo 'b'>/proc/sysrq-trigger 硬重启才行,dmesg 没发现硬件方面有问题. 从top相关信息来看,每次宕机现象都是系统内核态占用非常高,相关nginx,php-cgi进程虽然不僵死但无法kill 每次宕机都会有kswaped0进程出现,但是从free上来看,内存还是有空闲,swap用得也并不多 top - 22:26:02 up 3 days,  …
背景 在java服务项目上线之后经常会出现宕机的情况 常见原因 内存溢出 1.查到服务进程号 [root@wms ~]# ps -ef|grep java root 6399 6069 0 08:57 pts/2 00:00:00 grep --color=auto java root 25374 1 0 Oct17 ? 00:21:19 /usr/local/jdk/jre/bin/java -Djava.util.logging.config.file=/home/tomcat-wmsweb…
这次网站的故障出现的比较突然,没有任何防备,有种突如其来的感觉.这是一台阿里云服务器,采用wdcp的nginx+apache+mysql的方式运行.一位同事在对web目录进行压缩后,由于web目录有很多图片,导致压缩包很大.如果全部压缩的话在4G左右,如果在龟速的网络下,全部压缩下载是个非常痛苦的事情.由于是在wdcp的管理界面中进行的压缩,点击全部压缩后整个web应用都没反应,过了一会干脆直接访问不了.由于web访问页面无法打开,wdcp也访问不了,于是尝试直接用SecureCRT连服务器.可…
#!/bin/sh #date:2015-12-07 #filename:check_web.sh #作者:lixingli #Email:1162572407@qq.com #version:v1.0 while true do #pidfile=`cat /application/nginx/logs/nginx.pid` #status_code=`curl -s -w "%{http_code}" -o /dev/null 192.168.0.160` port=`netsta…
http://blog.51cto.com/gdutcxh/2109841 https://blog.csdn.net/winsonyuan/article/details/52784988…