[發明專利]一種單機運行多MySQL數據庫實例的方法和設備無效
| 申請號: | 201210301832.8 | 申請日: | 2012-08-23 |
| 公開(公告)號: | CN103634344A | 公開(公告)日: | 2014-03-12 |
| 發明(設計)人: | 張瑞;彭立勛;李春 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;G06F17/30 |
| 代理公司: | 北京鑫媛睿博知識產權代理有限公司 11297 | 代理人: | 龔家驊 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 開曼群島;KY |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 單機 運行 mysql 數據庫 實例 方法 設備 | ||
技術領域
本申請涉及計算機技術領域,特別是涉及一種單機運行多MySQL數據庫實例的方法和設備。
背景技術
NUMA(Non?Uniform?MemoryAccess,非對稱式內存訪問)技術可以使眾多服務器像單一系統那樣運轉,同時保留小系統便于編程和管理的優點,是介于SMP(Symmetric?Multi-Processor,多處理器結構)和MPP(Massive?Parallel?Processing,海量并行處理結構)之間的一種服務器架構,將系統分為多個處理節點,內存分為本地內存和遠程內存。
基于電子商務應用對內存訪問提出的更高的要求,NUMA也向復雜的結構設計提出了挑戰。
目前的服務器都采用NUMA架構,即非對稱式內存訪問,如圖1所示,為現有技術中的Intel5600的結構示意圖。
在該結構中,服務器有兩個CPU(Central?Processing?Unit,中央處理器)節點,每個CPU節點都有各自的本地內存資源,兩個CPU節點之間通過高速互聯總線連接起來,在圖1所示的架構中,QPI(Quick?Path?Interconnect,快速通道互聯)即為上述高速互聯總線。
在NUMA架構中,CPU訪問本地內存和遠程內存的代價是不一樣的,CPU可以直接訪問本地內存,而訪問遠程內存需要通過CPU之間的高速互聯總線,導致訪問遠程內存的延遲比訪問本地內存大,所以,系統會優先選擇在本地內存中分配空間。
如果要充分利用NUMA的特性,應用程序必須支持NUMA,MySQL(一種關系型數據庫管理系統)對于NUMA的支持并不好,不僅無法充分利用CPU的資源,甚至會出現內存分配不均衡,導致數據存儲在swap空間(交換空間)的情況出現,嚴重影響性能。
在SSD(Solid?State?Disk,固態硬盤)出現之前,服務器只配置了普通磁盤,對于數據庫應用來說,IO(Input/Output,輸入/輸出)是瓶頸,而不是CPU,所以無法充分利用CPU的資源,當SSD存儲技術出現以后,單塊SSD可以達到50000IOPS(Input/Output?Operations?Per?Second,每秒進行讀寫操作的次數)的能力,IO不再是系統的瓶頸。
隨著CPU技術的不斷發展,一顆CPU上集成了越來越多的處理核心,而一臺服務器有很多CPU,服務器的處理能力越來越強。比如:Intel5600系列CPU,每個CPU有4個核心,每臺服務器有兩顆CPU,加上超線程技術,操作系統可以看到16個CPU。
在實現本申請的過程中,發明人發現現有技術至少存在如下問題:
MySQL對于多核CPU系統的利用率并不高,CPU計算能力的增強并不能帶來MySQL性能的提升。
MySQL采用單一進程模式,用戶連接都是線程分配,當MySQL進程被分配到某個CPU節點上時,NUMA的內存分配策略會盡量在本地節點中分配內存,這樣就導致了內存分配不均衡的情況出現。比如:一個CPU節點還有空閑內存,但是MySQL所在的CPU節點內存已經使用完,導致出現swap現象,嚴重影響性能。過去,解決這個問題的方案是關閉硬件NUMA特性,這是不得已而為之的解決方案。
綜上所述,現有的技術方案中缺少解決MySQL對多核CPU利用率不高,以及不支持NUMA架構的問題的方案。
發明內容
本申請的目的在于提供一種單機運行多MySQL數據庫實例的方法和設備,以解決現有的技術方案中MySQL對多核CPU利用率不高,以及不支持NUMA架構的問題。
為了達到上述目的,本申請實施例提供了一種單機運行多MySQL數據庫實例的方法,應用在支持NUMA架構的包含多個CPU節點的服務器上,包括以下步驟:
將多個MySQL數據庫實例分別綁定在所述服務器的不同的CPU節點上;
分別將各MySQL數據庫實例所對應的內存分配策略配置為本地內存分配;
分別通過各CPU節點運行所綁定的各MySQL數據庫實例,其中,各CPU節點只在本地內存中,為自身所綁定的MySQL數據庫實例分配內存空間。
優選的,所述將多個MySQL數據庫實例分別綁定在所述服務器的不同的CPU節點上之前,還包括:
獲取所述服務器的NUMA信息,至少確定所述服務器所包含的CPU節點的數量,以及各CPU節點所對應的本地內存信息。
優選的,所述獲取所述服務器的NUMA信息,具體為:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210301832.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種燃油箱通風性能試驗臺
- 下一篇:節能環保型水空調





