调优小记与面试应答方向

提问:优化怎么做?

答:从三方面入手,系统,架构,应用

1.系统

硬件优化:CPU,内存,外存,网络

内存:
    查看命令:vmstat,sar
    关注点:
        id=idle,空闲。id=0说明满载。
        sy=system,过高就从系统方面排查
        us=userd,过高就从应用层面排查
        st=stolen,过高就从虚拟化方面排查
    优化:
        横向变多:负载分担
        纵向变强:更换硬件
        微调:进程优先级nice,进程核心捆绑taskset,不建议使用

内存:
    查看命令:free,vmstat
    优化:
        横向变多:负载分担
        纵向变强:更换硬件
        微调:swap空间使用积极性swappiness

外存:
    查看命令:iostat 
    关注点:
        await等待时间长
        avgqu-sz请求队列长
    优化:
        横向变多:raid,lvm,分布式
        纵向变强:更换硬件
        调度算法scheduler:
            按序noop,会绕道
            按近cfq,会饿死
            deadline,折中

网络:    
    关注点:
        检查网卡:mii-tool ens33
        网卡负载:sar -n DEV
        IP冲突:arp -a -n |grep 10.1.1.12
        网卡工作模式:ethtool ens33
    优化:
        横向变多:负载分担
        纵向变强:加带宽
        防DDOS攻击:ss -s或netstat -nt,关注timewait和synrecv过多

紧急应对ddos方案:
1.临时关机
2.编写一个shell脚本

#!/bin/bash

touch /tmp/denyiplist.txt

netstat -nt |awk '$NF~"SYN_RECV" {print $0}' | grep :80 |awk -F: '{print $8}' |sort |uniq -c |awk '$1>10 {print $2}' |while read ip
do
        grep $ip /tmp/denyiplist.txt &> /dev/null
        if [ $? -ne 0 ];then
        iptables -A INPUT -p tcp --dport 80 -s $ip -j REJECT
        echo "$ip" >> /tmp/denyiplist.txt
at now + 1 days << EOF
iptables -D INPUT -p tcp --dport 80 -s $ip -j REJECT
sed -i "/$ip/"d /tmp/denyiplist.txt
EOF
        fi
done

内核优化:略

 

2.架构

架构优化:
    高可用与分布式
         主:OSPF => 负载均衡机 => web服务器(分布式存储)=> redis服务 => mycat读写分离 => mysql
         副:日志存储,监控机,跳板机,CICD。

3.应用

只能具体问题具体分析。。

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值