日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
CentOS6與CentOS7詳細對比:常見設(shè)置、服務(wù)管理、性能測試

 本主題將從3個角度進行對比

我們一直強調(diào)做網(wǎng)站、成都做網(wǎng)站對于企業(yè)的重要性,如果您也覺得重要,那么就需要我們慎重對待,選擇一個安全靠譜的網(wǎng)站建設(shè)公司,企業(yè)網(wǎng)站我們建議是要么不做,要么就做好,讓網(wǎng)站能真正成為企業(yè)發(fā)展過程中的有力推手。專業(yè)的建站公司不一定是大公司,創(chuàng)新互聯(lián)作為專業(yè)的網(wǎng)絡(luò)公司選擇我們就是放心。

    1. 常見設(shè)置(centos 6 vs CentOS 7)

    2. 服務(wù)管理(Sysvinit vs Upstart vs Systemd)

    3. 性能測試(cpu/mem/io/oltp)

環(huán)境說明

硬件

  • 服務(wù)器: Dell PowerEdge R620
  • CPU: E5-2620 v2 @ 2.10GHz * 2
  • MEM: 8G DDR3 1333 MHz * 4
  • DISK: 300G SSD * 1
  • BIOS: 默認

系統(tǒng)

  • CentOS 6: CentOS 6.10 (2.6.32-754.el6.x86_64)
  • CentOS 7: CentOS 7.5 (3.10.0-862.el7.x86_64)

一. 常見設(shè)置

1. 字符集

CentOS 6

  • 方法: /etc/sysconfig/i18n

