Mysql參數詳解

一、配置參數

MySQL有兩種途徑途徑瞭解其的配置參數,一個是MySQL交互模式下的命令SHOW  VARIABLES,一個使用mysqladmin variables 查詢。html

MySQL的配置參數分爲2種,全局的和局部的。局部的配置變量能夠在每次會話中本身更改。mysql

從MySQL 4.0之後開始,在SHOW VARIABLES中顯示的參數,大部分能夠動態使用SET命令進行更改。sql

基本參數配置:數據庫

參數windows

說明數組

bind-address緩存

綁定的IP地址安全

user服務器

用戶網絡

port

端口號

datadir

數據文件目錄

basedir

msyql應用程序的目錄

socket

socket文件,默認在/tmp目錄下,可是建議不要這樣設置,/tmp目錄是一個你們都願意破壞的目錄

default-table-type

默認表類型

查詢的Cache的是從MySQL4.0版本開始提供的功能。相關的參數爲:

參數

說明

query_cache_size

查詢Cache的尺寸

query_cache_type

查詢的Cache類型。

0 OFF,不進行緩衝

1 ON,進行緩衝

2 DEMAND,對SELECT SQL_CACHE開頭的查詢進行緩衝

query_cache_limit

查詢的結果的限制長度,小於這個長度的數據才能Cache

MyISAM的索引參數:key_buffer_size爲MyISAM引擎的最關鍵的優化參數之一。

參數

說明

key_buffer_size

(關鍵參數),索引塊用的緩衝區大小,全部的鏈接程序線程共用

key_cache_block_size

每個索引block的大小,默認1024字節,從4.1.1後纔出現這個參數,原來都是直接採用1024字節做爲Block的長度

InnoDB使用的參數:InnoDB的參數較少,籠統而不細緻,內存的管理多由InnoDB引擎本身負責,主要的緩衝就是innodb_buffer_pool_size參數分配的緩衝。這樣配置卻是簡單了,但沒有了細緻優化樂趣。

參數

說明

innodb_buffer_pool_size

innodb的緩衝區大小,存放數據和索引,通常設置爲機器內存的50%-80%

 (關鍵參數)

innodb_log_buffer_size

InnoDB日誌緩衝區大小

innodb_flush_method

刷新日誌的方法

innodb_additional_mem_pool_size

innodb內存池的大小,存放着各類內部使用的數據結構

innodb_data_home_dir

InnoDB數據文件的目錄

innodb_data_file_path

數據文件配置

innodb_log_files_in_group

Innodb日誌的

innodb_log_file_size

Innodb日誌文件的尺寸

innodb_lock_wait_timeout

等待數據鎖的超時時間,避免死鎖的一種措施

innodb_flush_log_at_trx_commit

日誌提交方式 (關鍵參數)

0每秒寫1第二天志,將數據刷入磁盤,至關於每秒提交一次事務。

1每次提交事務寫日誌,同時將刷新相應磁盤,默認參數。

2每提交事務寫一第二天志,但每隔一秒刷新一次相應的磁盤文件[注]

innodb_force_recovery

在Innodb的自動恢復失敗後,從崩潰中強制啓動,有1-6個級別,數值越低恢復的方式也保守,默認爲4。儘可能使用較保守方式恢復。

恢復後要註釋刪除這一行。

Log的參數:MySQL的日誌有6種,查詢日誌,慢查詢日誌,變動日誌,二進制變動日誌,告警日誌,錯誤日誌。my.cnf中能夠配置日誌的前綴和日誌參數。日誌是監控數據庫系統的重要途徑。

參數

說明

log

查詢日誌,記錄全部的MySQL的命令操做,在跟蹤數據庫運行時很是有幫助,但在實際環境中就不要使用了

log-update

變動日誌,用文本方式記錄全部改變數據的變動操做,

log-bin

二進制變動日誌,更加緊湊,使用mysqlbinlog讀取,操做,轉換

binlog_cache_size

臨時存放某次事務的SQL語句緩衝長度

max_binlog_cache_szie

最大的二進制Cache日誌緩衝區尺寸

max_binlog_size

最大的二進制日誌尺寸

log-error

致使沒法啓動的錯誤日誌

log-warnings

告警日誌

long_query_time

慢查詢時間限度,超過這個限度,mysqld認爲是一個慢查詢

log-queries-not-using-indexes

