自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

CPU 以及內(nèi)存從哪些方面影響 MySQL 性能?

商務(wù)辦公
影響 MySQL 性能的因素很多,今天咱們來(lái)看看 CPU 和內(nèi)存是如何影響 MySQL 性能的,以及我們?cè)谫?gòu)買(mǎi)服務(wù)器的時(shí)候,該如何挑選這些配置。

 [[408415]]

影響 MySQL 性能的因素很多,今天咱們來(lái)看看 CPU 和內(nèi)存是如何影響 MySQL 性能的,以及我們?cè)谫?gòu)買(mǎi)服務(wù)器的時(shí)候,該如何挑選這些配置。

CPU

在挑選數(shù)據(jù)庫(kù)服務(wù)器的時(shí)候,是買(mǎi)多核 CPU 還是高主頻 CPU?相信有小伙伴可能遇到過(guò)類似的問(wèn)題,作為開(kāi)發(fā)工程師,公司負(fù)責(zé)采購(gòu)的小伙伴可能會(huì)向我們拋出上面這個(gè)問(wèn)題,那么該如何回答呢?

有人說(shuō)我既要多核又要高主頻,抱歉,很多時(shí)候公司的預(yù)算都是有限的,沒(méi)法做到魚(yú)與熊掌兼得。這個(gè)時(shí)候我們就需要了解一點(diǎn) MySQL 的運(yùn)行機(jī)制了,根據(jù) MySQL 的運(yùn)行機(jī)制來(lái)確定到底該選什么樣的 CPU!

首先我們要看我們的應(yīng)用是不是 CPU 密集型,即是不是計(jì)算密集型。如果是 CPU 密集型應(yīng)用,那么我們要加快 SQL 語(yǔ)句的處理速度,這個(gè)時(shí)候 CPU 的頻率顯然就比核數(shù)重要了。另外,MySQL 不支持多 CPU 對(duì)同一 SQL 并發(fā)處理,也就是說(shuō),不管 CPU 多強(qiáng)或多弱,我們只能用一個(gè) CPU 核心來(lái)處理這一條 SQL,多個(gè) CPU 對(duì)提高一個(gè) SQL 的處理效率是沒(méi)有幫助的。

如果我們要提高系統(tǒng)的并發(fā)量,這個(gè)時(shí)候就要考慮 CPU 的核數(shù)問(wèn)題了。多個(gè) CPU 雖然無(wú)法提高一條 SQL 的執(zhí)行效率,但是可以提高 SQL 的并發(fā)量,在同一時(shí)間,一個(gè) CPU 可以處理一條 SQL,那么要是有 10 個(gè) CPU 就可以同時(shí)處理 10 條 SQL,這樣就可以有效提高 QPS。

現(xiàn)在小伙伴們出去找工作,很多互聯(lián)網(wǎng)公司都是用的 MySQL,這種互聯(lián)網(wǎng)應(yīng)用最大的特征就是高并發(fā),那么毫無(wú)疑問(wèn),對(duì)于這種應(yīng)用,我們應(yīng)該考慮多核 CPU。

老版本的 MySQL 對(duì)于多核 CPU 的支持并不完美,所以如果我們選擇多核 CPU,應(yīng)該考慮使用目前最新版的 MySQL,最新版的 MySQL 對(duì)多核 CPU 的支持更加流暢。

另外大家還需要注意不要在 64 位的 CPU 上運(yùn)行 32 位的服務(wù)器。

內(nèi)存

內(nèi)存的磁盤(pán) IO 肯定是大于硬盤(pán)的,所以如果能將數(shù)據(jù)緩存在內(nèi)存中,這樣就不用每次去硬盤(pán)中讀取數(shù)據(jù)了,這樣的話,數(shù)據(jù)庫(kù)的效率必然還要再提升一個(gè)臺(tái)階。

內(nèi)存對(duì)數(shù)據(jù)庫(kù)性能的影響有兩方面:

  • 讀取效率,從內(nèi)存中讀取數(shù)據(jù)肯定比從硬盤(pán)中讀取數(shù)據(jù)要快。
  • 寫(xiě)入效率,當(dāng)內(nèi)存比較大的時(shí)候,我們需要往硬盤(pán)中寫(xiě)數(shù)據(jù)的時(shí)候,就不用每次都寫(xiě),可以先緩存著,攢夠了再一次性寫(xiě)入(延緩寫(xiě)入)。

不過(guò)我們也不能盲目的加內(nèi)存,還是要在了解 MySQL 運(yùn)行機(jī)制的前提下,合理加內(nèi)存。

以常見(jiàn)的 MyISAM 和 InnoDB 存儲(chǔ)引擎為例:

  • MyISAM 會(huì)將索引存入緩存,而數(shù)據(jù)存儲(chǔ)交由操作系統(tǒng)處理。
  • InnoDB 會(huì)同時(shí)在內(nèi)存中緩存數(shù)據(jù)和索引,從而提高數(shù)據(jù)庫(kù)的運(yùn)行效率。

所以,如果我們選擇不同的存儲(chǔ)引擎,對(duì)內(nèi)存的要求也是不一樣的。

另一方面需要注意,生產(chǎn)服務(wù)器的內(nèi)存一般都比較大,如果服務(wù)器的內(nèi)存是 128G,數(shù)據(jù)庫(kù)文件只有 50G,此時(shí)發(fā)現(xiàn)數(shù)據(jù)庫(kù)運(yùn)行很慢,那么很明顯,這個(gè)時(shí)候加內(nèi)存肯定是無(wú)法解決問(wèn)題的,還是要具體問(wèn)題具體分析。

另外在選擇內(nèi)存時(shí)選擇服務(wù)器主板支持的最大內(nèi)存頻率,盡量不要選擇不同品牌的內(nèi)存混用;如果需要多個(gè)內(nèi)存條,要確保不同內(nèi)存條的頻率、電壓、校驗(yàn)技術(shù)、型號(hào)等相同,同時(shí)單個(gè)內(nèi)存條容量也要盡可能大(不過(guò)話說(shuō)回來(lái),如果購(gòu)買(mǎi)云服務(wù)器,可能并不需要考慮這些)。

好啦,今天就和小伙伴們隨便扯一扯,當(dāng)然影響 MySQL 性能的還有其他因素,咱們后面接著聊。

本文轉(zhuǎn)載自微信公眾號(hào)「江南一點(diǎn)雨」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系江南一點(diǎn)雨公眾號(hào)。

 

責(zé)任編輯:武曉燕 來(lái)源: 江南一點(diǎn)雨
相關(guān)推薦

2024-06-26 08:32:13

2021-09-09 11:35:10

云計(jì)算醫(yī)療云計(jì)算市場(chǎng)

2011-06-28 15:06:09

ASP.NET網(wǎng)站優(yōu)化

2011-06-15 13:17:36

ASP.NET

2021-01-11 07:40:30

中斷程序中斷函數(shù)嵌入式系統(tǒng)

2020-12-24 10:33:38

人工智能IT數(shù)字化轉(zhuǎn)型

2010-08-11 11:12:46

IT公司面試問(wèn)題

2020-11-26 15:30:05

VueReac前端

2020-11-03 07:00:15

性能優(yōu)化程序員

2013-10-21 10:51:01

認(rèn)證管理VDI部署

2015-05-28 11:41:17

綜合布線系統(tǒng)

2009-10-27 20:53:15

企業(yè)網(wǎng)絡(luò)架構(gòu)網(wǎng)絡(luò)規(guī)劃

2013-10-16 09:42:53

虛擬桌面

2018-09-03 10:49:09

2018-12-10 18:00:34

2015-07-29 16:11:51

2015-11-17 15:25:39

云計(jì)算數(shù)據(jù)中心

2011-10-25 10:28:55

數(shù)據(jù)中心基礎(chǔ)架構(gòu)服務(wù)器

2011-04-29 12:54:00

筆記本

2020-07-13 07:45:52

編程語(yǔ)言C語(yǔ)言Java
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)