亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

從MySQL得到最大的優化性能

2020-01-19 00:27:17
字體:
來源:轉載
供稿:網友
優化是一項復雜的任務,因為它最終需要對整個系統的理解.當用你的系統/應用的小知識做一些局部優化是可能的時候,你越想讓你的系統更優化,你必須知道它也越多. 因此,本章將試圖解釋并給出優化MySQL的不同方法的一些例子.但是記住總是有某些(逐漸變難)是系統更快的方法留著去做. 為了使一個系統更快的最重要部分當然是基本設計.你也需要知道你的系統將做這樣的事情,那就是你的瓶頸. 最常見的瓶頸是: 


磁盤尋道.磁盤花時間找到一個數據,用在1999年的現代磁盤其平均時間通常小于10ms,因此理論上我們能大約一秒尋道 1000 次.這個時間用新磁盤提高很慢并且很難對一個表優化.優化它的方法是將數據散布在多個磁盤上. 當磁盤在我們需要讀數據的正確位置時,磁盤讀/寫.用1999年的現代,一個磁盤傳輸類似10-20Mb/s.這必尋道更容易優化,因為你能從多個磁盤并行地讀. CPU周期.當我們讀數據進內存時,(或如果它已經在那里)我們需要處理它以達到我們的結果.當我們有相對內存較小的表時,這是最常見的限制因素,但是用小表速度通常不是問題. 內存帶寬.當CPU需要超出適合cpu緩存的數據時,緩存帶寬就成為內存的一個瓶頸.這是對大多數系統的一個不常見的瓶頸但是你應該知道它. 10.2 系統/編譯時和啟動參數的調節我們以系統級的東西開始,因為這些決策的某一些很早就做好了.在其他情況下,快速瀏覽這部分可能就夠了,因為它對大收獲并不重要,但是有一個關于在這個層次上收獲有多大的感覺總是好的. 使用的缺省OS確實重要!為了最大程度地使用多CPU,應該使用Solaris(因為線程工作得確實不錯)或Linux(因為2.2本的核心又確實不錯的SMP支持).而且在32位的機器上,Linux缺省有2G的文件大小限制.當新的文件系統被釋出時( XFS ),希望這不久被修正. 因為我們沒在很多平臺上運行生產MySQL,我們忠告你在可能選擇它前,測試你打算運行的平臺. 


其他建議: 


如果你有足夠的RAM,你能刪除所有交換設備.一些操作系統在某些情況下將使用一個SWAP設備,即使你有空閑的內存. 使用--skip -locking的MySQL選項避免外部鎖定.注意這將不影響MySQL功能,只要它僅運行在一個服務器上.只要在你運行myisamchk以前,記得要停掉服務器(或鎖定相關部分).在一些系統上這個開關是強制的,因為外部鎖定不是在任何情況下都工作.當用MIT-pthreads編譯時,-- skip-locking選項缺省為打開(on),因為flock()沒在所有的平臺上被MIT-pthreads充分支持.唯一的情況是如果你對同一數據運行MySQL服務器(不是客戶),你不能使用--skip-locking之時,否則對沒有先清掉(flushing)或先鎖定mysqld服務器的表上運行myisamchk.你仍然能使用LOCK TABLES/ UNLOCK TABLES,即使你正在使用--skip-locking. 


編譯和鏈接怎樣影響MySQL的速度 


大多數下列測試在Linux上并用MySQL基準進行的,但是它們應該對其他操作系統和工作負載給出一些指示. 當你用-static鏈接時,你得到最快的可執行文件.使用Unix套接字而非TCP/IP連接一個數據庫也可給出好一些的性能. 在Linux上,當用pgcc和-O6編譯時,你將得到最快的代碼.為了用這些選項編譯“sql_yacc.cc”,你需要大約200M內存,因為 gcc/pgcc需要很多內存使所有函數嵌入(inline).在配置MySQL時,你也應該設定CXX=gcc以避免包括libstdc++庫(它不需要). 只通過使用一個較好的編譯器或較好的編譯器選項,在應用中你能得到一個10-30%的加速.如果你自己編譯SQL服務器,這特別重要! 在Intel上,你應該例如使用pgcc或Cygnus CodeFusion編譯器得到最大速度.我們已經測試了新的 Fujitsu編譯器,但是它是還沒足夠不出錯來優化編譯MySQL. 

 

這里是我們做過的一些測量表: 


