成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux環境MySQL服務器級優化講解

運維 服務器運維
本節簡單介紹了如何在服務器級優化數據庫的性能,以及提高數據庫性能涉及到的硬件問題。選擇一個盡量快的系統,使用RAID磁盤陣列是非常容易想到的方法。

前面各段介紹了普通的 MySQL 用戶利用表創建和索引操作,以及利用查詢的編寫能夠進行的優化。不過,還有一些只能由 MySQL 管理員和系統管理員來完成的優化,這些管理員在 MySQL 服務器或運行 MySQL 的機器上具有控制權。有的服務器參數直接適用于查詢處理,可將它們打開。而有的硬件配置問題直接影響查詢處理速度,應該對它們進行調整。
磁盤問題

正如前面所述,磁盤尋道是一個性能的大瓶頸。當數據開始增長以致緩存變得不可能時,這個問題變得越來越明顯。對大數據庫,在那你或多或少地要隨機存取數據,你可以依靠你將至少需要一次磁盤尋道來讀取并且幾次磁盤尋道寫入。為了使這個問題最小化,使用有低尋道時間的磁盤。
  
為了增加可用磁盤軸的數量(并且從而減少尋道開銷),符號聯接文件到不同磁盤或分割磁盤是可能的。

1、使用符號連接

這意味著你將索引/數據文件符號從正常的數據目錄鏈接到其他磁盤(那也可以被分割的)。這使得尋道和讀取時間更好(如果磁盤不用于其他事情)

2、分割

分割意味著你有許多磁盤并把第一塊放在第一個磁盤上,在第二塊放在第二個磁盤上,并且第 n塊在第(n mod number_of_disks)磁盤上,等等。這意味著,如果你的正常數據大小于分割大小(或完美地排列過),你將得到較好一些的性能。注意,分割是否很依賴于OS和分割大小。因此用不同的分割大小測試你的應用程序。見10.8 使用你自己的基準。注意對分割的速度差異很依賴于參數,取決于你如何分割參數和磁盤數量,你可以得出以數量級的不同。注意你必須選擇為隨機或順序存取優化。

為了可靠,你可能想要使用襲擊RAID 0+1(分割+鏡像),但是在這種情況下,你將需要2*N個驅動器來保存N個驅動器的數據。如果你有錢,這可能是最好的選擇!然而你也可能必須投資一些卷管理軟件投資以高效地處理它。

一個好選擇是讓稍重要的數據(它能再生)上存在RAID 0磁盤上,而將確實重要的數據(像主機信息和日志文件)存在一個RAID 0+1或RAID N磁盤上。如果因為更新奇偶位你有許多寫入,RAID N可能是一個問題。

你也可以對數據庫使用的文件系統設置參數。一個容易的改變是以noatime選項掛裝文件系統。這是它跳過更新在inode中的最后訪問時間,而且這將避免一些磁盤尋道。

硬件問題

可利用硬件更有效地改善服務器的性能:

1、在機器中安裝更多的內存。這樣能夠增加服務器的高速緩存和緩沖區的尺寸,使服務器更經常地使用存放在內存中的信息,降低從磁盤取信息的要求。

2、如果有足夠的 RAM 使所有交換在內存文件系統中完成,那么應該重新配置系統,去掉所有磁盤交換設置。否則,即使有足以滿足交換的 RAM,某些系統仍然要與磁盤進行交換。

3、增加更快的磁盤以減少 I/O 等待時間。尋道時間是這里決定性能的主要因素。逐字地移動磁頭是很慢的,一旦磁頭定位,從磁道讀塊則較快。

在不同的物理設備上設法重新分配磁盤活動。如果可能,應將您的兩個最繁忙的數據庫存放在不同的物理設備上。請注意,使用同一物理設備上的不同分區是不夠的。這樣沒有幫助,因為它們仍將爭用相同的物理資源(磁盤頭)。移動數據庫的過程在第 10 章中介紹。

4、在將數據重新放到不同設備之前,應該保證了解該系統的裝載特性。如果在特定的物理設備上已經有了某些特定的主要活動,將數據庫放到該處實際上可能會使性能更壞。例如,不要把數據庫移到處理大量Web 通信的Web 服務器設備上。

5、在設置 MySQL 時,應該配置其使用靜態庫而不是共享庫。使用共享庫的動態二進制系統可節省磁盤空間,但靜態二進制系統更快(然而,如果希望裝入用戶自定義的函數,則不能使用靜態二進制系統,因為 UDF 機制依賴于動態連接)。

服務器參數的選擇

服務器有幾個能夠改變從而影響其操作的參數(或稱變量)。系統變量的當前值可以通過執行mysqladmin varibles命令來檢查,其中幾個參數主要與查詢有關,有必要在此提一下:

delayed_queue_size

此參數在執行其他 INSERT DELAYED 語句的客戶機阻塞以前,確定來自 INSERT DELAYED 語句的放入隊列的行的數目。增加這個參數的值使服務器能從這種請求中接收更多的行,因而客戶機可以繼續執行而不阻塞。

key_buffer_size

此參數為用來存放索引塊的緩沖區尺寸。如果內存多,增加這個值能節省索引創建和修改的時間。較大的值使 MySQL 能在內存中存儲更多的索引塊,這樣增加了在內存中找到鍵值而不用讀磁盤塊的可能性。