CentOS 7

  • 方法1: localectl set-locale.utf8
  • 方法2: /etc/locale.conf`中的LANG=

2. 主機名

CentOS 6

  • 在線生效: hostname
  • 重啟生效: /etc/sysconfig/network中的HOSTNAME=

CentOS 7

  • 在線+重啟生效: hostnamectl set-hostname

3. 時區(qū)

CentOS 6

  • 方法: ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

CentOS 7

  • 方法1: 同CentOS 6
  • 方法2: timedatectl set-timezone Asia/Shanghai

4. 時間同步

CentOS 6

  • 逐步: ntpd或ntpdate
  • 直接: ntpdate -b(通常加到crontab)

CentOS 7

  • 方法1: systemctl start chronyd
  • 方法2: timedatectl set-ntp yes(同systemctl start chronyd)

可以通過timedatectl | grep "NTP synchronized"判斷當前時間是否已同步

不建議用ntpd和ntpdate,RedHat強烈推薦chrony,可用于網(wǎng)絡(luò)不穩(wěn)定的環(huán)境 chrony.conf關(guān)鍵參數(shù)

makestep 1.0 -1 ntpd和chronyd區(qū)別

5. 手動更改時間

CentOS 6

  • 方法: date -s "2018-07-08 11:11:11"

CentOS 7

  • 方法1: 同CentOS 6
  • 方法2: timedatectl set-time "2018-07-08 11:11:12"(前提是timedatectl set-ntp false)

6. 單用戶修改密碼

CentOS 6: grub界面鍵入 e,在 kernel行最后加 1,鍵入 b啟動進入單用戶模式,之后輸入 passwd修改密碼

CentOS 7: grub界面鍵入 e,在 linux16行上將 ro改為 rw,并在當前行最后加 init=/bin/sh,鍵入 ctrl-x進入,之后輸入 passwd修改密碼

  • 如果有開啟selinux,則需要在修改密碼后,重啟前,執(zhí)行 touch/.autorelabel
  • passwd執(zhí)行后,最好執(zhí)行sync,防止強制重啟導(dǎo)致修改密碼沒有落地

7. grub添加參數(shù)

CentOS 6:

    • /boot/grub/grub.conf的kernel中加入需要添加的參數(shù)

CentOS 7:

    • 步驟1:/etc/default/grub的GRUBCMDLINELINUX中加入需要添加的參數(shù)

    • 步驟2:grub2-mkconfig -o /boot/grub2/grub.cfg

8. 查看開機記錄

CentOS 6: last

CentOS 7: journalctl --list-boots或last

9. 修改啟動內(nèi)核

1.查看當前啟動內(nèi)核

  • CentOS 6: cat /boot/grub/grub.conf中的default
  • CentOS 7: grub2-editenv list

2.查看有哪些內(nèi)核

  • CentOS 6: cat /boot/grub/grub.conf | sed -n '/^title/s/^title //p'
  • CentOS 7: cat /boot/grub2/grub.cfg | grep '^menuentry' | awk -F"'" '{print $2}'

3.設(shè)置啟動內(nèi)核

CentOS 6:

  • 修改/boot/grub/grub.conf中的default

CentOS 7:

  • 步驟1:確保/etc/default/grub中的 GRUB_DEFAULT為saved
  • 步驟2:grub2-set-default 'CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)'

10. rc.local

執(zhí)行順序

  • CentOS 6: 串行的最后一個執(zhí)行
  • CentOS 7: 和其他服務(wù)并行執(zhí)行

可執(zhí)行權(quán)限

  • CentOS 6: 默認有可執(zhí)行權(quán)限
  • CentOS 7: 默認沒有可執(zhí)行權(quán)限(官方不推薦使用rc.local),需要自行增加(chmod +x /etc/rc.d/rc.local)

CentOS 7的注意事項

  • rc.local由rc-local.service執(zhí)行,由于systemd服務(wù)是并行執(zhí)行,僅能保證在network之后啟動,因此建議rc.local里增加sleep 10來盡可能在最后執(zhí)行
  • 需要在rc.local的最后一行增加exit 0,否則可能導(dǎo)致已啟動的進程被關(guān)閉(echo 'exit 0' >> /etc/rc.d/rc.local)
  • 建議盡量使用systemd來配置服務(wù),不要使用rc.local

11. limit配置

CentOS 6:

  • 全局設(shè)置: 沒有全局設(shè)置的方法(/etc/security/limits.conf僅針對使用pam的進程,且有加載pamlimits.so的模塊,因為limits.conf是pamlimits.so的配置文件)
  • 服務(wù)設(shè)置: 只能在服務(wù)啟動前設(shè)置ulimit,才能在啟動后看到效果

CentOS 7:

  • 全局設(shè)置: /etc/systemd/system.conf里DefaultLimitNOFILE=65535
  • 服務(wù)設(shè)置: [Service]里增加LimitNOFILE=65535

12. yum僅使用ipv4

CentOS 6: yum沒有自帶方法

CentOS 7: yum.conf里增加ip_resolve=4

13. 徹底禁用ipv6

CentOS 6和CentOS 7相同

  • 在grub上增加ipv6.disable=1

查看是否徹底關(guān)閉

  • sysctl -a | grep -i ipv6如果沒有任何輸出,則表示徹底關(guān)閉

14. 防火墻

CentOS 6

  • 默認開啟iptables服務(wù),只不過默認沒有條目

CentOS 7

  • 默認安裝并開啟firewalld服務(wù)
  • 默認不安裝iptables服務(wù)(yum install iptables-services)

15. NetworkManager

CentOS 6: 默認未安裝

CentOS 7: 默認安裝并啟動

16. 網(wǎng)卡名

CentOS 6:

  • 系統(tǒng)安裝完,默認是em1開始,這其實是在裝機完成時在udev里做的綁定
  • 把/etc/udev/rules.d/70-persistent-net.rules內(nèi)容清空,則恢復(fù)成eth0開始編號

CentOS 7:

  • 不再通過udev綁定網(wǎng)卡名,默認是em1開始,有的是eno、enp、ens等名字
  • 如果想恢復(fù)eth0,則/etc/default/grub里增加net.ifnames=0 biosdevname=0
  • 如果想讓CentOS 6的網(wǎng)卡名不受udev影響,達到CentOS 7的效果,則刪除3個文件即可
rm -f /etc/udev/rules.d/70-persistent-net.rules
rm -f /lib/udev/write_net_rules
rm -f /lib/udev/rules.d/75-persistent-net-generator.rules

 

網(wǎng)卡名規(guī)則

  • eno:主板板載網(wǎng)卡
  • enp:獨立網(wǎng)卡(PCI網(wǎng)卡)
  • ens:熱插拔網(wǎng)卡(usb之類)

17. CPU頻率(performance)

CentOS 6

  • 始終:2.1GHz

CentOS 7:

  • 空閑:1.2GHz

  • sysbench 1線程壓測:一個物理cpu所有核的頻率瞬間增長,其中最高打到2.6GHz

  • sysbench 42線程壓測:所有cpu所有核的頻率全部達到2.4GHz

  • 若要和6一樣保持頻率,則在/etc/default/grub里增加intel_pstate=disable(不建議,因為性能沒有任何提升,還在某些情況下降)

二. 服務(wù)管理

1. sysvinit、upstart、systemd簡介


2. sysvinit、upstart、systemd常用命令

3. runlevel運行級別

 4. 日志查詢

CentOS 6: 手工在/var/log/messages、/var/log/dmesg、/var/log/secure中g(shù)rep,麻煩且效率低

CentOS 7: 統(tǒng)一使用journalctl,可以使用多個因素匹配,比如時間段、服務(wù)名、日志級別等等。另外,systemd日志默認經(jīng)過壓縮,是二進制文件,無法直接查看

CentOS 6

    • sysvinit需要自行實現(xiàn),如:

      • - nohup &

      • - screen

      • - supervisor

    • upstart和systemd類似,將程序運行在前臺即可

CentOS 7

    • 由systemd啟動,將程序運行在前臺即可

6. sysvinit、upstart、systemd例子

sysvinit

cat > /etc/init.d/mytest <

 

upstart

cat > /etc/init/mytest.conf <

 

systemd

cat > /usr/lib/systemd/system/mytest.service <

 

7. PID管理

sysvinit: 需要生成PID文件,用于后期關(guān)閉、重啟等使用

upstart: 無需PID文件,upstart會記錄主進程ID,子進程ID沒有記錄

systemd: 無需PID文件,所有進程ID由cgroup統(tǒng)一接管

8. 內(nèi)置的資源限制

CentOS 6: 除了ulimit,沒有其他限制進程資源的簡便方法

CentOS 7: 除了ulimit,還支持部分cgroup限制,可對進程做內(nèi)存限制和cpu資源限制等

[Service]
ExecStart=...
MemoryLimit=500M
CPUShares=100

 

另外,CentOS 7可以通過systemd-cgtop命令查看cgroup里的性能數(shù)據(jù)

9. 服務(wù)異常自動重啟

upstart

start on runlevel [3]
description "mytest"
exec /root/mytest.sh
post-stop exec sleep 5
respawn
respawn limit unlimited

 

systemd

[Unit]
Description=mytest

[Service]
Type=simple
ExecStart=/root/mytest.sh
Restart=always
RestartSec=5
StartLimitInterval=0

[Install]
WantedBy=multi-user.target

 

上面2種方式均表示,無限次自動重啟,每次重啟前等待5秒

10. 寫日志方式

CentOS 6: 自行輸出到文件中,或通過syslog記錄(如logger命令)

CentOS 7: 只要程序由systemd啟動,只需將輸出日志到標準輸出或標準錯誤

    • 建議centos7只將應(yīng)用程序的一些元信息輸出到標準輸出或標準錯誤,比如啟動成功、啟動失敗等等

    • 不建議將業(yè)務(wù)日志輸出到j(luò)ournal。因為journal中所有日志都存在一個文件中,會導(dǎo)致2個問題:

      • 1. 如果沒有做日志持久化,則默認存在內(nèi)存中,會導(dǎo)致最多一半的內(nèi)存被占用

      • 2. 存儲量很大,會導(dǎo)致查詢其他日志很耗時

    • 解決辦法:輸出到syslog,[Service]支持StandardOutput=syslog

11. 指定每條日志級別

CentOS 6: 通過syslog將不同級別的日志輸出到不同文件

CentOS 7: 只需在輸出的每一行開頭加<日志級別>,比如

echo '<0>hello, emerg'
echo '<1>hello, alert'
echo '<2>hello, crit'
echo '<3>hello, err'
echo '<4>hello, warning'
echo '<5>hello, notice'
echo '<6>hello, info'
echo '<7>hello, debug'

 

12. systemd日志永久保存

systemd日志默認保存在內(nèi)存中,因此當服務(wù)器重啟后,就無法通過journalctl來查看之前的日志,解決方法:

mkdir -p /var/log/journal
systemctl restart systemd-journald

 

三. 性能對比

1. CPU測試

工具: 通過sysbench對cpu進行壓力測試

參數(shù)設(shè)置

    • 素數(shù): 10000

    • 測試時間: 900秒

    • 線程數(shù): 1、6、12、18、24、30、36、42

分別測試使用睿頻和不實用睿頻

> 圖1: cpu測試 - 每秒events

如何看圖:越高越好

此圖結(jié)論:

    • cpu性能基本一致

    • CentOS 7固定頻率(不使用睿頻),并沒有提升性能,因此沒有關(guān)閉睿頻的必要

> 圖2: cpu測試 - event數(shù)量標準差

如何看圖:越少越好

此圖結(jié)論:

    • 通過標準差可以看出在穩(wěn)定性方面,CentOS 7要穩(wěn)定很多(包括不使用睿頻)

2. 內(nèi)存測試

工具: 通過sysbench對內(nèi)存進行壓力測試

參數(shù)設(shè)置

    • 讀寫方式: 隨機

    • 測試時間: 900秒

    • 分別測試讀和寫

    • 塊大小: 4K、16K、2M

    • 線程數(shù): 1、12、24、36、48

> 圖1: 內(nèi)存測試 - 速率

如何看圖:越高越好

此圖結(jié)論:

    • CentOS 6和CentOS 7性能一致

> 圖2: 內(nèi)存測試 - event數(shù)量標準差

如何看圖:越少越好

此圖結(jié)論:

    • 通過標準差可以看出在穩(wěn)定性方面,CentOS 7要穩(wěn)定很多

3. IO測試

工具: 通過fio對io進行壓力測試

參數(shù)設(shè)置

  • ioengine: libaio
  • iodepth: 16
  • 測試時間: 900秒
  • 文件大小: 100G
  • 運行方式: 線程
  • 緩存方式: 無緩存(non-buffered I/O)
  • 讀寫方式: 隨機讀寫
  • 塊大小: 分別測試4K和16K
  • 線程數(shù): 1、12、24、36、48

> 圖1: io測試 - iops

如何看圖:越高越好

此圖結(jié)論:

  • CentOS 6(默認ext4)不如CentOS 7(默認xfs)
  • CentOS 6(默認ext4)不如CentOS 6(xfs)

> 圖2: io測試 - 讀寫平均延時

如何看圖:越少越好

此圖結(jié)論:

  • CentOS 7的寫延時和CentOS 6(默認ext4)接近
  • CentOS 7的讀延時比CentOS 6(默認ext4)好很多

4. OLTP測試

工具: 通過tpcc-mysql對整機性能進行測試

參數(shù)設(shè)置

  • 文件系統(tǒng): 均為xfs
  • mysql版本: mysql-8.0.12
  • tpccload:
    • warehouse: 100
    • sql: createtable.sql、addfkeyidx.sql
    • 運行時長: 沒有限制,跑完將近1小時
  • tpcc_start:
    • warehouse: 100
    • warmup: 300秒
    • 運行時長: 1800秒
  • 線程數(shù): 16、32、64、128、256、512、1024

> 圖: oltp測試 - tpmc

如何看圖:越高越好

此圖結(jié)論:

  • CentOS 7比CentOS 6(默認ext4)高

5. 總結(jié)

總結(jié):7個測試結(jié)果中,只有2項是基本一致,其余5項均是CentOS 7勝利,因此基本可以得出結(jié)論,CentOS 7性能比CentOS 6更好!


當前題目:CentOS6與CentOS7詳細對比:常見設(shè)置、服務(wù)管理、性能測試
本文來源:http://m.5511xx.com/article/cddecdj.html