程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL性能優化中的參數簡介

MySQL性能優化中的參數簡介

編輯:MySQL綜合教程

本文主要向你介紹的是MySQL性能優化中的實際應用參數介紹,你如果是MySQL性能優化中的實際應用參數瘋狂一族的話,以下的文章,你一定不要錯過。相信以下的文章會給你提供更全面的知識。

linux下MySQL安裝相關參數的解釋說明

MySQL數據庫服務器優化詳細

小議MySQL變量及其優化

推薦圈子: D語言

更多相關推薦 Java代碼

1)、back_log:

要求 MySQL性能優化 能有的連接數量。當主要MySQL線程在一個很短時間內得到非常多的連接請求,這就起作用,然後主線程花些時間(盡管很短)檢查連接並且啟動一個新線程。

back_log值指出在MySQL暫時停止回答新請求之前的短時間內多少個請求可以被存在堆棧中。只有如果期望在一個短時間內有很多連接,你需要增加它,換句話說,這值對到來的TCP/IP連接的偵聽隊列的大小。你的操作系統在這個隊列大小上有它自己的限制。試圖設定back_log高於你的操作系統的限制將是無效的。

當你觀察你的主機進程列表,發現大量 264084 | unauthenticated user | xxx.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL 的待連接進程時,就要加大 back_log 的值了。默認數值是50,我把它改為500。

(2)、interactive_timeout:

服務器在關閉它前在一個交互連接上等待行動的秒數。一個交互的客戶被定義為對 MySQL_real_connect()使用 CLIENT_INTERACTIVE 選項的客戶。 默認數值是28800,我把它改為7200。

(3)、key_buffer_size:

索引塊是緩沖的並且被所有的線程共享。key_buffer_size是用於索引塊的緩沖區大小,增加它可得到更好處理的索引(對所有讀和多重寫),到你能負擔得起那樣多。如果你使它太大,系統將開始換頁並且真的變慢了。默認數值是8388600(8M),我的MySQL性能優化主機有2GB內存,所以我把它改為402649088(400MB)。

(4)、max_connections:

允許的同時客戶的數量。增加該值增加 MySQLd 要求的文件描述符的數量。這個數字應該增加,否則,你將經常看到 Too many connections 錯誤。 默認數值是100,我把它改為1024 。

(5)、record_buffer:

每個進行一個順序掃描的線程為其掃描的每張表分配這個大小的一個緩沖區。如果你做很多順序掃描,你可能想要增加該值。默認數值是131072(128K),我把它改為16773120 (16M)

(6)、sort_buffer:

每個需要進行排序的線程分配該大小的一個緩沖區。增加這值加速ORDER BY或GROUP BY操作。默認數值是2097144(2M),我把它改為 16777208 (16M)。

(7)、table_cache:

為所有線程打開表的數量。增加該值能增加MySQL要求的文件描述符的數量。MySQL對每個唯一打開的表需要2個文件描述符。默認數值是64,我把它改為512。

(8)、thread_cache_size:

可以復用的保存在中的線程的數量。如果有,新的線程從緩存中取得,當斷開連接的時候如果有空間,客戶的線置在緩存中。如果有很多新的線程,為了提高MySQL性能優化可以這個變量值。通過比較 Connections 和 Threads_created 狀態的變量,可以看到這個變量的作用。我把它設置為 80。

(10)、wait_timeout:

服務器在關閉它之前在一個連接上等待行動的秒數。 默認數值是28800,我把它改為7200。

注:參數的調整可以通過修改 /etc/my.cnf 文件並重啟 MySQL 實現。這是一個比較謹慎的工作,上面的結果也僅僅是我的一些看法,你可以根據你自己主機的硬件情況特別是內存大小)進一步修改。asp?id=482" width=1 border=0>

1)、back_log:

要求 MySQL 能有的連接數量。當主要MySQL線程在一個很短時間內得到非常多的連接請求,這就起作用,然後主線程花些時間(盡管很短)檢查連接並且啟動一個新線程。

back_log值指出在MySQL性能優化暫時停止回答新請求之前的短時間內多少個請求可以被存在堆棧中。只有如果期望在一個短時間內有很多連接,你需要增加它,換句話說,這值對到來的TCP/IP連接的偵聽隊列的大小。你的操作系統在這個隊列大小上有它自己的限制。試圖設定back_log高於你的操作系統的限制將是無效的。