在 MySQL 3.23 版及以后的版本中,如果增加了鍵緩沖區的尺寸,可能還希望用 --init-file 選項啟動服務器。這樣能夠指定一個服務器啟動時執行的 SQL 語句文件。如果有想要存放在內存中的只讀表,可將它們拷貝到索引查找非常快的 HEAP 表。

back_log

引入客戶機連接請求的數量,這些請求在從當前客戶機中處理時排隊。如果你有一個很忙的站點,可以增加改變量的值。

編譯和鏈接怎樣影響MySQL的速度

大多數下列測試在Linux上并用MySQL基準進行的,但是它們應該對其他操作系統和工作負載給出一些指示。

當你用-static鏈接時,你得到最快的可執行文件。使用Unix套接字而非TCP/IP連接一個數據庫也可給出好一些的性能。

在Linux上,當用pgcc和-O6編譯時,你將得到最快的代碼。為了用這些選項編譯“sql_yacc.cc”,你需要大約200M內存,因為gcc/pgcc需要很多內存使所有函數嵌入(inline)。在配置MySQL時,你也應該設定CXX=gcc以避免包括libstdc++庫(它不需要)。
  
只通過使用一個較好的編譯器或較好的編譯器選項,在應用中你能得到一個10-30%的加速。如果你自己編譯SQL服務器,這特別重要!

在Intel上,你應該例如使用pgcc或Cygnus CodeFusion編譯器得到最大速度。我們已經測試了新的 Fujitsu編譯器,但是它是還沒足夠不出錯來優化編譯MySQL。

這里是我們做過的一些測量表:

·如果你以-O6使用pgcc并且編譯任何東西,mysqld服務器是比用gcc快11%(用字符串99的版本)。

·如果你動態地鏈接(沒有-static),結果慢了13%。注意你仍能使用一個動態連接的MySQL庫。只有服務器對性能是關鍵的。

·如果你使用TCP/IP而非Unix套接字,結果慢7.5%。

·在一個Sun SPARCstation 10上,gcc2.7.3是比Sun Pro C++ 4.2快13%。

·在Solaris 2.5.1上,在單個處理器上MIT-pthreads比帶原生線程的Solaris慢8-12%。以更多的負載/cpus,差別應該變得更大。
由TcX提供的MySQL-Linux的分發用pgcc編譯并靜態鏈接。

本節簡單介紹了如何在服務器級優化數據庫的性能,以及提高數據庫性能涉及到的硬件問題。選擇一個盡量快的系統,使用RAID磁盤陣列是非常容易想到的方法。

對于數據庫守護程序,既可以在編譯時就提供合適的參數,也可以在選項文件中提供需要優化的參數。


您正在閱讀:Linux環境MySQL服務器級優化講解

【編輯推薦】

  1. 教你選擇安全合適的服務器機柜
  2. 網吧CS服務器架設指南
  3. 企業如何正確選擇服務器軟件

責任編輯:王觀 來源: 中國網管聯盟
相關推薦

2012-09-04 13:56:48

LinuxMySQL優化

2009-10-28 11:35:25

Linux服務器優化

2009-12-24 13:25:45

集群技術

2010-01-06 10:02:10

Linux服務器

2022-05-05 09:27:31

Linux服務器優化

2010-05-13 17:53:44

IIS服務器

2010-05-19 15:00:37

IIS服務器

2009-12-21 14:48:20

2009-09-30 11:14:52

2011-09-01 17:32:11

Linux服務器

2010-07-20 17:07:22

Telnet服務器

2010-04-27 15:29:27

2011-03-11 15:53:02

LAMP優化

2009-11-14 09:42:01

2009-10-30 09:30:33

2009-10-28 11:09:59

2018-09-11 08:37:05

高并發服務器優化

2012-09-10 11:37:48

2011-03-11 15:52:59

LAMP優化

2011-03-11 15:52:57

LAMP優化
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一区二区在线免费观看 | 亚洲高清一区二区三区 | 国产精品一区二 | 日韩av电影院 | 久久九精品 | 免费观看黄色一级片 | 久久亚洲国产精品 | 欧美一区二区三区的 | 男人天堂网址 | 日日日干干干 | 欧美日韩高清在线一区 | 天天玩天天操天天干 | 中文字幕一区二区三区精彩视频 | 超碰网址| 国产精品一区二区视频 | 九九av| 影音先锋男 | 亚洲一区视频在线 | 少妇一级淫片aaaaaaaaa | 日韩中文字幕一区二区 | 亚洲看片网站 | 91久久精品国产91久久 | 97狠狠干 | 99riav3国产精品视频 | 国产乱一区二区三区视频 | 综合久久99| 日韩欧美在线观看 | 两性午夜视频 | 日韩在线一区二区 | 精品一区视频 | 狠狠操狠狠操 | 一区二区三区在线 | 日韩一区二区三区视频 | 久久久青草婷婷精品综合日韩 | 一级a爱片性色毛片免费 | 91精品国产欧美一区二区成人 | 91精品在线看 | 97免费在线视频 | 欧美在线网站 | 狠狠爱综合网 | 日本不卡一区二区三区在线观看 |