久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

mySQL中怎么優化虛擬內存

165次閱讀
沒有評論

共計 3754 個字符,預計需要花費 10 分鐘才能閱讀完成。

這篇文章給大家介紹 mySQL 中怎么優化虛擬內存,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

更改后如下:

innodb_buffer_pool_size=576M – 256M InnoDB 引擎緩沖區占了大頭,首要就是拿它開刀
query_cache_size=100M  – 16M 查詢緩存
tmp_table_size=102M  – 64M 臨時表大小
key_buffer_size=256m  – 32M

重啟 mysql 服務后,虛擬內存降到 200 以下.

另外 mysql 安裝目錄下有幾個文件:my-huge.ini、my-large.ini、my-medium.ini… 這幾個是根據內存大小作的建議配置,新手在設置的時候也可以參考一下。
2G 內存的 MYSQL 數據庫服務器 my.ini 優化 (my.ini)

2G 內存, 針對站少, 優質型的設置, 試驗特:

table_cache=1024 物理內存越大, 設置就越大. 默認為 2402, 調到 512-1024 最佳
innodb_additional_mem_pool_size=8M  默認為 2M
innodb_flush_log_at_trx_commit=0 等到 innodb_log_buffer_size 列隊滿后再統一儲存, 默認為 1
innodb_log_buffer_size=4M  默認為 1M
innodb_thread_concurrency=8  你的服務器 CPU 有幾個就設置為幾, 默認為 8
key_buffer_size=256M  默認為 218  調到 128 最佳
tmp_table_size=64M  默認為 16M  調到 64-256 最掛
read_buffer_size=4M  默認為 64K
read_rnd_buffer_size=16M  默認為 256K
sort_buffer_size=32M  默認為 256K
max_connections=1024  默認為 1210

試驗一:

table_cache=512 或 1024
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=1M
innodb_thread_concurrency=8  你的服務器 CPU 有幾個就設置為幾, 默認為 8
key_buffer_size=128M
tmp_table_size=128M
read_buffer_size=64K 或 128K
read_rnd_buffer_size=256K
sort_buffer_size=512K
max_connections=1024 

 
試驗二:

table_cache=512 或 1024
innodb_additional_mem_pool_size=8M 
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=4M 
innodb_thread_concurrency=8 
key_buffer_size=128M 
tmp_table_size=128M 
read_buffer_size=4M 
read_rnd_buffer_size=16M 
sort_buffer_size=32M 
max_connections=1024 

 
一般:

table_cache=512
innodb_additional_mem_pool_size=8M 
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=4M 
innodb_thread_concurrency=8 
key_buffer_size=128M 
tmp_table_size=128M 
read_buffer_size=4M 
read_rnd_buffer_size=16M 
sort_buffer_size=32M 
max_connections=1024
 
經過測試. 沒有特殊情況, 最好還是用默認的.

2G 內存, 針對站多, 抗壓型的設置, 最佳:

table_cache=1024 物理內存越大, 設置就越大. 默認為 2402, 調到 512-1024 最佳
innodb_additional_mem_pool_size=4M  默認為 2M
innodb_flush_log_at_trx_commit=1
(設置為 0 就是等到 innodb_log_buffer_size 列隊滿后再統一儲存, 默認為 1)
innodb_log_buffer_size=2M  默認為 1M
innodb_thread_concurrency=8  你的服務器 CPU 有幾個就設置為幾, 建議用默認一般為 8
key_buffer_size=256M  默認為 218  調到 128 最佳
tmp_table_size=64M  默認為 16M  調到 64-256 最掛
read_buffer_size=4M  默認為 64K
read_rnd_buffer_size=16M  默認為 256K
sort_buffer_size=32M  默認為 256K
max_connections=1024  默認為 1210
thread_cache_size=120  默認為 60
query_cache_size=64M

優化 mysql 數據庫性能的十個參數

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

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

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

4)、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。

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

(6)、sort_buffer:
每個需要進行排序的線程分配該大小的一個緩沖區。增加這值加速 order by 或 group by 操作。默認數值是 2097144(2m),我把它改為 16777208 (16m)。

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

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

(9)mysql 的搜索功能
用 mysql 進行搜索,目的是能不分大小寫,又能用中文進行搜索
只需起動 mysqld 時指定 –default-character-set=gb2312

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

注:參數的調整可以通過修改 /etc/my.cnf (下為 my.ini)文件并重啟   實現。這是一個比較謹慎的工作,上面的結果也僅僅是我的一些看法,你可以根據你自己主機的硬件情況(特別是內存大小)進一步修改。

關于 mySQL 中怎么優化虛擬內存就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-04發表,共計3754字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 诏安县| 南平市| 北辰区| 湄潭县| 瑞安市| 中卫市| 朔州市| 当雄县| 洛南县| 富顺县| 翁牛特旗| 沿河| 韩城市| 同江市| 元氏县| 当阳市| 秦安县| 通辽市| 普兰县| 伊通| 霍山县| 吉首市| 贞丰县| 大化| 合作市| 塔城市| 乐至县| 永平县| 开阳县| 靖边县| 若尔盖县| 防城港市| 定安县| 和龙市| 福州市| 喀什市| 汉源县| 方山县| 白朗县| 和龙市| 赤壁市|