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

簡(jiǎn)單實(shí)現(xiàn)MySQL服務(wù)器的優(yōu)化配置

數(shù)據(jù)庫 MySQL
我們今天主要向大家描述的是MySQL服務(wù)器的優(yōu)化配置的時(shí)機(jī)操作步驟,以及在MySQL服務(wù)器的優(yōu)化配置的的過程中值得我們主義的事項(xiàng)的介紹。

以下的文章主要介紹的是對(duì)MySQL服務(wù)器的優(yōu)化配置的時(shí)機(jī)操作步驟,同時(shí)本文也介紹了MySQL服務(wù)器的優(yōu)化配置的實(shí)際應(yīng)用代碼,如果你對(duì)其相關(guān)的實(shí)際應(yīng)用感興趣的話,你就可以點(diǎn)擊以下的文章對(duì)其進(jìn)行了解。

你能用這個(gè)命令得到MySQL服務(wù)器缺省緩沖區(qū)大小:

 

shell> MySQL(和PHP搭配之最佳組合)d --help

這個(gè)命令生成一張所有MySQL(和PHP搭配之最佳組合)d選項(xiàng)和可配置變量的表。輸出包括缺省值并且看上去象這樣一些東西:

Possible variables for option --set-variable (-O) are:

 

 

  1. back_log current value: 5   
  2. connect_timeout current value: 5   
  3. delayed_insert_timeout current value: 300   
  4. delayed_insert_limit current value: 100   
  5. delayed_queue_size current value: 1000   
  6. flush_time current value: 0   
  7. interactive_timeout current value: 28800   
  8. join_buffer_size current value: 131072   
  9. key_buffer_size current value: 1048540   
  10. lower_case_table_names current value: 0   
  11. long_query_time current value: 10   
  12. max_allowed_packet current value: 1048576   
  13. max_connections current value: 100   
  14. max_connect_errors current value: 10   
  15. max_delayed_threads current value: 20   
  16. max_heap_table_size current value: 16777216   
  17. max_join_size current value: 4294967295   
  18. max_sort_length current value: 1024   
  19. max_tmp_tables current value: 32   
  20. max_write_lock_count current value: 4294967295   
  21. net_buffer_length current value: 16384   
  22. query_buffer_size current value: 0   
  23. record_buffer current value: 131072   
  24. sort_buffer current value: 2097116   
  25. table_cache current value: 64   
  26. thread_concurrency current value: 10   
  27. tmp_table_size current value: 1048576   
  28. thread_stack current value: 131072   
  29. wait_timeout current value: 28800  

如果有一個(gè)MySQL服務(wù)器正在運(yùn)行,通過執(zhí)行這個(gè)命令,你可以看到它實(shí)際上使用的變量的值:

  1. shell> MySQL(和PHP搭配之最佳組合)admin variables  

每個(gè)選項(xiàng)在下面描述。對(duì)于緩沖區(qū)大小、長(zhǎng)度和棧大小的值以字節(jié)給出,你能用于個(gè)后綴“K”或“M” 指出以K字節(jié)或兆字節(jié)顯示值。例如,16M指出16兆字節(jié)。后綴字母的大小寫沒有關(guān)系;16M和16m是相同的。

你也可以用命令SHOW STATUS自一個(gè)運(yùn)行的服務(wù)器看見一些統(tǒng)計(jì)。見7.21 SHOW語法(得到表、列的信息)。

back_log

要求MySQL(和PHP搭配之最佳組合)能有的連接數(shù)量。當(dāng)主要MySQL(和PHP搭配之最佳組合)線程在一個(gè)很短時(shí)間內(nèi)得到非常多的連接請(qǐng)求,這就起作用,然后主線程花些時(shí)間(盡管很短)檢查連接并且啟動(dòng)一個(gè)新線程。back_log值指出在MySQL(和PHP搭配之最佳組合)暫時(shí)停止回答新請(qǐng)求之前的短時(shí)間內(nèi)多少個(gè)請(qǐng)求可以被存在堆棧中。只有如果期望在一個(gè)短時(shí)間內(nèi)有很多連接,你需要增加它,換句話說,這值對(duì)到來的TCP/IP連接的偵聽隊(duì)列的大小。你的操作系統(tǒng)在這個(gè)隊(duì)列大小上有它自己的限制。 Unix listen(2)系統(tǒng)調(diào)用的手冊(cè)頁應(yīng)該有更多的細(xì)節(jié)。檢查你的OS文檔找出這個(gè)變量的最大值。試圖設(shè)定back_log高于你的操作系統(tǒng)的限制將是無效的。

 

connect_timeout

 

MySQL(和PHP搭配之最佳組合)d服務(wù)器在用Bad handshake(糟糕的握手)應(yīng)答前正在等待一個(gè)連接報(bào)文的秒數(shù)。

 

delayed_insert_timeout

 

一個(gè)INSERT DELAYED線程應(yīng)該在終止之前等待INSERT語句的時(shí)間。

 

delayed_insert_limit

 

在插入delayed_insert_limit行后,INSERT DELAYED處理器將檢查是否有任何SELECT語句未執(zhí)行。如果這樣,在繼續(xù)前執(zhí)行允許這些語句。

 

delayed_queue_size

 

應(yīng)該為處理INSERT DELAYED分配多大一個(gè)隊(duì)列(以行數(shù))。如果排隊(duì)滿了,任何進(jìn)行INSERT DELAYED的客戶將等待直到隊(duì)列又有空間了。

 

flush_time

 

如果這被設(shè)置為非零值,那么每flush_time秒所有表將被關(guān)閉(以釋放資源和sync到磁盤)。

 

interactive_timeout

 

MySQL服務(wù)器在關(guān)上它前在一個(gè)交互連接上等待行動(dòng)的秒數(shù)。一個(gè)交互的客戶被定義為對(duì)MySQL(和PHP搭配之最佳組合)_real_connect()使用CLIENT_INTERACTIVE選項(xiàng)的客戶。也可見wait_timeout。

 

join_buffer_size

 

用于全部聯(lián)結(jié)(join)的緩沖區(qū)大小(不是用索引的聯(lián)結(jié))。緩沖區(qū)對(duì)2個(gè)表間的每個(gè)全部聯(lián)結(jié)分配一次緩沖區(qū),當(dāng)增加索引不可能時(shí),增加該值可得到一個(gè)更快的全部聯(lián)結(jié)。(通常得到快速聯(lián)結(jié)的最佳方法是增加索引。)

 

key_buffer_size

 

索引塊是緩沖的并且被所有的線程共享。key_buffer_size是用于索引塊的緩沖區(qū)大小,增加它可得到更好處理的索引(對(duì)所有讀和多重寫),到你能負(fù)擔(dān)得起那樣多。如果你使它太大,系統(tǒng)將開始換頁并且真的變慢了。記住既然MySQL(和PHP搭配之最佳組合)不緩存讀取的數(shù)據(jù),你將必須為OS文件系統(tǒng)緩存留下一些空間。為了在寫入多個(gè)行時(shí)得到更多的速度,使用LOCK TABLES。見7.24LOCK TABLES/UNLOCK TABLES語法。

 

long_query_time

 

如果一個(gè)查詢所用時(shí)間超過它(以秒計(jì)),Slow_queries記數(shù)器將被增加。

 

max_allowed_packet

 

一個(gè)包的最大尺寸。消息緩沖區(qū)被初始化為net_buffer_length字節(jié),但是可在需要時(shí)增加到max_allowed_packet個(gè)字節(jié)。缺省地,該值太小必能捕捉大的(可能錯(cuò)誤)包。如果你正在使用大的BLOB列,你必須增加該值。它應(yīng)該象你想要使用的最大BLOB的那么大。

 

