陈皓写的性能调优


一.io瓶颈:
iostat -d -k 1 10
-d显示磁盘使用情况
-k表示单位为k,
1表示1秒刷新1次
10表示共显示10次

disk0               disk2 
    KB/t  tps  MB/s     KB/t  tps  MB/s 
   84.52    4  0.30  1694.13    0  0.00 

二.内存瓶颈:
free、vmstat检测是否是内存瓶颈

三.网络带宽瓶颈:
tcpdump

可能会存在web服务器,大量time_wait连接。
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=1

调整tcp接收及发送缓存区:
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216

涉及外部系统调用,要配置域名对应ip,否则会发生dns查询,很耗时。

udp可替换允许丢失少量数据包的业务。比如日志相关的监控数据。
网卡缓存调优。

四.系统调优:
io多路复用,epoll。

cpu核处理程序负载均衡。
taskset

五.文件系统调优:
free命令查看,
free/used/buffers/cached

六.数据库调优:
引擎调优,使用支持行锁的innodb。

索引调优:
走索引,避免全表扫描。

尽量避免filesort。filesort原因在于where走的索引和order by 不是一个字段。

避免多表join。

字符串操作。能用int数值就尽量用,底层索引一般是b+树,如果是字符串比较则要比较所有字符。
时间不要存储成字符串。








猜你喜欢

转载自blog.csdn.net/zhaozhenzuo/article/details/77149194