AIOps 一场颠覆传统运维的盛筵
772
2022-09-29
孝忠的运维之路(进阶一)
老习惯,依然在北京向各位带好!愿各位在五月怒马前行。
没有相当程度的孤独,就不可能有内心的平和。前不久,还在位于青海省海西蒙古族藏族自治州乌兰县茶卡镇南侧的天然结晶盐湖——茶卡盐湖,无忧无虑地享受假期生活,突然公司带给我一个噩耗,线上服务器奔溃了。我没有选择,LZ只能孤军作战。
分析得出:由于项目发版在线用户同时更新应用导致服务器连接数过大,使某一个时刻线上服务器的CPU利用率、内外网宽带和内存使用率等都爆满了。
导致整个服务器挂掉之后重启,以致于所有Tomcat进程、MySQL数据库和Redis缓存服务等相关模块都停止工作了,这时候我别无选择,只能挨个手动重启,就在这过程中我又经历了漫长的等待,平均一个Tomcat重启成功需要等待5/6分钟(总共有8个),LZ更奔溃了,所以这次真的要回应了,下面都是一点简单粗暴的解决手法与各位共勉,望各位能够使得顺手。
优化Tomcat启动速度设置Tomcat、MySQL和Redis开机自启Linux常用命令清单
优化Tomcat启动速度
经日志查看找出这么一段:
主要原因就是Tomcat在启动时会生成一个Session ID,这个Session ID是通过SHA1算法计算得到的,计算Session ID的时候必须有一个密钥,为了提高安全性Tomcat在启动的时候是通过随机数生成这个密钥的。所以本次Tomcat启动耗时是根据随机数生成密钥引起的。
解决方案:
1、从根本上解决。
拖慢Tomcat生成密钥的根本问题是由于熵池不够大,所以增大它是最彻底的方法。使用rngd 软件增大熵池:
grep rdrand /proc/cpuinfo #需要cpu支持 yum install rng-tools #安装rngd服务(熵服务,增大熵池) systemctl start rngd # 启动服务
2、从JVM环境上解决。
vim $JAVA_HOME/jre/lib/security/java.security
3、配置Tomcat的内存分配(这只是性能调优,可以不做)。
请参考博客:http://cnblogs.com/1315925303zxz/p/7274895.html
自定义服务开机自启
1、Tomcat开机自启
编辑:vim /etc/rc.d/rc.local添加如下内容。
2、Redis开启自启
编辑:redis.conf修改如下内容,主要目的是为了确保守护进程开启,也就是在后台可以运行。
然后执行命令即可:chkconfig redis on
Linux必备命令清单
1、查看正在运行的某个进程:
ps aux | grep tomcat
2、实时查看Tomcat的运行日志:
cd tomcat安装目录/logs/
tail -f catalina.out
3、查看某应用服务是否已经安装:
rpm -qa | grep mysql
4、解压.tar.gz包:
tar -zxvf XXX.tar.gz
5、删除目录:
rm -rf XXX
6、删除文件:
rm -f file
7、上传本地文件或目录到终端中(上传的目的路径可以通过第三方工具SecureCRT配置)
rz
8、下载终端文件到本地(下载的目的路径可以通过第三方工具SecureCRT配置)
sz filename
9、查看某端口是否被占用:
netstat -tunlp | grep 端口号
lsof -i:端口号
10、杀死指定进程:
kill -9 PID(端口号)
11、每隔2秒监控CPU和内存使用情况:
top -d 2
12、搜索:
find 搜索范围 -name filename
whereis 可执行文件/系统命令/二进制文件
发表评论
暂时没有评论,来抢沙发吧~