如果你以-O6使用pgcc并且編譯任何東西,mysqld服務器是比用gcc快11%(用字符串99的版本). 如果你動態地鏈接(沒有-static),結果慢了13%.注意你仍能使用一個動態連接的MySQL庫.只有服務器對性能是關鍵的. 如果你使用TCP/IP而非Unix套接字,結果慢7.5%. 在一個Sun SPARCstation 10上,gcc2.7.3是比Sun Pro C++ 4.2快13%. 在Solaris 2.5.1上,在單個處理器上MIT-pthreads比帶原生線程的Solaris慢8-12%.以更多的負載/cpus,差別應該變得更大. 由TcX提供的MySQL-Linux的分發用pgcc編譯并靜態鏈接. 


正如前面所述,磁盤尋道是一個性能的大瓶頸.當數據開始增長以致緩存變得不可能時,這個問題變得越來越明顯.對大數據庫,在那你或多或少地要隨機存取數據,你可以依靠你將至少需要一次磁盤尋道來讀取并且幾次磁盤尋道寫入.為了使這個問題最小化,使用有低尋道時間的磁盤. 為了增加可用磁盤軸的數量(并且從而減少尋道開銷),符號聯接文件到不同磁盤或分割磁盤是可能的. 使用符號連接這意味著你將索引/數據文件符號從正常的數據目錄鏈接到其他磁盤(那也可以被分割的).這使得尋道和讀取時間更好(如果磁盤不用于其他事情).見10.2.2.1 使用數據庫和表的符號鏈接. 分割分割意味著你有許多磁盤并把第一塊放在第一個磁盤上,在第二塊放在第二個磁盤上,并且第 n塊在第(n mod number_of_disks)磁盤上,等等.這意味著,如果你的正常數據大小于分割大小(或完美地排列過),你將得到較好一些的性能.注意,分割是否很依賴于OS和分割大小.因此用不同的分割大小測試你的應用程序.見10.8 使用你自己的基準.注意對分割的速度差異很依賴于參數,取決于你如何分割參數和磁盤數量,你可以得出以數量級的不同.注意你必須選擇為隨機或順序存取優化. 為了可靠,你可能想要使用襲擊RAID 0+1(分割+鏡像),但是在這種情況下,你將需要2*N個驅動器來保存N個驅動器的數據.如果你有錢,這可能是最好的選擇!然而你也可能必須投資一些卷管理軟件投資以高效地處理它. 一個好選擇是讓稍重要的數據(它能再生)上存在RAID 0磁盤上,而將確實重要的數據(像主機信息和日志文件)存在一個RAID 0+1或RAID N磁盤上.如果因為更新奇偶位你有許多寫入,RAID N可能是一個問題. 你也可以對數據庫使用的文件系統設置參數.一個容易的改變是以noatime選項掛裝文件系統.這是它跳過更新在inode中的最后訪問時間,而且這將避免一些磁盤尋道. 


你可以從數據庫目錄移動表和數據庫到別處,并且用鏈接到新地點的符號代替它們.你可能想要這樣做,例如,轉移一個數據庫到有更多空閑空間的一個文件系統. 如果MySQL注意到一個表是一個符號鏈接,它將解析符號鏈接并且使用其實際指向的表,它可工作在支持realpath()調用的所有系統上(至少 Linux和Solaris支持realpath())!在不支持realpath()的系統上,你應該不同時通過真實路徑和符號鏈接訪問表!如果你這樣做,表在任何更新后將不一致. MySQL缺省不支持數據庫鏈接.只要你不在數據庫之間做一個符號鏈接,一切將工作正常.假定你在MySQL數據目錄下有一個數據庫db1,并且做了一個符號鏈接db2指向db1: 


shell&> cd /path/to/datadir 

shell&> ln -s db1 db2 

現在,對在db1中的任一表tbl_a,在db2種也好象有一個表tbl_a.如果一個線程更新db1.tbl_a并且另一個線程更新db2.tbl_a,將有問題. 如果你確實需要這樣,你必須改變下列在“mysys/mf_format.c”中的代碼: 


if (!lstat(to,&stat_buff)) /* Check if it's a symbolic link */ 

if (S_ISLNK(stat_buff.st_mode) && realpath(to,buff)) 


把代碼改變為這樣: 


if (realpath(to,buff)) 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美大片第1页| 2019av中文字幕| 96sao精品视频在线观看| 日本欧美一级片| 欧美丰满老妇厨房牲生活| 久久久亚洲成人| 欧美插天视频在线播放| 伊人久久大香线蕉av一区二区| 91视频国产精品| 2024亚洲男人天堂| 热久久免费视频精品| 欧美大片va欧美在线播放| 欧美一二三视频| 亚洲精品一区在线观看香蕉| 国产亚洲xxx| 亚洲免费高清视频| 亚洲视频在线播放| 97久久精品视频| 91精品国产乱码久久久久久蜜臀| 欧美激情视频在线| 成人国产精品一区二区| 国产日韩精品电影| 国产精品免费网站| 久久精品在线视频| 91香蕉国产在线观看| 国产色综合天天综合网| 国产91精品久久久久| 成人免费视频97| 91av视频在线免费观看| 欧洲日本亚洲国产区| 久久夜色精品国产| 亚洲国产精品网站| 成人性教育视频在线观看| 久久久久久久久久久免费精品| 91av视频在线| 亚洲福利影片在线| 日韩网站免费观看高清| 精品亚洲va在线va天堂资源站| 国产一区二区三区在线观看网站| 亚洲色图日韩av| 欧美精品一区二区免费| 成人欧美一区二区三区黑人| 91大神在线播放精品| 成人精品一区二区三区电影免费| 97久久精品人人澡人人爽缅北| 91福利视频在线观看| 久久久综合免费视频| 久久久久久久影院| 在线成人激情视频| 亚洲性生活视频在线观看| 国产精品91免费在线| 91久久精品久久国产性色也91| 日韩精品亚洲视频| 亚洲男女自偷自拍图片另类| 国产mv免费观看入口亚洲| 欧美一区二区三区四区在线| 欧美日本高清视频| 欧美电影第一页| 91精品久久久久久久久久入口| 91视频九色网站| 国产精品91免费在线| 国产精品你懂得| 国产精品高潮呻吟视频| 69国产精品成人在线播放| 欧美成人第一页| 久久精品青青大伊人av| 日韩av电影在线播放| 成人激情免费在线| 成人网欧美在线视频| 国产精品高清网站| 日本成人在线视频网址| 欧美日韩午夜剧场| 97久久久久久| 国产精品一区二区三区久久| 最近2019好看的中文字幕免费| 国产精品免费一区豆花| 亚洲摸下面视频| 久久久精品影院| 日韩电影中文字幕一区| 日韩av网站导航| 午夜精品视频网站| 91天堂在线观看| 欧美日韩国产成人在线观看| 久久久久久久久国产| 久久综合免费视频| 亚洲欧美日韩中文在线制服| 亚洲最大成人网色| 日韩成人在线视频| 一道本无吗dⅴd在线播放一区| 精品久久久久久| 日韩精品免费综合视频在线播放| 欧美国产亚洲视频| 欧美富婆性猛交| 国产不卡视频在线| 亚洲精品在线看| 欧美成人精品一区二区三区| 国产一区二区三区视频在线观看| 日韩免费在线电影| 欧美日韩精品国产| 日韩中文字幕在线| 在线播放亚洲激情| 亚洲成人精品av| 亚洲精品在线视频| 欧美精品激情视频| 日韩国产在线播放| 中文字幕亚洲欧美| 九九热最新视频//这里只有精品| 欧美亚洲国产视频小说| 成人午夜在线影院| 欧美激情a在线| 国产主播喷水一区二区| 欧美亚洲另类视频| 久久这里只有精品视频首页| 亚洲精品国产suv| 中文字幕亚洲欧美在线| 亚洲影院色无极综合| 欧美精品第一页在线播放| 日韩中文字幕在线视频| 欧美成人黄色小视频| 欧美激情在线观看视频| 91精品国产综合久久香蕉| 欧美理论电影在线观看| 日韩免费观看在线观看| 国产精品欧美久久久| 黄色一区二区三区| 久久精品一偷一偷国产| 色爱精品视频一区| 日韩美女主播视频| 国产深夜精品福利| 亚洲欧洲国产一区| 日韩电影中文字幕在线| 久久久久国产一区二区三区| 久久久久久国产免费| 日韩精品视频中文在线观看| 国产98色在线| 亚洲视频在线观看视频| 亚洲xxxx视频| 亚洲欧美三级伦理| 国产成人精品一区| 国内精品久久久久久影视8| 亚洲精品不卡在线| 欧美电影免费观看高清| 色婷婷av一区二区三区在线观看| 欧美激情2020午夜免费观看| 欧美乱大交做爰xxxⅹ性3| 久久久精品一区二区三区| 亚洲成**性毛茸茸| 欧美天堂在线观看| 日本精品视频在线| 国产成人精品免费久久久久| 国产亚洲aⅴaaaaaa毛片| 97成人在线视频| 亚洲一区二区三区sesese| 国产精品大片wwwwww| 97av在线影院| 国产精品女主播视频| 亚洲国产精品嫩草影院久久| 日韩亚洲欧美中文在线| 国产精品一区久久| 麻豆国产va免费精品高清在线| 欧美视频免费在线观看| 91成人在线播放| 久久天堂av综合合色| 亚洲白虎美女被爆操|