沒有使用索引查詢的日誌,方便記錄長時間訪問的查詢進行優化

log-slow-queries

慢速的查詢日誌,

打開文件參數:

參數

說明

table_cache

可以被同時打開的表最大個數,打開一個表使用2個文件描述符

(關鍵參數)

open_files_limit

mysqld保留的文件描述符號個數,和table_cache和max_connections設置相關,默認爲0

設置爲0, 系統設置max_connections*5或者max_connections + table_cache*2中的最大值

關於鏈接通訊的參數:

參數

說明

max_connections

最大的鏈接數

max_connect_errors

同一個地址最大錯誤鏈接數,防止攻擊用

net_buffer_length

服務器和客戶之間通信的使用的緩衝區長度

max_allowed_packet

服務器和客戶之間最大的通訊的緩衝區長度

net_read_timeout

網絡讀取超時

net_write_timeout

網絡寫入超時

interactive_timeout

交互模式下的沒有操做後的超時時間

wait_ timeout

非交互模式的沒有操做後的超時時間

每一個會話使用的buffer設置,默認使用my.cnf的配置,也可使用每一個會話設置。不要設置的過大。

參數

說明

read_buffer_size

(record_buffer)

對數據表做順序讀取的緩衝大小

read_rnd_buffer_size

在排序後,讀取結果數據的緩衝區大小,

sort_buffer_size

(sort_buffer)

用來完成排序操做的線程使用的緩衝區大小

join_buffer_size

全關聯操做緩衝區(沒有索引而進行關聯操做)

write_buffer_size

myisamchk的特有選項

寫入緩衝區大小

myisam_sort_buffer_szie

爲索引的從新排序操做(好比CREATE INDEX)的分配的緩衝區的長度

對於磁盤緩式寫入的一些選項,delay_key_write,flush,flush_time參數可能能夠進一步提升MyISAM引擎的性能,可是在服務器Crash的時候,可能會丟失數據,形成表損壞。

MySQL對於插入語句支持一個選項INSERT DELAYED,若是有這個選項,MySQL將這些插入語句放入一個隊列,並不立刻讀入磁盤。delay_insert_XXX的選項都是配置這個功能,

MySQL建立表的時候也有一個選項,DELAY_KEY_WRITE,有這個選項描述的表的鍵發生改動後,改動能夠緩衝在key_buffer中,不當即回寫磁盤。

參數

說明

delay_insert_limit

INSERT DELAYED語句選項。(插入語句的描述)

處理INSERT DELAYED語句,MYSQL插入delay_insert_limit條語句後檢查是否有查詢語句,若有有去查詢,若是沒有,則繼續插入

delay_insert_timeout

在處理完INSERT DELAYED對列的插入數據後,MYSQL等待delay_insert_timeout秒後看看是否有INSERT DELAYED數據,若是有繼續,若是沒有結束此次操做。

delay_query_size

INSERT DELAYED插入數據對列的長度

max_delayed_threads

處理INSERT DELAYED語句的最大線程個數

delay_key_write

對於使用DELAY_KEY_WRITE選項的建立的表,能夠延緩鍵讀寫

0N  不延緩全部的鍵寫如操做

OFF延緩有DELAY_KEY_WRITE選項的標的鍵寫入操做

ALL延緩全部的表

flush

是否要在每一個操做後當即刷新數據表

flush_time

每隔多少秒,對數據表進行一次刷新。關閉後打開。

 

 

關閉某些選項:關閉某些選項能夠加快MySQL的運行速度,這些選項在MySQL SHOW VARIABLES 中顯示爲have_XXX 的變量。

參數

說明

skip-openssl

關閉mysql服務器對SSL加密的支持

skip-isam

關閉mysql服務器對isam的引擎的支持

skip-bdb

關閉mysql服務器對bdb的引擎的支持

skip-external-locking

不使用外部鎖,MySQL的外部鎖用於防止其餘程序修改正在數據文件,但其在部分系統上不可靠,通常都不使用。(4.03版本前叫skip-locking)

skip-innodb

關閉mysql服務器對innodb的引擎的支持

skip_networking

只能從本地訪問數據庫

 

 

其餘參數:

參數

說明

slow_launch_time

用多於這個時間建立的線程視爲一個慢建立線程

binlog_cache_size

臨時存放構成每次事務的SQL的緩衝區長度,(全局變量,可是應該影響每個會話)

max_binlog_cache_size

二進制日誌緩衝區的最大長度,其實就是事物的最大長度,默認4G

max_heap_table_size

HEAP表的最大容許長度

max_tmp_tables

臨時tables的最大個數

myisam_recover_options

myisam引擎的自動恢復模式

thread_cache_size

線程緩衝區的所能容納的最大線程個數

tmp_table_size

臨時tables的最大尺寸

 

2        運行狀態監控

MySQL有兩種途徑途徑瞭解其的運行狀態,一個是MySQL交互模式下的命令SHOW STATUS,一個使用mysqladmin extended-status  。兩種方法殊途同歸,經過觀察其運行狀態能夠了解咱們的參數設置是否合理,是否有要優化的表和數據。

SHOW STATUS顯示了MySQL從運行開始到如今爲止狀態,大部分爲一些計數器,使用FLUSH STATUS能夠從新對各類狀態變量進行計數。

                                                                                                                                                     表19 MySQL的狀態計數器

參數

說明

Aborted_clients

因客戶沒有正確關閉而丟棄的鏈接數量,沒有正確關閉指沒有調用mysql_close就退出,鏈接超時,數據傳送中客戶端退出

Aborted_connects

試圖鏈接MySQL服務器但沒有成功的次數

Connections

試圖鏈接MySQL服務器的嘗試次數,(包括成功的和沒有成功)

 

 

Com_XXX

執行語句的計數器,好比Com_select變量記錄了select語句的個數

 

 

Created_tmp_disk_tables

使用磁盤建立臨時表的次數,若是要建立的臨時表的尺寸大於tmp_table_size,那麼臨時表將建立在磁盤上,

Created_tmp_tables

建立臨時表的次數

 

 

Delayed_XXX

INSERT DELAYED語句的執行性能參數

 

 

Opened_tables

曾經打開過的數據表總數

Open_tables

當前處於打開的表個數

Open_files

當前處於打開的文件個數

 

 

Bytes_received

從客戶收到的字節總數

Bytes_send

發送給客戶的字節總數

 

 

Handler_commit

Handler_rollback

事務提交或者回滾的次數

Handler_delete

對數據表刪除一條記錄的次數

Handler_update

對數據表修改一條記錄的次數

Handler_write

對數據表插入一條記錄的次數

Handler_read_first

讀取索引中第一個索引項的個數

Handler_read_key

根據索引直接讀取一行數據的次數,這個數值高表示數據庫有較好的檢索能力。

Handler_read_next

根據索引讀取下個數據行的請求次數. 在一個索引的區間內進行查詢( > < ,orderby 這類查詢條件)會影響這個計數器。

Handler_read_prev

根據索引讀取前個數據行的請求次數.用於一些反序查詢。

Handler_read_rnd

經過一個固定位置(應該就是不經過索引)讀取一個數據行的次數。這個數值很高表示你的不少查詢操做的結果須要排序,可能這些查詢操做不能適當使用索引而要檢索整個表。

Handler_read_rnd_next

請求從數據文件中讀取下一個記錄的次數.若是有不少全表的檢索這個值將很高. 一般這表示數據表沒有合適的索引。

 

 

key_blocks_used

索引緩衝區塊中已經被使用的區塊大小。Block的尺寸默認是1024字節,4.1.1後能夠經過key_cache_block_size參數設置。能夠根據key_buffer_size/(1024 or key_cache_block_size) 獲得Block總數,而後知道key_buffer的利用率

Key_read_requests

從緩衝讀取1個Block的次數

Key_read

從磁盤讀取的次數

Key_write_requests

寫入索引緩衝區寫入一個Block的次數

Key_write

寫回磁盤的次數

 

 

Qcache_free_blocks

Qcache沒有使用的內存塊個數

Qcache_free_memory

Qcache沒有使用的內存尺寸

Qcache_hits

查詢在Qcache中的命中次數,和Com_select比較,就能夠知道Qache的大約命中率是多少。

Qcache_inserts

加入Cache中的查詢個數

Qcache_lowmem_prunes

因爲Qcache不夠用,形成替換出Qcache的查詢個數

Qcache_not_cached

沒有能Cache的查詢個數

 

 

Slow_queries

慢查詢的次數,若是一個查詢的所用的時間大於long_query_time設置的時間,則計數加1

 

 

Select_XXXX

