zoukankan      html  css  js  c++  java
  • Linux服务器的性能调优实战篇CentOS6最小化安装后的优化

    一、CentOS6.8 X86_64 最小化安装后的优化

    用服务器使记得一个原则,系统安装的应用包最小化,服务器越稳定。

    (1)系统的基础优化

      1)更新yum官方源

      为了让Centos6.8系统使用速度更快的更新源,运维人员都会选择更换源,一般会原则网易的更新源。

      #wget http://mirrors.163.com/ .help/CentOS6-Base-163.repo    下载repo文件

      # cd /etc/yum.repos.d/

      # mv CentOS-Base.repo CentOS-Base.repo.bak      备份repo文件

      # mv CentOS6-Base-163.repo CentOS-Base.repo    替换repo文件

      # yum clean all      清理yum缓存

      # yum makecache      重建缓存

      # yum update        升级Linux系统

      # wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm  增加epel源,下载rpm文件

      # rpm -ivh epel-release-6-8.noarch.rpm

      # # yum -y install gcc gcc-c++ vim-enhanced unzip unrar sysstat    安装gcc基础库及sysstat工具

      # yum install yum-priorities -y    安装yum-priorities源

      # yum install yum-priorities

      确保文件里面有如下内容:

      [main]

      enabled = 1

      2)关闭不需要的服务

      好处是可以减少内存和cpu的资源占用。

      # ntsysv    列出需要启动服务,其他根据实际情况关闭

      crond      计划任务

      network     网络服务,不开启无法上网

      sshd       ssh服务守护进程

      rsyslog      日志服务

      3)关闭不需要的TTY(需要重启机器)

      # vim /etc/init/start-ttys.conf

        env ACTIVE_CONSOLES=/dev/tty[1-2]      改为1-2

      # vim /etc/sysconfig/init

        ACTIVE_CONSOLES=/dev/tty[1-2]        改为1-2

      4)对TCP/IP网络参数进行调整

      # echo 'net.ipv4.tcp_syncookies = 1'>>/etc/sysctl.conf

      5)修改SHELL命令的history记录个数

      # vim /etc/profile

      HISTSIZE=100      根据实际工作环境修改

      source /etc/profile

      6)定时校正服务器的时间

      # yum install -y ntp

      # crontab -e

        0 1 * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1

      7)停止IPv6网络服务(如需安装LVS服务建议略过此优化项)

        # echo "IPV6INIT=no" >> /etc/sysconfig/network-scripts/ifcfg-eth0       禁用基于ipv6网络,使之不会被触发启动

      8)调整修改文件描述符限制

        # vim /etc/security/limits.conf      修改用户级限制

         * soft nofile 65535

         * hard nofile 65535

        # echo "fs.file-max=419430" >> /etc/sysctl.conf    修改系统限制

        # sysctl -p

      9)正确启动网卡

        # vim /etc/sysconfig/network-scripts/ifcfg-eth0 

        DEVICE=eth0
        TYPE=Ethernet
        ONBOOT=yes          系统引导就启动网卡设备,记得改为yes
        NM_CONTROLLED=yes
        BOOTPROTO=none
        IPADDR=10.0.0.7
        NETMASK=255.255.255.0
        DNS2=8.8.8.8
        GATEWAY=10.0.0.254
        DNS1=202.106.0.20
        IPV6INIT=no
        USERCTL=no          不允许普通用户修改网卡
        IPV6INIT=no

      10)关闭磁盘I/O功能

        vim /etc/fstab    修改配置文件

       例如:/dev/sda5 /data/pics ext3 noatime,nodiratime 0 0

      11)修改SSH登录配置

        # sed -i 's@#PermitEmptyPasswords no@PermitEmptyPasswords no@g' /etc/ssh/sshd_config    禁止空密码登录

        # sed -i 's@#UseDNS yes@UseDNS no@g' /etc/ssh/sshd_config                  关闭SSH反向查询,以加快SSH访问速度

        # sed -i 's@#PermitRootLogin yes@PermitRootLogin no@g' /etc/ssh/sshd_config          禁止root远程登录(此优化会造成Xshell连不上)

      12)增加具有sudo权限的用户

        由于系统已经禁止root远程登录,因此需要一个具有sudo权限的用户,权限与root相当

        # visudo

        hkping  ALL=(ALL)   ALL

        hkping  ALL=(ALL)   NOPASSWD:ALL    进行sudo切换时不想输入密码加NOPASSWD

    (2)优化Linux下的内核TCP参数提高系统性能

      基础内核优化

        # vim /etc/sysctl.conf

        net.ipv4.tcp_fin_timeout =2

        net.ipv4.tcp_tw_reuse =1

        net.ipv4.tcp_tw_recycle =1

        net.ipv4.tcp_syncookies =1

        net.ipv4.tcp_keepalive_time =600

        net.ipv4.ip_local_port_range =4000 65000

        net.ipv4.tcp_max_syn_backlog =16384

        net.ipv4.tcp_max_tw_buckets =36000

        net.ipv4.route.gc_timeout =100

        net.ipv4.tcp_syn_retries =1

        net.ipv4.tcp_synack_retries =1

        net.core.netdev_max_backlog =16384

        net.ipv4.tcp_max_orphans =16384

        # /sbin/sysctl -p

        

        # sed -i 's@SELINUX=enforcing@SELINUX=disabled@g' /etc/selinux/config    关闭SELINUX

        # service iptables stop      关闭iptables

        # chkconfig iptables off      关闭iptables开机启动

  • 相关阅读:
    python高阶1--is 和==
    python基础知识 -- 输入与输出
    Linux忘记用户名密码
    pip 安装第三方库报错
    python读取ini文件(含中文)
    fiddler之手机抓包
    python接口测试之参数关联遇到的问题
    (十一)TestNG 其他使用技巧
    (十二)TestNG 生成测试报告
    (十) TestNG 多线程运行用例
  • 原文地址:https://www.cnblogs.com/hkping18/p/11587965.html
Copyright © 2011-2022 走看看