mysql優化之 配置

2022-08-03 12:12:16 字數 1418 閱讀 8162

1.當寫入時,使用 innodb_flush_method=o_direct 來避免雙緩衝。

2.避免使用 o_direct 和 ext3 檔案系統 – 你將序列化所有要寫入的。

3.分配足夠的 innodb_buffer_pool_size 來載入整個 innodb 檔案到記憶體中– 少從磁碟中讀取。

4.不要將 innodb_log_file_size 引數設定太大, 這樣可以更快同時有更多的磁碟空間 – 丟掉多的日誌通常是好的,在資料庫崩潰後可以降低恢復資料庫的時間。

5.不要混用 innodb_thread_concurrency 和 thread_concurrency 引數– 這2個值是不相容的。

6.分配乙個極小的數量給 max_connections 引數 – 太多的連線會用盡ram並鎖定mysql服務。

7.保持 thread_cache 在乙個相對較高的數字,大約 16 – 防止開啟連線時緩慢。

8.使用skip-name-resolve引數 – 去掉 dns 查詢。

9.如果你的查詢都是重複的,並且資料不常常發生變化,那麼可以使用查詢快取。但是如果你的資料經常發生變化,那麼使用查詢快取會讓你感到失望。

10.增大temp_table_size值,以防止寫入磁碟

11.增大max_heap_table_size值,以防止寫入磁碟

12.不要把sort_buffer_size值設定的太高,否則的話你的記憶體將會很快耗盡

13.根據key_read_requests和key_reads值來決定key_buffer的大小,一般情況下key_read_requests應該比key_reads值高,否則你不能高效的使用key_buffer

14.將innodb_flush_log_at_trx_commit設定為0將會提高效能,但是如果你要保持預設值(1)的話,那麼你就要確保資料的完整性,同時你也要確保複製不會滯後。

15.你要有乙個測試環境,來測試你的配置,並且在不影響正常生產的情況下,可以常常進行重啟。

my.ini

port=3306 預設埠是3306

max_connections=100 # 最大連線數/最大併發數,一般**調整到 1000 左右 ,可以修改到2000,再大沒有用

query_cache_size=15m # 調整查詢快取的大小

[innodb]

innodb_additional_mem_pool_size=64m

innodb_buffer_pool_size=1g

[myisam]

key_buffer_size #需要調整

調整引數還要看狀態,用 show status 可以看到當前狀態,以決定該調整哪些引數

如果你的機器記憶體超過4g,則應當採用64位作業系統和64位mysql5.5.19

mysql配置優化 MySQL配置效能優化

下面配置的優化,可能影響比較大,可能可以顯著提高讀寫效能。1 mysql一些主要配置項介紹 innodb buffer pool size 這是你安裝完innodb後第乙個應該設定的選項。緩衝池是資料和索引快取的地方 這個值越大越好,這能保證你在大多數的讀取操作時使用的是記憶體而不是硬碟。如果是純資...

MySQL效能優化之引數配置

1 windows下mysql的配置檔案是my.ini,一般會在安裝目錄的根目錄。2 linux下mysql的配置檔案是my.cnf,一般會放在 etc my.cnf,etc mysql my.cnf。如果找不到,可以用find命令查詢。注意 linux用rpm包安裝的mysql是不會安裝 etc ...

Mysql優化配置

mysql配置優化 一 環境介紹 mysql版本 5.6.23 二 優化內容 字段介紹 推薦值skip locking 避免mysql 的外部鎖定,減少出錯機率增強穩定性 back log mysql可能的連線數量 linux下推薦小於 512 384key buffer size key buff...