做之前首先有兩個問題:
跑幾個例項?
用什麼手段實現?kvm?mysql多port?多ip?docker?
在做決策之前,不妨先看下現狀:
總結下:cpu利用率普遍在10%以下,空閒較大;io壓力較小(都在buffer pool中);硬碟空間利用了40%不到一些;再加上已知的記憶體不足(100%熱點資料)。如果跑仨例項以上,硬碟空間不足,需要同時對硬碟和記憶體進行擴容,工作量大,且風險較高,奇數字的例項不易把主備均勻分散到物理機。
確定一台物理機跑兩個例項
總結下:mysql本身可以跑多個程序,所以本身消耗資源的kvm和本質是程序的還在探索中的docker基本可以pass。如果是啟用多個port,所有的線上、後台配置預設3306埠的都要改,侵入性略強,容易出問題。而網絡卡上綁兩個ip,可以不用改port,只要在初始化的時候改些基本配置就好。
確定用多ip繫結多例項
配置:
[root@10-97-129-2-3 ~]# vim /etc/sysconfig/network-scripts/ifcfg-bond0
device="bond0"
bootproto=none
nm_controlled="yes"
onboot="yes"
type="ethernet"
uuid="582af048-77b7-482d-994b-1f52dfc3ecd6"
ipaddr1=10.97.129.2 ##ip1
ipaddr2=10.97.129.3 ##ip2
netmask=255.255.255.0
gateway=10.97.129.254
arpcheck=no
[root@10-97-129-2-3 ~]# vim /etc/my1.cnf
[mysqld]
bind-address = 10.97.129.2
[root@10-97-129-2-3 ~]# vim /etc/my2.cnf
[mysqld]
bind-address = 10.97.129.3
注意:datadir、socket、pid_file、log_error、slow_query_log_file、log-bin都需要重新指定。bind-address後本地無法用localhost訪問。
啟動:
/usr/bin/mysql_safe --defaults-file
=my_1.cnf & /usr/bin/mysql_safe --defaults-file
=my_2.cnf &
關閉:mysqladmin --defaults-file
=my_1.cnf -u
-p-h10
.97.129
.2 shutdown
mysqladmin --defaults-file
=my_2.cnf -u
-p-h10
.97.129
.3 shutdown
change master to master_bind=10.97
.129
.2change master to master_bind=10.97
.129
.3
否則在master那端顯示的client ip會不正確
最終結果看,換上採購的16g ddr4記憶體條(2000rmb)16條,換下的原8g ddr4記憶體條16條(1200rmb)可以挪作他用。增加物理機一台成本算5w,按照當前的多例項方案,增加乙個例項,成本為16*(2000-1200)=1.28w,擴容的實際成本僅為原來的25.6%,由於還不算省去的機架位等隱性費用,實際更低。 cpu利用率 CPU利用率錯誤
cpu利用率 cpu利用率是每個人用來衡量處理器效能的指標。netflix的高階效能架構師布倫丹 格雷格 brendan gregg 在第16屆年度南加州linux expo scale 上稱其為 五分鐘公共服務公告 但 cpu卻是一種誤導性的衡量指標,說明處理器的實際繁忙程度。布倫丹在他的閃電演講...
記憶體利用率
記憶體利用率 有多個命令提供有關系統記憶體利用率的相關資訊。最流行的是free 和pmap。free命令 free 命令顯示可用的物理記憶體量,其中包括總物理記憶體量 已用物理記憶體量 可用物理記憶體量。它也為交換空間顯示同樣的統計資訊,還顯示核心使用的記憶體快取大小和緩衝區的大小。圖7 5 顯示了...
WLAN通道利用率
wlan空口 通道利用率監控大致如下 引數 說明 ctl channel 主通道號 channel band 通道頻寬 ext channel 11n 產品支援 輔通道型別 bellow above bellow 輔通道向下繫結 above 輔通道向上繫結 ctlbusy 主通道利用率 txbusy...