當你觀察你的主機進程列表,發現大量 264084 | unauthenticated user | xxx.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL 的待連接進程時,就要加大 back_log 的值了。默認數值是50,我把它改為500。

(2)、interactive_timeout:

服務器在關閉它前在一個交互連接上等待行動的秒數。一個交互的客戶被定義為對 MySQL_real_connect()使用 CLIENT_INTERACTIVE 選項的客戶。 默認數值是28800,我把它改為7200。

(3)、key_buffer_size:

索引塊是緩沖的並且被所有的線程共享。key_buffer_size是用於索引塊的緩沖區大小,增加它可得到更好處理的索引(對所有讀和多重寫),到你能負擔得起那樣多。如果你使它太大,系統將開始換頁並且真的變慢了。默認數值是8388600(8M),我的MySQL主機有2GB內存,所以我把它改為402649088(400MB)。

(4)、max_connections:

允許的同時客戶的數量。增加該值增加 MySQL性能優化 要求的文件描述符的數量。這個數字應該增加,否則,你將經常看到 Too many connections 錯誤。 默認數值是100,我把它改為1024 。

(5)、record_buffer:

每個進行一個順序掃描的線程為其掃描的每張表分配這個大小的一個緩沖區。如果你做很多順序掃描,你可能想要增加該值。默認數值是131072(128K),我把它改為16773120 (16M)

(6)、sort_buffer:

windows下MySQL master-slaveMySQL 復制設置

Set up MySQL replication and control slave thread

MySQL主從備份

推薦圈子: Database圈子

更多相關推薦 假設安裝過一個MySQL

1.先安裝2個MySQL性能優化 其實也就是復制一個MySQL (MySQL5.1 和 MySQL5.2)

2.修改端口號和安裝地址(my.ini) 這裡我們不使用默認端口3306 主要測試

Xml代碼

  1. MySQL5.1   
  2. [client]   
  3. port=3307   
  4. [MySQLd]   
  5. port=3307   
  6. basedir="E:/MySQL5.1/"   
  7. datadir="E:/MySQL5.1/Data/"   
  8. MySQL5.2   
  9. [client]   
  10. port=3308   
  11. [MySQLd]   
  12. port=3308   
  13. basedir="E:/MySQL5.2/"   
  14. datadir="E:/MySQL5.2/Data/"   
  15. MySQL5.1  
  16. [client]  
  17. port=3307 
  18. [MySQLd]  
  19. port=3307 
  20. basedir="E:/MySQL5.1/" 
  21. datadir="E:/MySQL5.1/Data/" 
  22. MySQL5.2  
  23. [client]  
  24. port=3308 
  25. [MySQLd]  
  26. port=3308 
  27. basedir="E:/MySQL5.2/" 
  28. datadir="E:/MySQL5.2/Data/" 

3.在Master(MySQL5.1)的數據庫中建立一個備份帳戶,命令如下

Sql代碼

  1. GRANT REPLICATION SLAVE ON *.* TO 'slave'@'localhost' IDENTIFIED BY '123456';   
  2. GRANT REPLICATION SLAVE ON *.* TO 'slave'@'localhost' IDENTIFIED BY '123456';  

4.Master 為MySQL5.1 修改如下(my.ini):

Xml代碼

  1. [MySQLd]   
  2. Master start  

日志輸出地址 主要同步使用

  1. log-bin=E:\MySQL5.1\Data\log-bin.log  

同步數據庫

  1. binlog-do-db=cnb  

主機id 不能和從機id重復

  1. server-id=1   
  2. Master end   
  3. [MySQLd]  
  4. Master start  

日志輸出地址 主要同步使用

  1. log-bin=E:\MySQL5.1\Data\log-bin.log 

同步數據庫

  1. binlog-do-db=cnb 

主機id 不能和從機id重復

  1. server-id=1   
  2. Master end 

5.Slave 為性能優化修改如下(my.ini):

以上的相關內容就是對MySQL性能優化的部分內容的介紹,望你能有所收獲。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved