mysql資料庫部署linux引數調整
為了使mysql資料庫獲得最佳效能,需要正確定義作業系統引數。如果作業系統核心引數配置不當,可能會導致資料庫伺服器效能下降。因此,必須根據資料庫伺服器及其工作負載配置這些引數。主要是指在linux系統中針對業務服務應用而進行的系統核心引數調整。
基本系統中的相容程式庫一定開啟,繼承unix相容性一定打上。資料庫全部取消。系統管理-系統管理選擇上桌面都選擇上不能選擇(kde桌面-因為和通用桌面有衝突)-應用程式把瀏覽器選擇上。開發全選。語言把中文和英文都選擇上。
[root@localhost yum.repos.d]# cat /etc/yum.repos.d/iso.repo
[iso6.9]
name=iso6.9
baseurl=file:/
gpgcheck=0
enabled=1
selinux=disabled
[root@localhost yum.repos.d]# setenforce 0
[root@localhost yum.repos.d]# getenforce
permissive
echo "192.168.198.134 mysql5.7" >>/etc/hosts
numa把一台計算機分成多個節點(node),每個節點內部擁有多個cpu,節點內部使用共有的記憶體控制器,節點之間是通過互聯模組進行連線和資訊互動。因此節點的所有記憶體對於本節點所有的cpu都是等同的,對於其他節點中的所有cpu都不同。因此每個cpu可以訪問整個系統記憶體,但是訪問本地節點的記憶體速度最快(不經過互聯模組),訪問非本地節點的記憶體速度較慢(需要經過互聯模組),即cpu訪問記憶體的速度與節點的距離有關,該距離成為node distance。
mysql伺服器為什麼需要關閉numa?
mysql是單程序多執行緒架構資料庫,當numa採用預設記憶體分配策略時,mysql程序會被並且僅僅會被分配到numa的乙個節點上去。假設這個節點的本地記憶體為10gb,而mysql配置20gb記憶體,超出節點本地記憶體部分(20gb-10gb)linux會使用swap而不是使用其他節點的物理記憶體。在這種情況下,能觀察到雖然系統總的可用記憶體還未用完,但是mysql程序已經開始在使用swap了。
在/etc/grub.conf的kernel一行後新增了numa=off,重啟伺服器後果然問題被解決。
linux i/o 排程器是linux核心中的乙個組成部分,使用者可以通過調整這個排程器來優化系統效能。本文首先介紹linux i/o 排程器的結構,然後介紹如何根據不同的儲存器來設定linux i/o 排程器從而達到優化系統效能。
cfq完全公平佇列,比較適合於互動式場景
deadline 最後期限,任何乙個讀寫請求,都有自己的滿足期限,當期限到來時之前,必須達到需求的滿足(一般建議在資料庫伺服器上使用此排程演算法)
anticpatory 預期的,任何乙個資料讀完之後,有可能與其相鄰的資料也可能被讀到,所以它大致所實現的方法就是,讀完之後先不滿足,則不處理,需等一段時間後檢視是否有相近資料訪問過,如果有馬上先滿足,所以這只能在行為預估的場景下可用
noop 固態硬碟 推薦使用
檢視當前系統支援的i/o排程器
dmesg | grep -i scheduler
--i0排程演算法
cat /sys/block/sd*/queue/ scheduler
--sas/stat
echo ' deadline' > /sys/block/sd*/queue/scheduler
-- ssd
echo 'n0op' > /sys/block/sd*/queue/scheduler
--減少預讀
echo '16' > /sys/block/sd* /queue/read_ahead_kb
--增大佇列
echo '512' > /sys/block/sd*/queue /nr_requests
--開啟後生效
vi /etc/rc.local
echo '512' > /sys/block/ sdb/queue/nr_requests
echo '512' > /sys/block/ sdc/ queue/nr_requests
需要根據伺服器執行的程式型別,來設定不同的引數值。例如,對於oracle一般設定為10;對於mysql一般設定為1,盡可能不用swap分割槽。
vim /etc/sysctl. conf
vm.min_free_kbytes=51200
#vm.min_free_kbytes= 512000 -- 生產環境
linux資源限制配置檔案是/etc/security/limits.conf;限制使用者程序的數量對於linux系統的穩定性非常重要。limits.conf檔案限制著使用者可以使用的最大檔案數,最大執行緒,最大記憶體等資源使用量。/etc/security/limits.conf 配置檔案可限制檔案開啟數,系統程序等資源,在/etc/security/limits.d/90-nproc.conf檔案配置中寫的最大使用者程序數是受配置上限影響的。
ulimit -a 是所有顯示的資源
vim /etc/security/limits.conf
noproc 是代表最大程序數
nofile 是代表最大檔案開啟數
stack - max stack size (kb) 最大棧大小
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
* soft stack 65535
* hard stack 65535
vim /etc/security/limits.d/90-nproc.conf
* - nproc 65535
所有使用者 soft/hard
linux下部署mysql資料庫
cd usr local src 建議放在這個目錄下面 wget tar zxf mysql 5.6.35 linux glibc2.5 x86 64.tar.gz 解壓 d usr local mysql mv usr local mysql usr local mysql old 判斷如果前面的...
部署Mysql資料庫
mysql 定義 是乙個真正的多執行緒 多使用者的sql資料庫服務 高效能 高可靠性 易於使用的特性 編譯安裝mysql 資料庫的優點 確保功能的完整性 可定製性 1 為了避免埠衝突 程式衝突等現象,先確認本機沒有使用rpm 方式安裝 如下 root centos7 5 rpm q mysql se...
部署MySQL庫 部署Mysql資料庫 惟淨
mysql資料庫版本 5.6.34 cmake軟體包版本 3.5.2 root localhost yum groupinstall 開發工具 y root localhost chkconfig iptables off root localhost chkconfig list iptables...