max_connections

 

允許的同時(shí)客戶的數(shù)量。增加該值增加MySQL(和PHP搭配之最佳組合)d要求的文件描述符的數(shù)量。見下面對(duì)文件描述符限制的注釋。見18.2.4 Too many connections錯(cuò)誤。

 

max_connect_errors

 

如果有多于該數(shù)量的從一臺(tái)主機(jī)中斷的連接,這臺(tái)主機(jī)阻止進(jìn)一步的連接。你可用FLUSH HOSTS命令疏通一臺(tái)主機(jī)。

 

max_delayed_threads

 

不要啟動(dòng)多于的這個(gè)數(shù)字的線程來處理INSERT DELAYED語句。如果你試圖在所有INSERT DELAYED線程在用后向一張新表插入數(shù)據(jù),行將被插入,就像DELAYED屬性沒被指定那樣。

 

max_join_size

 

可能將要讀入多于max_join_size個(gè)記錄的聯(lián)結(jié)將返回一個(gè)錯(cuò)誤。如果你的用戶想要執(zhí)行沒有一個(gè)WHERE子句、花很長(zhǎng)時(shí)間并且返回百萬行的聯(lián)結(jié),設(shè)置它。

 

max_sort_length

 

在排序BLOB或TEXT值時(shí)使用的字節(jié)數(shù)(每個(gè)值僅頭max_sort_length個(gè)字節(jié)被使用;其余的被忽略)。

 

max_tmp_tables

 

(該選擇目前還不做任何事情)。一個(gè)客戶能同時(shí)保持打開的臨時(shí)表的最大數(shù)量。

 

net_buffer_length

 

通信緩沖區(qū)在查詢之間被重置到該大小。通常這不應(yīng)該被改變,但是如果你有很少的內(nèi)存,你能將它設(shè)置為查詢期望的大小。(即,客戶發(fā)出的SQL語句期望的長(zhǎng)度。如果語句超過這個(gè)長(zhǎng)度,緩沖區(qū)自動(dòng)地被擴(kuò)大,直到max_allowed_packet個(gè)字節(jié)。)

 

record_buffer

 

每個(gè)進(jìn)行一個(gè)順序掃描的線程為其掃描的每張表分配這個(gè)大小的一個(gè)緩沖區(qū)。如果你做很多順序掃描,你可能想要增加該值。

 

sort_buffer

 

每個(gè)需要進(jìn)行排序的線程分配該大小的一個(gè)緩沖區(qū)。增加這值加速ORDER BY或GROUP BY操作。見18.5 MySQL(和PHP搭配之最佳組合)在哪兒存儲(chǔ)臨時(shí)文件。

 

table_cache

 

為所有線程打開表的數(shù)量。增加該值能增加MySQL(和PHP搭配之最佳組合)d要求的文件描述符的數(shù)量。MySQL(和PHP搭配之最佳組合)對(duì)每個(gè)唯一打開的表需要2個(gè)文件描述符,見下面對(duì)文件描述符限制的注釋。對(duì)于表緩存如何工作的信息,見10.2.4 MySQL(和PHP搭配之最佳組合)怎樣打開和關(guān)閉表。

 

tmp_table_size

 

如果一張臨時(shí)表超出該大小,MySQL(和PHP搭配之最佳組合)產(chǎn)生一個(gè)The table tbl_name is full形式的錯(cuò)誤,如果你做很多高級(jí)GROUP BY查詢,增加tmp_table_size值。

 

thread_stack

 

每個(gè)線程的棧大小。由crash-me測(cè)試檢測(cè)到的許多限制依賴于該值。缺省隊(duì)一般的操作是足夠大了。見10.8 使用你自己的基準(zhǔn)。

 

wait_timeout

 

MySQL服務(wù)器在關(guān)閉它之前在一個(gè)連接上等待行動(dòng)的秒數(shù)。也可見interactive_timeout。

 

