主頁(yè) > 知識(shí)庫(kù) > Linux環(huán)境下MySQL服務(wù)器優(yōu)化的方法詳解

Linux環(huán)境下MySQL服務(wù)器優(yōu)化的方法詳解

熱門(mén)標(biāo)簽:興隆縣地圖標(biāo)注app 外呼crm系統(tǒng)是什么 蘭州智能語(yǔ)音電銷(xiāo)機(jī)器人功能 宜賓穩(wěn)定外呼系統(tǒng)廠(chǎng)家 百度地圖標(biāo)注中心api 東莞小型外呼系統(tǒng)招商 蘇州園區(qū)地圖標(biāo)注 360地圖標(biāo)注位置 江蘇客服外呼系統(tǒng)排名
普通的MySQL用戶(hù)利用表創(chuàng)建和索引操作,以及利用查詢(xún)的編寫(xiě)能夠進(jìn)行的優(yōu)化。不過(guò),還有一些只能由MySQL管理員和系統(tǒng)管理員來(lái)完成的優(yōu)化,這些管理員在MySQL服務(wù)器或運(yùn)行MySQL的機(jī)器上具有控制權(quán)。有的服務(wù)器參數(shù)直接適用于查詢(xún)處理,可將它們打開(kāi)。而有的硬件配置問(wèn)題直接影響查詢(xún)處理速度,應(yīng)該對(duì)它們進(jìn)行調(diào)整。
  磁盤(pán)問(wèn)題
  正如前面所述,磁盤(pán)尋道是一個(gè)性能的大瓶頸。當(dāng)數(shù)據(jù)開(kāi)始增長(zhǎng)以致緩存變得不可能時(shí),這個(gè)問(wèn)題變得越來(lái)越明顯。對(duì)大數(shù)據(jù)庫(kù),在那你或多或少地要隨機(jī)存取數(shù)據(jù),你可以依靠你將至少需要一次磁盤(pán)尋道來(lái)讀取并且?guī)状未疟P(pán)尋道寫(xiě)入。為了使這個(gè)問(wèn)題最小化,使用有低尋道時(shí)間的磁盤(pán)。
  為了增加可用磁盤(pán)軸的數(shù)量(并且從而減少尋道開(kāi)銷(xiāo)),符號(hào)聯(lián)接文件到不同磁盤(pán)或分割磁盤(pán)是可能的。
  1、使用符號(hào)連接
  這意味著你將索引/數(shù)據(jù)文件符號(hào)從正常的數(shù)據(jù)目錄鏈接到其他磁盤(pán)(那也可以被分割的)。這使得尋道和讀取時(shí)間更好(如果磁盤(pán)不用于其他事情)
  2、分割
  分割意味著你有許多磁盤(pán)并把第一塊放在第一個(gè)磁盤(pán)上,在第二塊放在第二個(gè)磁盤(pán)上,并且第n塊在第(nmodnumber_of_disks)磁盤(pán)上,等等。這意味著,如果你的正常數(shù)據(jù)大小于分割大小(或完美地排列過(guò)),你將得到較好一些的性能。注意,分割是否很依賴(lài)于OS和分割大小。因此用不同的分割大小測(cè)試你的應(yīng)用程序。見(jiàn)10.8使用你自己的基準(zhǔn)。注意對(duì)分割的速度差異很依賴(lài)于參數(shù),取決于你如何分割參數(shù)和磁盤(pán)數(shù)量,你可以得出以數(shù)量級(jí)的不同。注意你必須選擇為隨機(jī)或順序存取優(yōu)化。
  為了可靠,你可能想要使用襲擊RAID0+1(分割+鏡像),但是在這種情況下,你將需要2*N個(gè)驅(qū)動(dòng)器來(lái)保存N個(gè)驅(qū)動(dòng)器的數(shù)據(jù)。如果你有錢(qián),這可能是最好的選擇。然而你也可能必須投資一些卷管理軟件投資以高效地處理它。
  一個(gè)好選擇是讓稍重要的數(shù)據(jù)(它能再生)上存在RAID0磁盤(pán)上,而將確實(shí)重要的數(shù)據(jù)(像主機(jī)信息和日志文件)存在一個(gè)RAID0+1或RAIDN磁盤(pán)上。如果因?yàn)楦缕媾嘉荒阌性S多寫(xiě)入,RAIDN可能是一個(gè)問(wèn)題。
  你也可以對(duì)數(shù)據(jù)庫(kù)使用的文件系統(tǒng)設(shè)置參數(shù)。一個(gè)容易的改變是以noatime選項(xiàng)掛裝文件系統(tǒng)。這是它跳過(guò)更新在inode中的最后訪(fǎng)問(wèn)時(shí)間,而且這將避免一些磁盤(pán)尋道。
  硬件問(wèn)題
  可利用硬件更有效地改善服務(wù)器的性能:
  1、在機(jī)器中安裝更多的內(nèi)存。這樣能夠增加服務(wù)器的高速緩存和緩沖區(qū)的尺寸,使服務(wù)器更經(jīng)常地使用存放在內(nèi)存中的信息,降低從磁盤(pán)取信息的要求。
  2、如果有足夠的RAM使所有交換在內(nèi)存文件系統(tǒng)中完成,那么應(yīng)該重新配置系統(tǒng),去掉所有磁盤(pán)交換設(shè)置。否則,即使有足以滿(mǎn)足交換的RAM,某些系統(tǒng)仍然要與磁盤(pán)進(jìn)行交換。
  3、增加更快的磁盤(pán)以減少I(mǎi)/O等待時(shí)間。尋道時(shí)間是這里決定性能的主要因素。逐字地移動(dòng)磁頭是很慢的,一旦磁頭定位,從磁道讀塊則較快。
  4、在將數(shù)據(jù)重新放到不同設(shè)備之前,應(yīng)該保證了解該系統(tǒng)的裝載特性。如果在特定的物理設(shè)備上已經(jīng)有了某些特定的主要活動(dòng),將數(shù)據(jù)庫(kù)放到該處實(shí)際上可能會(huì)使性能更壞。例如,不要把數(shù)據(jù)庫(kù)移到處理大量Web通信的Web服務(wù)器設(shè)備上。
  5、在設(shè)置MySQL時(shí),應(yīng)該配置其使用靜態(tài)庫(kù)而不是共享庫(kù)。使用共享庫(kù)的動(dòng)態(tài)二進(jìn)制系統(tǒng)可節(jié)省磁盤(pán)空間,但靜態(tài)二進(jìn)制系統(tǒng)更快(然而,如果希望裝入用戶(hù)自定義的函數(shù),則不能使用靜態(tài)二進(jìn)制系統(tǒng),因?yàn)閁DF機(jī)制依賴(lài)于動(dòng)態(tài)連接)。
  服務(wù)器參數(shù)的選擇
  服務(wù)器有幾個(gè)能夠改變從而影響其操作的參數(shù)(或稱(chēng)變量)。系統(tǒng)變量的當(dāng)前值可以通過(guò)執(zhí)行MySQLadminvaribles命令來(lái)檢查,其中幾個(gè)參數(shù)主要與查詢(xún)有關(guān),有必要在此提一下:
  delayed_queue_size
  此參數(shù)在執(zhí)行其他INSERTDELAYED語(yǔ)句的客戶(hù)機(jī)阻塞以前,確定來(lái)自INSERTDELAYED語(yǔ)句的放入隊(duì)列的行的數(shù)目。增加這個(gè)參數(shù)的值使服務(wù)器能從這種請(qǐng)求中接收更多的行,因而客戶(hù)機(jī)可以繼續(xù)執(zhí)行而不阻塞。
  key_buffer_size
  此參數(shù)為用來(lái)存放索引塊的緩沖區(qū)尺寸。如果內(nèi)存多,增加這個(gè)值能節(jié)省索引創(chuàng)建和修改的時(shí)間。較大的值使MySQL能在內(nèi)存中存儲(chǔ)更多的索引塊,這樣增加了在內(nèi)存中找到鍵值而不用讀磁盤(pán)塊的可能性。
  在MySQL3.23版及以后的版本中,如果增加了鍵緩沖區(qū)的尺寸,可能還希望用——init-file選項(xiàng)啟動(dòng)服務(wù)器。這樣能夠指定一個(gè)服務(wù)器啟動(dòng)時(shí)執(zhí)行的SQL語(yǔ)句文件。如果有想要存放在內(nèi)存中的只讀表,可將它們拷貝到索引查找非??斓腍EAP表。

標(biāo)簽:烏魯木齊 嘉興 無(wú)錫 雞西 朝陽(yáng) 四川 商洛 蘇州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux環(huán)境下MySQL服務(wù)器優(yōu)化的方法詳解》,本文關(guān)鍵詞  Linux,環(huán)境,下,MySQL,服務(wù)器,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux環(huán)境下MySQL服務(wù)器優(yōu)化的方法詳解》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Linux環(huán)境下MySQL服務(wù)器優(yōu)化的方法詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章