在服務(wù)器硬件中,最容易影響數(shù)據(jù)庫性能的是CPU資源和可用內(nèi)存大小以及I/O。
成都創(chuàng)新互聯(lián)公司致力于成都網(wǎng)站制作、網(wǎng)站建設(shè),成都網(wǎng)站設(shè)計(jì),集團(tuán)網(wǎng)站建設(shè)等服務(wù)標(biāo)準(zhǔn)化,推過標(biāo)準(zhǔn)化降低中小企業(yè)的建站的成本,并持續(xù)提升建站的定制化服務(wù)水平進(jìn)行質(zhì)量交付,讓企業(yè)網(wǎng)站從市場(chǎng)競(jìng)爭(zhēng)中脫穎而出。 選擇成都創(chuàng)新互聯(lián)公司,就選擇了安全、穩(wěn)定、美觀的網(wǎng)站建設(shè)服務(wù)!選擇CPU時(shí)需要考慮的點(diǎn):
內(nèi)存:
使用傳統(tǒng)機(jī)器磁盤。機(jī)械硬盤讀取數(shù)據(jù)的過程:
注:第一步+第二部=磁盤的訪問時(shí)間。第三步消耗的時(shí)間=磁盤的傳輸速度
所以選擇機(jī)械硬盤主要參考以下幾個(gè)點(diǎn):
RAID:
常用的RAID模式 - RAID 0:
RAID 0是最早出現(xiàn)的RAID模式,也稱之為數(shù)據(jù)條帶。是組建磁盤陣列中最簡(jiǎn)單的一種形式,只需要2塊以上的硬盤即可,成本低,可以提高整個(gè)磁盤的性能和吞吐量。 RAID 0沒有提供冗余或錯(cuò)誤修復(fù)能力,但是實(shí)現(xiàn)成本是最低的
RAID 0 模式結(jié)構(gòu)圖:
常用的RAID模式 - RAID 1:
RAID 1又稱磁盤鏡像,原理是把一個(gè)磁盤的數(shù)據(jù)鏡像到另一個(gè)磁盤上,也就是說數(shù)據(jù)在寫入一塊磁盤的同時(shí)會(huì)在另一塊閑置的磁盤上生成鏡像文件,在不影響性能情況下大限度的保證系統(tǒng)的可靠性和可修復(fù)性。
RAID 1 模式結(jié)構(gòu)圖:
常用的RAID模式 - RAID 5:
RAID 5又稱之為分布式奇偶校驗(yàn)磁盤陣列通過分布式奇偶校驗(yàn)塊把數(shù)據(jù)分散到多個(gè)磁盤.上這樣如果任何一個(gè)盤數(shù)據(jù)失效,都可以從奇偶校驗(yàn)塊中重建。但是如果兩塊磁盤失效,則整個(gè)卷的數(shù)據(jù)都無法恢復(fù)。
RAID 5 模式結(jié)構(gòu)圖:
常用的RAID模式 - RAID 10,適合數(shù)據(jù)庫的模式:
RAID 10又稱分片的鏡像它是對(duì)磁盤先做RAID 1之后對(duì)兩組RAID 1的磁盤再做RAID 0 ,所以對(duì)讀寫都有良好的性能,相對(duì)于RAID 5重建起來更簡(jiǎn)單,速度也更快。
RAID 10 模式結(jié)構(gòu)圖:
RAID級(jí)別的選擇,可以參考下表:
相比機(jī)械磁盤固態(tài)磁盤有更好的隨機(jī)讀寫性能,相比機(jī)械磁盤固態(tài)磁盤有更好的并發(fā)支持,相比機(jī)械磁盤固態(tài)磁盤更容易損壞
固態(tài)磁盤的特點(diǎn):
PCIe卡的特點(diǎn):
固態(tài)磁盤的使用場(chǎng)景:
SAN(Storage Area Network)和NAS(Network-Attached Storage)是兩種外部文件存儲(chǔ)設(shè)備加載到服務(wù)器上的方法
SAN設(shè)備通過光纖鏈接到服務(wù)器,設(shè)備通過塊接口訪問,服務(wù)器可以將其當(dāng)做硬盤使用:
SAN的優(yōu)缺點(diǎn):
NAS設(shè)備使用網(wǎng)絡(luò)鏈接,通過基于文件的協(xié)議如NFS或SMB來訪問。
網(wǎng)絡(luò)存儲(chǔ)適合的場(chǎng)景:
網(wǎng)絡(luò)對(duì)性能的影響:
CPU:
內(nèi)存:
I/O子系統(tǒng):
MySQL在不同操作系統(tǒng)需要注意的事項(xiàng):
內(nèi)核相關(guān)參數(shù)(/etc/sysctl.conf
):
net.core.somaxconn=65535
net.core.netdev_max_backlog=65535
net.ipv4.tcp_max_syn_backlog=65535
net.ipv4.tcp_fin_timeout=10
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=1
net.core.wmem_default=87380
net.core.wmem_max=16777216
net.core.rmem_default=87380
net.core.rmem_max=16777216
net.ipv4.tcp_keepalive_time=120
net.ipv4.tcp_keepalive_intvl=30
net.ipv4.tcp_keepalive_probes=3
kernel.shmmax=429496295
vm.swappiness=0
參考:
Linux系統(tǒng)內(nèi)存交換分區(qū):
在MySQL服務(wù)器上是否要使用交換分區(qū)有一些爭(zhēng)議:
vm.swappiness=0
參數(shù)了增加資源限制(/etc/security/limit.conf
),這個(gè)文件實(shí)際上是Linux PAM也就是插入式認(rèn)證模塊的配置文件。通過我們會(huì)在文件末尾加入以下參數(shù)來控制打開文件數(shù)的限制:
* soft nofile 65535
* hard nofile 65535
說明:
*
表示對(duì)所有用戶有效soft
指的是當(dāng)前系統(tǒng)生效的設(shè)置,對(duì)于同一資源,soft的值不能比hard高hard
表明系統(tǒng)中所能設(shè)定的大值nofile
表示所限制的資源是打開文件的大數(shù)目65535
就是限制的次數(shù)由于系統(tǒng)默認(rèn)的可打開文件句柄的數(shù)量是比較小的,所以一般我們都會(huì)將MySQL服務(wù)所在的操作系統(tǒng)的可打開的文件數(shù)量增加到65535個(gè)以保證可以打開足夠多的文件句柄。需要注意的是,這個(gè)文件的修改需要重啟系統(tǒng)才生效。
磁盤調(diào)度策略(/sys/block/vda/queue/scheduler
):
除了默認(rèn)的cfq策略外還可以選擇以下幾種策略:
noop(電梯式調(diào)度策略):
NOOP實(shí)現(xiàn)了一個(gè)FIFO隊(duì)列,它像電梯的工作方式一樣對(duì)I/O請(qǐng)求進(jìn)行組織,當(dāng)有一個(gè)新的請(qǐng)求到來時(shí),它將請(qǐng)求合并到最近的請(qǐng)求之后,以此來保證請(qǐng)求同一個(gè)介質(zhì)。NOOP傾向于餓死讀而利于寫,因此NOOP對(duì)于閃存設(shè)備,RAM以及嵌入式是最好的選擇。
deadline(介質(zhì)時(shí)間調(diào)度策略):
Deadline確保了在一個(gè)截至?xí)r間內(nèi)服務(wù)請(qǐng)求,這個(gè)截至?xí)r間是可調(diào)整的,而默認(rèn)讀期限短于寫期限。這樣就防止了寫操作因?yàn)椴荒鼙蛔x取而餓死的現(xiàn)象。Deadline對(duì)數(shù)據(jù)庫類應(yīng)用是最好的選擇。
本質(zhì)上與Deadline一樣,但在最后一次讀操作后,要等待6ms,才能繼續(xù)進(jìn)行對(duì)其他I/O請(qǐng)求進(jìn)行調(diào)度。它會(huì)在每個(gè)6ms中插入新的I/O操作,而會(huì)將一些小寫入流合并成一個(gè)大寫入流,用寫入延時(shí)換取大的寫入吞吐量。AS適合于寫入較多的環(huán)境,比如文件服務(wù)器,AS對(duì)數(shù)據(jù)庫環(huán)境表現(xiàn)很差。
修改磁盤調(diào)度策略的命令,例如我將策略改為deadline:
echo deadline > /sys/block/vda/queue/scheduler
服務(wù)器所使用的文件系統(tǒng)對(duì)服務(wù)器的I/O性能是有一定影響的,而文件系統(tǒng)的選擇十分依賴于操作系統(tǒng),例如Windows下就只有FAT和NTFS可供選擇:
Linux下則有EXT3、EXT4、XFS,這三種文件系統(tǒng)都是具有日志功能的,這一點(diǎn)對(duì)于數(shù)據(jù)的安全性十分重要。其中XFS性能要比EXT3和EXT4高:
如果使用EXT3和EXT4的話,有幾個(gè)掛載參數(shù)可以了解一下。EXT3/4文件系統(tǒng)的掛載參數(shù)可以在/etc/fstab
文件中配置:
data=writeback | ordered | journal
,其中 writeback 是Innodb最好的選擇
writeback
意味著只有原數(shù)據(jù)寫入日志,原數(shù)據(jù)寫入和數(shù)據(jù)寫入并不是同步的,這是最快的一種配置,因?yàn)镮nnodb有自己的事務(wù)日志,所以選擇Innodb是最好的選擇ordered
選項(xiàng)只會(huì)記錄原數(shù)據(jù),但提供了一些一致性的保證,在寫原數(shù)據(jù)之前的會(huì)先寫數(shù)據(jù),使他們保持一致,這個(gè)選項(xiàng)比writeback
慢一些,但是如果出現(xiàn)崩潰呢更加安全journal
提供了原子日志的一種行為,在數(shù)據(jù)寫入到最終位置之前,將記錄到日志中,這個(gè)選項(xiàng)對(duì)Innodb來說是沒有必要的,在這三個(gè)選項(xiàng)中journal
是最慢的一個(gè)然后我們?cè)賮砜纯戳硗鈨蓚€(gè)重要的參數(shù),在介紹這兩個(gè)參數(shù)之前,我們需要了解默認(rèn)情況下Linux操作系統(tǒng)會(huì)把文件訪問的時(shí)間atime做一個(gè)記錄,文件系統(tǒng)在文件被訪問、創(chuàng)建、修改等的時(shí)候記錄下了文件的一些時(shí)間戳。比如:文件創(chuàng)建時(shí)間、最近一次修改時(shí)間和最近一次訪問時(shí)間;這在絕大部分的場(chǎng)合都是沒有必要的。因?yàn)橄到y(tǒng)運(yùn)行的時(shí)候要訪問大量文件,如果能減少一些動(dòng)作(比如減少時(shí)間戳的記錄次數(shù)等)將會(huì)顯著提高磁盤 IO 的效率、提升文件系統(tǒng)的性能。如果遇到機(jī)器IO負(fù)載高或是CPU WAIT高的情況時(shí),可以嘗試使用noatime和nodiratime禁止記錄最近一次訪問時(shí)間戳。
所以 noatime 和 nodiratime,是用于禁止記錄文件的訪問時(shí)間和讀取目錄的時(shí)間的,禁用了這兩個(gè)時(shí)間的選項(xiàng)后,可以減少一些,寫的操作。系統(tǒng)在讀取文件和目錄時(shí)候,不必寫操作來記錄以上兩個(gè)時(shí)間。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
文章題目:什么影響了MySQL性能-創(chuàng)新互聯(lián)
分享地址:http://aaarwkj.com/article34/gdise.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、網(wǎng)站設(shè)計(jì)公司、微信小程序、網(wǎng)頁設(shè)計(jì)公司、定制網(wǎng)站、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容