MySQL(和PHP搭配之最佳組合)使用是很具伸縮性的算法,因此你通常能用很少的內(nèi)存運(yùn)行或給MySQL(和PHP搭配之最佳組合)更多的被存以得到更好的性能。

 

如果你有很多內(nèi)存和很多表并且有一個(gè)中等數(shù)量的客戶,想要最大的性能,你應(yīng)該一些象這樣的東西:

  1. shell> safe_MySQL(和PHP搭配之最佳組合)d -O key_buffer=16M -O table_cache=128 \   
  2. -O sort_buffer=4M -O record_buffer=1M &  

如果你有較少的內(nèi)存和大量的連接,使用這樣一些東西:

  1. shell> safe_MySQL(和PHP搭配之最佳組合)d -O key_buffer=512k -O sort_buffer=100k \   
  2. -O record_buffer=100k &  

或甚至:

  1. shell> safe_MySQL(和PHP搭配之最佳組合)d -O key_buffer=512k -O sort_buffer=16k \   
  2. -O table_cache=32 -O record_buffer=8k -O net_buffer=1K &  

如果有很多連接,“交換問題”可能發(fā)生,除非MySQL(和PHP搭配之最佳組合)d已經(jīng)被配置每個(gè)連接使用很少的內(nèi)存。當(dāng)然如果你對(duì)所有連接有足夠的內(nèi)存,MySQL(和PHP搭配之最佳組合)d執(zhí)行得更好。

注意,如果你改變MySQL(和PHP搭配之最佳組合)d的一個(gè)選項(xiàng),它實(shí)際上只對(duì)MySQL服務(wù)器的那個(gè)例子保持。

為了明白一個(gè)參數(shù)變化的效果,這樣做:

  1. shell> MySQL(和PHP搭配之最佳組合)d -O key_buffer=32m --help  

保證--help選項(xiàng)是最后一個(gè);否則,命令行上在它之后列出的任何選項(xiàng)的效果將不在反映在輸出中。

【編輯推薦】

  1. 獲得MySQL運(yùn)行報(bào)告,并不難
  2. 提高M(jìn)ySQL連接數(shù),很簡(jiǎn)單
  3. 修改MySQL root密碼5步驟介紹
  4. MySQL數(shù)據(jù)庫的同步實(shí)例的實(shí)際操作
  5. 實(shí)現(xiàn)MySQL自動(dòng)啟動(dòng)很簡(jiǎn)單

 

 

責(zé)任編輯:佚名 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-16 09:50:37

IBM至強(qiáng)服務(wù)器

2009-09-08 13:48:13

NFS服務(wù)器

2017-08-01 08:28:46

4G服務(wù)器MySQL

2010-08-26 15:21:13

DHCP服務(wù)器

2010-05-19 10:31:07

IIS服務(wù)器

2010-09-14 10:29:43

配置tftp服務(wù)器

2011-03-11 15:53:02

LAMP優(yōu)化

2024-05-08 16:47:24

PostgreSQL數(shù)據(jù)庫

2010-10-11 17:16:13

mysql服務(wù)器

2011-03-11 15:52:59

LAMP優(yōu)化

2012-09-04 13:56:48

LinuxMySQL優(yōu)化

2010-10-11 17:23:47

mysql建主從服務(wù)器

2009-02-27 14:46:00

Linux服務(wù)器MySQL服務(wù)器服務(wù)器優(yōu)化

2009-09-17 16:06:18

2010-06-04 09:49:50

MySQL服務(wù)器

2011-03-03 09:40:58

2022-05-05 09:27:31

Linux服務(wù)器優(yōu)化

2010-06-04 16:52:11

MySQL服務(wù)器

2018-09-30 11:05:38

2009-04-15 11:42:34

MySQL優(yōu)化status
點(diǎn)贊
收藏

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