天天看點

mysql硬體優化

導緻當機的原因:

1.      運作環境: 35%,運作環境可以看做是支援資料庫伺服器運作的系統和資源集合,包括作業系統,硬碟以及網絡

2.      性能:35%

3.      複制 20%

4.      各種類型的資料庫丢失或者損壞以及其他問題。 10%

導緻當機的事件排行

1.      在運作環境的問題上,最普遍的問題就是空間耗盡

2.      在性能問題上,最普遍的當機原因是運作很糟糕的SQL,還有伺服器bug和錯誤的行為導緻的

3.      索引設計也是影響當機的原因

4.      複制問題通常是由于主備資料不一緻

5.      資料丢失通常是由于誤删除導緻的。

如果你面試時候遇到面試題:MySQL資料庫怎麼優化,這時你應該從五個方面來回答:

1.硬體優化2.軟體優化  3.SQL優化  4.架構優化  5.  流程制度化 

硬體方面的優化:

一、伺服器級别優化

百度公司的優化已經做的很好了,如果現在他們再去優化時候,就隻能從硬體優化了 

1. 伺服器選型

SUN小型機、DELL730xd、HPDL380、IBM3850、雲服務等

DELLR710

2. CPU個數、記憶體大小

大記憶體,高IO,是現代基于web的資料庫的必備 (百度的伺服器記憶體 :96G ---128個,2個執行個體 ,CPU

8到16顆)

3. 

磁盤:SAS、SSD、FIO卡

減小尋道時間、旋轉時間、傳輸時間

ssd

(高并發)>sas(線上普通業務)>sata (線下業務)

4. RAID卡電池,RAID級别

WriteBack, ReadAheadNone,Direct,NoWrite Cache

if Bad BBU

RAID0 >raid10

>raid5>raid1 

5. 其他:網卡等(多塊網卡)

二、作業系統級别優化

1. I/O排程政策

NOOP、CFQ、Deadline、Anticipatory

臨時生效:echo “dadline” >/sys/block/sda/queue/scheduler

永久生效:/etc/grub.conf中kernel後加elevator=deadline(需要重新開機)

2. SWAP使用政策

echo"vm.swappiness=10">>/etc/sysctl.conf

https://www.percona.com/blog/2014/04/28/oom-relation-vm-swappiness0-new-kernel/

檔案系統

ext3、ext4還是使用XFS

準确來說XFS要優于ext系列

4.  避免NUMA問題

numactl --interleave=all即是允許所有的處理器可以交叉通路所有的記憶體

5. /tmp分區

tmpfs  /dev/shm  tmpfs  defaults  00

設定tmpdir=/tmp之後,某些習慣性把檔案寫到tmp下的人要改一改習慣了,因為這些檔案占用的是記憶體不是磁盤,而且如果不重新開機的話是一直占用

6. CPU

關閉伺服器的節能模式

檢視kondemand程序運作情況:

繼續閱讀