日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

MySQL-性能优化_影响MySQL性能的因素分析及解决方案

發(fā)布時(shí)間:2025/3/21 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL-性能优化_影响MySQL性能的因素分析及解决方案 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 生猛干貨
  • 官方文檔
  • 影響性能的幾個(gè)因素
    • CPU
    • 內(nèi)存
    • 磁盤的配置和選擇
      • 傳統(tǒng)的機(jī)械硬盤
      • RAID
      • SSD 或者 PCIe卡
      • 網(wǎng)絡(luò)存儲(chǔ)SAN (光纖傳輸)和 NAS (帶寬傳輸)
    • 網(wǎng)絡(luò)
    • 操作系統(tǒng)
      • 內(nèi)核相關(guān)參數(shù) `/etc/sysctl.conf`
      • 資源限制的配置文件 /etc/security/limits.conf
      • 磁盤調(diào)度策略
    • 文件系統(tǒng)
  • 搞定MySQL

生猛干貨

帶你搞定MySQL實(shí)戰(zhàn),輕松對(duì)應(yīng)海量業(yè)務(wù)處理及高并發(fā)需求,從容應(yīng)對(duì)大場(chǎng)面試


官方文檔

https://dev.mysql.com/doc/

如果英文不好的話,可以參考 searchdoc 翻譯的中文版本

http://www.searchdoc.cn/rdbms/mysql/dev.mysql.com/doc/refman/5.7/en/index.com.coder114.cn.html


影響性能的幾個(gè)因素

  • 硬件資源(CPU 、內(nèi)存、磁盤等)

  • 操作系統(tǒng)的區(qū)別

  • MySQL的存儲(chǔ)引擎的選擇

    MyISAM: 不支持事務(wù),表級(jí)鎖
    InnoDB: 事務(wù)級(jí)存儲(chǔ)引擎,完美支持行級(jí)鎖,事務(wù)ACID特性。

    但 比不是說(shuō) MyISAM比InnoDB差,看使用場(chǎng)景

  • 數(shù)據(jù)庫(kù)參數(shù)設(shè)置

  • 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)和SQL語(yǔ)句 ,毫無(wú)疑問(wèn) 這個(gè)是最最重要的因素 —> mysql 可以開(kāi)啟慢查詢監(jiān)控耗時(shí)長(zhǎng)的SQL


CPU

更多的CPU or 更快的CPU ?

主要從以下幾個(gè)方面考慮:

  • (1)CPU密集型的應(yīng)用?

分析下我們的應(yīng)用的類型,是的話,要提高SQL的運(yùn)行效率,那就需要更快的CPU。

還有一點(diǎn)需要注意 MySQL不支持多CPU對(duì)同一SQL的并發(fā)處理,也就是說(shuō)一個(gè)SQL只能運(yùn)行在一個(gè)CPU的核上。


  • (2) 系統(tǒng)的并發(fā)量如何 ?

一個(gè)SQL只能跑在一個(gè)CPU上,如果有32個(gè)CPU呢 ,是不是同時(shí)可以跑32個(gè)SQL呢? 就是我們前面說(shuō)的QPS 。 一般web應(yīng)用,CPU的核心數(shù)量比CPU的主頻更重要。


  • (3) MySQL的版本 ?

5.6、 5.7以上的版本,對(duì)多核CPU的支持更好。


  • (4) 64位操作系統(tǒng) OR 32位操作系統(tǒng)

32的操作系統(tǒng),進(jìn)程所能尋址的最大內(nèi)存也就4G。

總結(jié)

  • 對(duì)于并發(fā)較高的場(chǎng)景,CPU的數(shù)量比頻率重要
  • 對(duì)CPU密集型場(chǎng)景和復(fù)雜的SQL 頻率越高越好

內(nèi)存

MyISAM : 索引 緩存在內(nèi)存 ,數(shù)據(jù)通過(guò)OS來(lái)緩存

InnoDB : 索引和數(shù)據(jù)都是通過(guò)內(nèi)存來(lái)緩存

舉個(gè)例子, 100G的數(shù)據(jù)量, 內(nèi)存64G,這個(gè)時(shí)候增加內(nèi)存對(duì)性能有提高。 如果內(nèi)存是256G,還是慢,那就是其他問(wèn)題了。

當(dāng)然了,內(nèi)存多了,對(duì)于數(shù)據(jù)的讀和寫都是好處的,都可以利用緩存來(lái)提高讀寫性能。

如何選擇內(nèi)存呢? ----> 建議選擇主板支持的最大內(nèi)存頻率, 跟CPU一個(gè)道理。

內(nèi)存的型號(hào),保持一致, 單個(gè)內(nèi)存盡可能的大,都是比較好的選擇。

配置的時(shí)候,要考慮數(shù)據(jù)的增長(zhǎng),比如100G的數(shù)據(jù), 128G內(nèi)存可能已經(jīng)滿足了要求,但數(shù)據(jù)可能增長(zhǎng)較快,這個(gè)時(shí)候256的更佳。

總結(jié)

  • 選擇主板所能使用的最高頻率的內(nèi)存
  • 內(nèi)存盡可能的多

磁盤的配置和選擇

主流的4種

  • 使用傳統(tǒng)的機(jī)械硬盤
  • 使用RAID增強(qiáng)傳統(tǒng)硬盤的性能
  • 使用固態(tài)存儲(chǔ)SSD和PCIe卡
  • 使用網(wǎng)絡(luò)存儲(chǔ)NAS和SAN

傳統(tǒng)的機(jī)械硬盤

傳統(tǒng)的機(jī)械硬盤的讀取數(shù)據(jù)的過(guò)程

  • 移動(dòng)磁頭到磁盤表面上正確的位置
  • 等待磁盤旋轉(zhuǎn),使所需的數(shù)據(jù)在磁頭之下 ----> 訪問(wèn)時(shí)間
  • 等磁盤旋轉(zhuǎn)過(guò)去,所需的數(shù)據(jù)被磁頭讀出 ------> 傳輸速度
  • 考慮的話 1. 存儲(chǔ)容量 2.傳輸速度 3 訪問(wèn)時(shí)間 4 主軸的轉(zhuǎn)速(常見(jiàn)的7200轉(zhuǎn)、1萬(wàn)5千轉(zhuǎn)等等) 5. 物理尺寸


    RAID

    RAID : 磁盤冗余隊(duì)列 (Redundant Arrays of Independent Disks )

    RAID是一種將多個(gè)容量較小的磁盤組成一組容量更大的磁盤,并提供數(shù)據(jù)冗余來(lái)保證數(shù)據(jù)完整性的技術(shù) 。

    Linux-Raid0、Raid1、Raid5、Raid10初探


    SSD 或者 PCIe卡

    SSD

    • 比普通的機(jī)械盤有更好的隨機(jī)讀寫性能
    • 支持更好的并發(fā), I/O 性能好
    • 缺點(diǎn): 長(zhǎng)時(shí)間密集的寫,容易造成損壞

    特點(diǎn):

    • 可以使用SATA接口,可以替換傳統(tǒng)的磁盤而不需要任何的改動(dòng)。
    • SATA接口的SSD同樣支持RAID
    • SATA的SSD 3.0 接口如果放到了 2.0接口上,受2.0接口的性能影響,性能會(huì)下降

    舉個(gè)例子 SATA3.0接口 6Gbps , 放到SATA2.0接口上 最多只能用到2.0的 3Gbps


    PCIe 卡(Fushion IO)

    • 無(wú)法使用SATA接口,需要獨(dú)特的驅(qū)動(dòng)和配置
    • 比SSD性能好,但價(jià)格也比SSD貴
    • PCIe 也會(huì)吃服務(wù)器的內(nèi)存
    • 支持PCIe的Raid控制器比較少,而且成本相當(dāng)高

    固態(tài)存儲(chǔ)使用的場(chǎng)景

    • 大量隨機(jī)I/O的場(chǎng)景
    • 解決單線程負(fù)載的I/O 瓶頸

    舉個(gè)例子

    主從節(jié)點(diǎn)的MYSQL, 有一個(gè)SSD, 給哪個(gè)節(jié)點(diǎn)用呢 ?

    ----> 從節(jié)點(diǎn) 上用。 主節(jié)點(diǎn)上寫 ,是多線程, 從節(jié)點(diǎn)的復(fù)制,單線程,為了減少延遲,建議放到從服務(wù)器上。


    網(wǎng)絡(luò)存儲(chǔ)SAN (光纖傳輸)和 NAS (帶寬傳輸)

    SAN: Storage Area Network

    NAS: Network Attached Storage

    是兩種外部文件存儲(chǔ)設(shè)備加載到服務(wù)器上的方法。

    SAN設(shè)備通過(guò)光纖連接服務(wù)器,設(shè)備通過(guò)塊接口訪問(wèn),服務(wù)器可以將其當(dāng)做硬盤使用。 可以承受大量的順序讀寫,但隨即讀有的時(shí)候不如RAID

    NAS 使用 寬帶來(lái)傳輸,有延遲。

    使用場(chǎng)景的話: 數(shù)據(jù)備份等 。

    總結(jié)

    • PCIe > SSD > Raid10 > 本地磁盤 > NAS

    網(wǎng)絡(luò)

    網(wǎng)絡(luò)帶寬 —> 低延時(shí) 、吞吐量達(dá)

    網(wǎng)絡(luò)質(zhì)量—> 少抖動(dòng)

    建議

    • 采用高性能和高帶寬的網(wǎng)絡(luò)接口設(shè)備和交換機(jī)
    • 對(duì)多個(gè)網(wǎng)卡進(jìn)行綁定,增強(qiáng)可用性和帶寬
    • 盡可能的進(jìn)行網(wǎng)絡(luò)隔離

    操作系統(tǒng)

    windows 和 linux , 大小寫的區(qū)別,可以通過(guò)修改MySQL的配置來(lái)調(diào)整。

    以CentoOS為例來(lái)了解下系統(tǒng)的參數(shù)優(yōu)化

    內(nèi)核相關(guān)參數(shù) /etc/sysctl.conf


    如需增加 可以直接追加到該文件的末尾

    net.core.somaxconn=65535 # Linux kernel參數(shù),表示socket監(jiān)聽(tīng)的backlog(監(jiān)聽(tīng)隊(duì)列)上限 net.core.netdev_max_bakclog=65535 # 允許發(fā)送到隊(duì)列中的數(shù)據(jù)包數(shù)目 net.ipv4.tcp_max_syn_backlog=65535 # #表示SYN隊(duì)列長(zhǎng)度,默認(rèn)1024,改成65535,可以容納更多等待連接的網(wǎng)絡(luò)連接數(shù)。 net.ipv4.tcp_fin_timeout = 10 #表示如果套接字由本端要求關(guān)閉,這個(gè)參數(shù)決定了它保持在FIN-WAIT-2狀態(tài)的時(shí)間 net.ipv4.tcp_tw_reuse = 1 #表示開(kāi)啟重用。允許將TIME-WAIT sockets重新用于新的TCP連接,默認(rèn)為0,表示關(guān)閉; net.ipv4.tcp_tw_recycle = 1 #表示開(kāi)啟TCP連接中TIME-WAIT sockets的快速回收,默認(rèn)為0,表示關(guān)閉。

    TCP/IP及內(nèi)核參數(shù)優(yōu)化調(diào)優(yōu)

    net.core.wmen_default = 87380 # 表示內(nèi)核套接字發(fā)送緩存區(qū)默認(rèn)的大小。 net.core.wmen_max = 16777216 # 表示內(nèi)核套接字發(fā)送緩存區(qū)最大大小。 net.core.rmem_default = 87380 # 默認(rèn)的TCP數(shù)據(jù)接收緩沖 net.core.rmem_max=16777216 # 最大的TCP數(shù)據(jù)接收緩沖 #單位是秒 可適當(dāng)調(diào)整 net.ipv4.tcp_keepalive_time = 120 # 有效時(shí)長(zhǎng) net.ipv4.tcp_keepalive_intvl = 30 # 探測(cè)失敗時(shí),重發(fā)的間隔 net.ipv4.tcp_keepalive_probes = 3 # 最多發(fā)送多少次探測(cè)消息 kernel.shmmax = 4294967295 # (4G)單個(gè)共享內(nèi)存段的最大值,應(yīng)該設(shè)置的足夠大,以便能在一個(gè)共享段下容納整個(gè)Innodb緩沖池的大小 。 可以取物理內(nèi)存-1 byte vm.swappiness = 0 # 除非虛擬內(nèi)存滿了,否則不會(huì)使用交換分區(qū)

    其實(shí)就是swap交換分區(qū)的設(shè)置, 當(dāng)操作系統(tǒng)沒(méi)有足夠的內(nèi)存時(shí),就會(huì)將一些虛擬內(nèi)存寫到磁盤的交換區(qū)中,這樣就會(huì)發(fā)生內(nèi)存交換。

    然后執(zhí)行sysctl -p命令,使上述修改生效


    資源限制的配置文件 /etc/security/limits.conf

    # 文件句柄數(shù)量 * soft nofile 65535 * hard nofile 65535 * 對(duì)所有用戶生效 soft 當(dāng)前系統(tǒng)生效的設(shè)置 hard 系統(tǒng)所能設(shè)置的最大值 nofile 表示所限制的資源是打開(kāi)文件的最大數(shù)目 65535 限制的數(shù)目

    這倆參數(shù),重啟系統(tǒng)才生效。


    磁盤調(diào)度策略

    I/O 調(diào)度算法再各個(gè)進(jìn)程競(jìng)爭(zhēng)磁盤I/O的時(shí)候擔(dān)當(dāng)了裁判的角色,以求得盡可能最好的整體I/O性能。

    在linux下面列出4種調(diào)度算法

    • CFQ (Completely Fair Queuing 完全公平的排隊(duì))(elevator=cfq) 默認(rèn)策略
    • Deadline (elevator=deadline): 試圖把每次請(qǐng)求的延遲降至最低
    • NOOP (elevator=noop):FIFO隊(duì)列形式處理
    • Anticipatory (elevator=as):對(duì)讀操作優(yōu)化服務(wù)時(shí)間,在提供一個(gè)I/O的時(shí)候進(jìn)行短時(shí)間等待,使進(jìn)程能夠提交到另外的I/O。
    #查看當(dāng)前IO[root@artisan ~]# cat /sys/block/sd*/queue/scheduler noop [deadline] cfq [root@artisan ~]#

    文件系統(tǒng)

    windows -----> FAT 和 NTFS

    WinServer 只有 NTFS 這種可以選擇

    Linux —> EXT3 EXT4 XFS

    EXT3 EXT4系統(tǒng)的掛載參數(shù) /etc/fstab

    # data的可配置選項(xiàng)data=writeback | ordered |journal noatime nodiratime /dev/sda1/ext4 noatime,nodiratime,data-writeback 1 1


    搞定MySQL

    總結(jié)

    以上是生活随笔為你收集整理的MySQL-性能优化_影响MySQL性能的因素分析及解决方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 风韵丰满熟妇啪啪区老熟熟女 | 久久香视频 | 亚洲综合久久婷婷 | 男女一进一出视频 | av女星全部名单 | 久久综合欧美 | 美女视频黄色在线观看 | 魔性诱惑 | 国产免费一区二区 | 免费无码肉片在线观看 | 成人午夜淫片免费观看 | 在线观看日本视频 | 四虎av影视 | 国产美女啪啪 | 欧美黄色一区二区三区 | 亚洲AV无码一区二区三区性 | 国产欧美日韩另类 | 加勒比一区二区 | 日韩av在线免费 | 综合爱爱网 | 在线观看网站 | 美女的奶胸大爽爽大片 | 中国女人内谢69xxxxⅹ视频 | 米奇7777狠狠狠狠视频 | 黄色激情视频网站 | 高潮一区二区三区 | 123成人网 | av第一页 | 综合色吧 | 最新中文字幕在线播放 | 国产freexxxx性播放麻豆 | 青青草华人在线 | 喷潮在线 | 日本黄在线观看 | 中文字幕 欧美日韩 | 精品自拍视频在线观看 | 国产成人在线视频免费观看 | 激情婷婷在线 | 美女三级视频 | 亚洲国产成人精品一区二区三区 | 日韩欧美久久精品 | 五月婷婷在线观看视频 | 亚洲色图视频在线观看 | 欧美日韩六区 | 依人在线视频 | 波多野结衣久久久久 | 色欲久久久天天天综合网精品 | 九九在线观看高清免费 | 久久久九九九九 | 人妻av无码一区二区三区 | 狠狠爱av| 牛牛视频在线观看 | 最新激情网 | 亚洲精品日韩av | 国产精品国产三级国产aⅴ 欧美bbbbbbbbbbbb18av | 神马久久久久久 | 精品网站999 | 中国女人裸体乱淫 | 91大神精品在线 | 亚洲中文字幕一区在线 | 国产手机在线视频 | 一级美女视频 | 香蕉国产在线视频 | 国产嫩草av | 日本在线一 | 国产女厕一区二区三区在线视 | 91精品人妻一区二区三区果冻 | 久热草| 国产午夜精品久久久 | 日韩午夜毛片 | 日韩 欧美 精品 | 太久av | 一区二区三区视频免费看 | 久久久久久久久久久国产 | 国产精品人人人人 | 丰满岳跪趴高撅肥臀尤物在线观看 | 91 在线观看 | 亚洲理论视频 | 国产一二三在线 | 妖精视频污 | 日韩av网页 | 狠狠一区 | 欧美激情综合五月色丁香 | 久久综合狠狠综合久久综合88 | 亚洲综合在线中文字幕 | 少妇太紧太爽又黄又硬又爽小说 | 午夜成人免费视频 | 国产一区二区在线视频观看 | 黄色成人影视 | 午夜亚洲av永久无码精品 | 蜜桃免费av| 美女视频黄免费 | 男人添女人荫蒂国产 | 嫩草影院菊竹影院 | 裸体喂奶一级裸片 | 芒果视频在线观看免费 | 国产精品丝袜黑色高跟鞋的设计特点 | 国产三级在线免费 | 综合激情婷婷 |