關聯查詢的一些狀態計數

 

 

Innodb_XXXX

InnoDB的狀態技術器,不過只有MySQL 5.02的版本才支持這些計數器。這兒略過

 

 

Table_locks_waited

必須等待後才能完成表鎖定的請求個數,若是這個數值和下面數值的比率過大,表示數據庫的性能較低

Table_locks_immediate

無需等待,當即完成表鎖定的請求個數。

 

 

Thread_connected

如今處在鏈接打開狀態的線程個數

Thread_cached

如今在現場緩衝區的線程個數

Thread_created

到目前爲止,建立的線程個數

Thead_running

如今運行的線程個數,不是全部打開的線程都在運行,有些會處於SLEEP狀態

InnoDB的狀態監控的要在交互模式下使用show innodb status命令。相對的能夠利用InnoDB狀態參數也過少。

 

一、  innodb_flush_log_at_trx_commit  AND  sync_binlog

innodb_flush_log_at_trx_commit = N:

N=0  – 每隔一秒,把事務日誌緩存區的數據寫到日誌文件中,以及把日誌文件的數據刷新到磁盤上;

N=1  – 每一個事務提交時候,把事務日誌從緩存區寫到日誌文件中,而且刷新日誌文件的數據到磁盤上;

 

N=2  – 每事務提交的時候,把事務日誌數據從緩存區寫到日誌文件中;每隔一秒,刷新一第二天志文件,但不必定刷新到磁盤上,而是取決於操做系統的調度;

sync_binlog =  N:

N>0  — 每向二進制日誌文件寫入N條SQL或N個事務後,則把二進制日誌文件的數據刷新到磁盤上;

N=0  — 不主動刷新二進制日誌文件的數據到磁盤上,而是由操做系統決定;

推薦配置組合:

N=1,1  — 適合數據安全性要求很是高,並且磁盤IO寫能力足夠支持業務,好比充值消費系統;

N=1,0  — 適合數據安全性要求高,磁盤IO寫能力支持業務不富餘,容許備庫落後或無複製;

N=2,0或2,m(0<m<100)  — 適合數據安全性有要求,容許丟失一點事務日誌,複製架構的延遲也能接受;

N=0,0  — 磁盤IO寫能力有限,無複製或容許複製延遲稍微長點能接受,例如:日誌性登記業務;

二、 innodb_file_per_table

啓用單表空間,減小共享表空間維護成本,減小空閒磁盤空間釋放的壓力。另外,大數據量狀況下 的性能,也會有性能上的提高,爲此建議你們使用獨立表空間 代替  共享表空間的方式;

三、  key_buffer_size

 key_buffer_size只能緩存MyISAM或類MyISAM引擎的索引數據,而innodb_buffer_pool_size不只能緩存索引數據,還能緩存元數據,可是對於咱們只使用InnoDB引擎的數據庫系統而言,此參數值也不能設置過於偏小,由於臨時表可能會使用到此鍵緩存區空間,索引緩存區推薦:64M;

四、  query_cache_type  and query_cache_size

n  query_cache_type=N

N=0  —- 禁用查詢緩存的功能;

N=1  —- 啓用產訊緩存的功能,緩存全部符合要求的查詢結果集,除SELECT SQL_NO_CACHE.., 以及不符合查詢緩存設置的結果集外;

N=2  —- 僅僅緩存SELECT SQL_CACHE …子句的查詢結果集,除不符合查詢緩存設置的結果集外;

n  query_cache_size

查詢緩存設置多大才是合理?至少須要從四個維度考慮:

①   查詢緩存區對DDL和DML語句的性能影響;

②   查詢緩存區的內部維護成本;

③   查詢緩存區的命中率及內存使用率等綜合考慮

④   業務類型

 

五、  innodb_commit_concurrency

含義:同一時刻,容許多少個線程同時提交InnoDB事務,默認值爲0,範圍0-1000。

0      — 容許任意數量的事務在同一時間點提交;

N>0  — 容許N個事務在同一時間點提交;

注意事項:

①   mysqld提供服務時,不準把 innodb_commit_concurrency 的值從0改成非0,或非0的值改成0;

 

②   mysqld提供時,容許把 innodb_commit_concurrency 的值N>0改成M,且M>0;

六、 innodb_concurrency_tickets

含義:

同一時刻,能訪問InnoDB引擎數據的線程數,默認值爲500,範圍1-4294967295。

補充說明:當訪問InnoDB引擎數據的線程數達到設置的上線,線程將會被放到隊列中,等待其餘線程釋放ticket。

建議:

    MySQL數據庫服務最大線程鏈接數參數max_connections,通常狀況下都會設置在128-1024的範圍,再結合實際業務可能的最大事務併發度,innodb_concurrency_tickets保持默認值通常狀況下足夠。

七、 innodb_fast_shutdown  and innodb_force_recovery

innodb_fast_shutdown:

含義:設置innodb引擎關閉的方式,默認值爲:1,正常關閉的狀態;

0         —  mysqld服務關閉前,先進行數據徹底的清理和插入緩衝區的合併操做,如果髒數據

較多或者服務器性能等因素,會致使此過程須要數分鐘或者更長時間;

1          — 正常關閉mysqld服務,針對innodb引擎不作任何其餘的操做;

2  — 如果mysqld出現崩潰,當即刷事務日誌到磁盤上而且冷關閉mysqld服務;沒有提交

的事務將會丟失,可是再啓動mysqld服務的時候會進行事務回滾恢復;

innodb_force_recovery:

含義:

mysqld服務出現崩潰以後,InnoDB引擎進行回滾的模式,默認值爲0,可設置的值0~6;

提示:

   只有在須要從錯誤狀態的數據庫進行數據備份時,才建議設置innodb_force_recovery的值大於0。 如果把此參數做爲安全選項,也能夠把參數的值設置大於0,防止InnoDB引擎的數據變動,設置不一樣值的做用:

0 — 正常的關閉和啓動,不會作任何強迫恢復操做;

1 — 跳過錯誤頁,讓mysqld服務繼續運行。跳過錯誤索引記錄和存儲頁,嘗試用

SELECT *  INOT OUTFILE ‘../filename’ FROM tablename;方式,完成數據備份;

2 — 阻止InnoDB的主線程運行。清理操做時出現mysqld服務崩潰,則會阻止數據恢復操做;

3 —  恢復的時候,不進行事務回滾;

4 — 阻止INSERT緩衝區的合併操做。不作合併操做,爲防止出現mysqld服務崩潰。不計算

表的統計信息

5 — mysqld服務啓動的時候不檢查回滾日誌:InnoDB引擎對待每一個不肯定的事務就像提交

的事務同樣;

6 — 不作事務日誌前滾恢復操做;

推薦的參數組合配置:

innodb_fast_shutdown = 1

#如果機房條件較好可設置爲0(雙路電源、UPS、RAID卡電池和供電系統穩定性)

innodb_force_recovery =0

#至於出問題的時候,設置爲什麼值,要視出錯的緣由和程度,對數據後續作的操做

八、  innodb_additional_mem_pool_size

含義:開闢一片內存用於緩存InnoDB引擎的數據字典信息和內部數據結構(好比:自適應HASH索引結構);

默認值:build-in版本默認值爲:1M;Plugin-innodb版本默認值爲:8M;

提示:如果mysqld服務上的表對象數量較多,InnoDB引擎數據量很大,且innodb_buffer_pool_size的值設置 較大,則應該適當地調整innodb_additional_mem_pool_size的值。如果出現緩存區的內存不足,則會直接向操做系統申請內存分配,而且會向MySQL的error log文件寫入警告信息;

九、 innodb_buffer_pool_size

含義:開闢一片內存用於緩存InnoDB引擎表的數據和索引;

默認值:歷史默認值爲:8M,如今版本默認值爲:128M;

參數最大值:受限於CPU的架構,支持32位仍是支持64位,另外還受限於操做系統爲32位仍是64位;

提示:

innodb_buffer_pool_size的值設置合適,會節約訪問表對象中數據的物理IO。官方手冊上建議專用的數據庫服務器,可考慮設置爲物理內存總量的80%,可是我的建議要看物理服務器的物理內存總量,以及考慮: 是否只使用InnoDB引擎、mysqld內部管理佔用的內存、最大線程鏈接數和臨時表等因素,官方提供的80%值做爲一個參考,舉而個例子方便你們做決定(前提:物理服務器爲mysqld服務專用,且只用InnoDB引擎,假設數據量遠大於物理內存):

1).內存配置:24G    則 innodb_buffer_pool_size=18G

1).內存配置:32G    則 innodb_buffer_pool_size=24G

出現下列哪些狀況,則能夠考慮減少innodb_buffer_pool_size的值:

1).出現物理內存的競爭,可能致使操做系統的分頁;

2).InnoDB預分配額外的內存給緩衝區和結構管理,當分配的總內存量超過innodb_buffer_pool_size值的10%;

3).地址空間要求必須爲連續的,在windows系統有一個嚴重問題,DLL須要加載在特定的地址空間;

4).初始化緩衝區的時間消耗,與緩衝區的大小成正比。官方提供的數據 Linux X86 64位系統 初始化 innodb_buffer_pool_size=10G 大概須要6秒鐘;


十、  lower_case_table_names

   Linux或類Unix平臺,對文件名稱大小寫敏感,也即對數據庫、表、存儲過程等對象名稱大小寫敏 感,爲減小開發人員的開發成本,爲此推薦你們設置該參數使對象名稱都自動轉換成小寫;

十一、  max_connect_errors

    max_connect_errors默認值爲10,也即mysqld線程沒從新啓動過,一臺物理服務器只要鏈接 異常中斷累計超過10次,就再也沒法鏈接上mysqld服務,爲此建議你們設置此值至少大於等於10W; 若異常中斷累計超過參數設置的值,有二種解決辦法,執行命令:FLUSH HOSTS;或者從新啓動mysqld服務;

 

十二、  interactive_timeout  and wait_timeout

u  interactive_timeout

       處於交互狀態鏈接的活動被服務器端強制關閉,而等待的時間,單位:秒;

u  wait_timeout

       與服務器端無交互狀態的鏈接,直到被服務器端強制關閉而等待的時間,此參數只對基於TCP/IP或基於 Socket通訊協議創建的鏈接纔有效,單位:秒;

u  推薦設置

     interactive_timeout = 172800

     wait_timeout  = 172800

1三、  transaction-isolation  and binlog-format 

u  transaction-isolation

      可供設置的值:READ-UNCOMMITTED、READ-COMMITTED、REPEATABLE-READ、

SERIALIZABLE,默認的值爲: REPEATABLE-READ,事務隔離級別設置的不一樣,對二進制日誌登記格

式影響很是大,詳細信息可見文章解讀MySQL事務的隔離級別和日誌登記模式選擇技巧

u  binlog-format

       複製的模式,可供設置的值:STATEMENT、ROW、MIXED(注:5.0.*只有命令行式複製),

5.1.*版本默認設置:MIXED;

u  推薦配置

①   只讀爲主的業務應用場景

             transaction-isolation =  read-committed

             binlog-format  = mixed            #5.1.*版本,5.0.*只能設置爲 statement

①   非只讀爲主的業務應用場景

             transaction-isolation = repeatabled-read

             binlog-format  = mixed            #5.1.*版本,5.0.*只能設置爲 statement

1四、  event_scheduler

事務調度默認是關閉狀態,也推薦源碼編譯的版本可不編譯進來,以及實際生產環境保持默認禁用 狀態,當真正須要用的時候,能夠臨時打開,命令:SET GLOBAL event_scheduler=1;

1五、  skip_external_locking

外部鎖,也即操做系統所實施的鎖,只對MyISAM引擎有效,且容易形成死鎖發生,爲此咱們一概禁用;

1六、 innodb_adaptive_hash_index

InnoDB引擎會根據數據的訪問頻繁度,把表的數據逐漸緩到內存,如果一張表的數據大量緩存在 內存中,則使用散列索引(注:Hash Index)會更高效。InnoDB內有Hash Index機制,監控數據的訪 問狀況,能夠自動建立和維護一個Hash Index,以提供訪問效率,減小內存的使用;

1七、  innodb_max_dirty_pages_pct

    InnoDB主線程直接更新Innodb_buffer_pool_size中存在的數據,而且不實時刷回磁盤,而是等待 相關的處罰事件發生,則容許緩存空間的數據量不實時刷回磁盤的最大百分比。比例設置較小,有利於 減小mysqld服務出現問題的時候恢復時間,缺點則是須要更多的物理I/O,爲此咱們必須根據業務特色 和可承受範圍進行一個折中,通常範圍建議設置爲5%~90%,像咱們SNS遊戲行業的寫很是厲害,綜合 各方面因素,設置爲20%;

相關文章
相關標籤/搜索