Linux系统性能调优一

Linux系统性能调优

性能调优思路

调优思路与方法

#procfs

persist in  /etc/sysctl.conf or /etc/rc.d/rc.local

sysctl operates against a subset of /proc/sys

#sysfs

persist in /etc/rc.d/rc.local

   Finding writable files

   find /proc/sys -perm/200 -type f > /tmp /tunables

 

 

性能优化需求的提出

性能优化需求的提出现象:

       1、前台访问很慢,请帮忙分析一下;

       2、用户对性能很不满意,再不解决就要投诉或退货;

       3、数据库负载很重,请帮忙分析一下;

       4、某某功能打开需要1分钟,请帮忙分析一下。

进一步深挖问题:

        5、系统性的问题?比如CPU利用率,swap利用率或者IO过高导致的整提性能下降;

        6、功能性问题? 整体性能良好,个别功能时延很长;

        7、新出问题? 什么时候开始的,之前系统有哪些改动?(升级或者管理的资源大量增加);

        8、不规律问题?时快时慢,没有特定规律。

     还有性能快慢的衡量标准是什么?原来是多少秒,现在是多少秒,目标是多少秒?只有上述问题得到了准确的回答,优化工作才能开始。

Linux性能分析的目的

        1、找出系统性能瓶颈(包括软硬件瓶颈);

        2、提供性能优化的方案(升级硬件?改进系统结构?);

        3、达到合理的硬件和软件配置;

        4、使系统资源使用达到最大的平衡。

性能分析的步骤

1、需要系统监控工具和性能分析工具

        #对资源的使用状况进行长期的监控和数据采集(nagios、cacti、ganglia、zabbix)

        #使用常见的性能分析工(vmstat、top、htop、iotop、free、iostat等等)

        # 实战技能和经验积累。

2、出现性能问题的可能原因

        # 应用程序设计的缺陷和数据库查询的滥用最有可能导致性能问题

        # 性能瓶颈可能是因为程序差/内存不足/磁盘瓶颈,但最终表现出的结果就是CPU耗尽,系统负载极高,响应迟钝,甚至失去响应,宕机了。

        # 物理内存不够实惠实用交换内存,实用swap会带来磁盘io和cpu的开销。

        # 可能造成CPU瓶颈的问题: 频繁执行perl、php、java程序生成动态web;数据库查询大量的where字句、order、by/group by排序.....

        #可能造成内存瓶颈的问题: 高并发用户访问,系统进程多,java内存泄漏......

        #可能造成磁盘IO瓶颈的问题:生成cache文件,数据库频繁更新,或者查询大表....

影响Linux性能的因素

系统硬件资源

1、CPU

       cpu是操作系统稳定运行的根本,CPU的速度与性能在很大程度上决定了系统整体的性能,因此,cpu数量越多、主频越高,服务器性能也就相对越好。

2、内存

       内存的大小也是影响linux性能的一个重要因素,内存太小,系统进程将被阻塞,应用也将变得缓慢,甚至失去响应;内存太大,导致资源浪费。Linux系统采用了物理内存和虚拟内存两种方式,

虚拟内存虽然可以缓解物理内存的不足,但是占用过多的虚拟内存,应用程序的性能将明显下降,要保证应用程序的高性能运行,物理内存一定要足够大。

       可能出现内存性能瓶颈的应用有redis内存数据库服务器、cache服务器、静态服务器等,对于这类应用要把内存大小放在主要位置。

3、磁盘I/O性能

       磁盘的I/O性能直接影响应用程序的定能,在一个有频繁读写的应用中,如果磁盘I/O性能得不到满足,就会导致应用停滞。好在现今的磁盘都采用了能多方法来提高I/O性能,比如常见的磁盘

raid技术。raid0、1、5、0+1等。

4、网络带宽

        网络带宽也是影响性能的一个重要因素,低速的、不稳定的网络将导致网络应用程序的访问阻塞,而稳定、高速的网络带宽,可以保证应用程序在网络上畅通无阻的运行。幸运的是现在的网络一

般都是千兆带宽或光纤网络。带宽问题对应用程序性能造成的影响也在逐渐降低。

        组建网络时,如果局域网内有大量数据传输需求(Hadoop大数据业务、数据库业务),可采用千兆、万兆网络接口,针对每个服务器,如果每个单网卡效率不够,可采用双网卡绑定技术,提高网

卡数据传输带宽和性能。

系统性能分析工具

性能调优分析工具

tuned工具

centos安装方法:

# yum -y install tuned

# rpm -ql tuned  //检索tuned在什么位置

# cd /usr/lib/tuned 

tuned功能:

                   balanced :负载均衡   hpc-compute    network-throughput :网络吞吐量  throughput-performance:吞吐量-高性能
                   desktop :桌面   latency-performance :低延时-高性能 powersave:省电模式        virtual-guest 优化虚拟化客户机
                   functions  network-latency  网络低延时     virtual-host 优化虚拟化主机

静态调优方法:

  1. tuned-adm list  // 列出所有的默认的调优策略

  2. tuned-adm active  //查看现在生效的调优策略

  3. tunde-adm recommand  //查看tuned目前推荐使用的策略

  4. tuned-adm profile 方案名称   // 修改调优方案,使用新的调优策略

  5. tuned-adm off   //关闭调优策略

例:把网络调低延时

# tuned-adm profile network-latency

动态调优方法:

首先要准备一块模板。

 # cp -r throughput-performance/ yzy //复制到yzy文件下,编辑yzy目录下的tuned.conf文件

# vim tuned.conf

iostat工具

# iostat

Linux 3.10.0-862.el7.x86_64 (localhost.localdomain)     2020年11月19日     _x86_64_    (4 CPU)  从左往右  内核版本   日期    框架    CPU个数

avg-cpu:  %user   %nice %system %iowait  %steal   %idle   从左到右   //用户占用率  
                  0.07    0.02       0.12     0.01         0.00       99.78

#iostat -d 1    //实时监控 -d代表disk磁盘  1为1秒 后面加一个5的话就是连续执行5次停止。 iostat -d 1 5 /dev/sda

系统性能分析标准

性能调优的主要目的是使系统能够有效的利用各种资源,最大化的发挥应用程序和系统之间的性能融合,是应用高雄啊、稳定的运行。但是,衡量系统资源利用率好坏的标准没有一个严格的定义,针对不同的系统和应用也没有一个统

一的说法。因此,这里提供的标准其实是一个经验值,下面给出了判断系统资源利用状况的一般准则:

其中:

 %user:表示cpu处在用户模式下的时间百分比(占用率)

%sys:表示cpu处在系统模式下的时间百分比 

%iowait:表示cpu等待输入输出完成时间的百分比

swap in:即si,表示虚拟内存的页导入。即从swap disk交换到ram。

swap out:即so,表示虚拟内存的页导出,即从ram交换到swap disk。

磁盘调度算法

deadline 最终期限 500ms 下一个IO 更适合小IO

AS 猜想时间 6ms 500ms 下一个IO是否连续 大IO

cfq 完全公平原则 默认 不好也不坏

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值