MySQL效能調優之Memory or SSD

2021-06-05 23:37:16 字數 1814 閱讀 7295

當乙個傳統的向外擴充套件的方式對於mysql來講變得流行,看看我們不得不擴充哪一方面(便宜的記憶體?快速儲存?更好的電源效率?)將會變得非常有趣。這裡確實有很多種選擇——我每週大概會遇到乙個客戶使用fushion-io 卡。然而,我卻看到了他們乙個有趣的選擇——他們選擇購買乙個ssd,當他們每秒仍然能讀取很多頁的時候(這時,我寧願選擇購買記憶體來取代),而使用儲存驅動器做「寫操作」使用。

1.        帶有bbu的raid 10硬碟超過8塊(所謂bbu,社群的解釋是在掉電的情況下,能夠cache資料72h,當機器供電正常,再從cache中將資料寫入磁碟)

2.        inter ssd x25-e 32gb

3.        fushionio 320gb mlc

dell poweredger900

4 quadcoreintel(r) xeon(r) cpu e7320 @ 2.13ghz (16 cores in total)

32gb of ram

raid10 on 8disks 2.5」 15k rpms

fusionio 160gbslc

fusionio 320gbmlc

os:centos 5.5

xfs filesystem

開始,我們對raid 10的儲存做乙個測試以建立乙個基線。y軸是每秒傳輸的資料(傳輸速率,它越大越好)。x軸是innodb_buffer_pool_size的大小。

我特地挑選了關於該測試中的三個有趣的點

在c點,在這幅圖中,乙個fusion-io卡提公升效能達5(如果你採用interl ssd將會是2倍)。為了用增加記憶體的方式獲得相同的效能提公升,你將需要增加多於60%的記憶體-或者如果你想提公升5倍的效能,需要增加超過260%的記憶體大小。想象一下這樣乙個生產環境:你的c點(假設像上面說的系統越來越慢)產生是在當你採用了32gb的ram以及100gb的資料時。那麼它將變得有趣了:

這裡的測試被設計為——盡可能多地保證「熱」資料,但我猜想這裡最需要吸取的教訓是不要低估你的「活動集」資料的大小。比如,某些人他只是追加資料到一些排序的日誌表,它可能只需要很小的百分比,但在其他情況下,它可能被認為需要占用很大的百分比(比如日誌記錄地相對頻繁)。

重要的注意點:該圖以及這些結論只是在sysbenchuniform中被驗證。在你特殊的工作場合中,b點和c點可能的分布位置會有所不同。

圖中的源結果資料:

引用::目前ssd硬碟使用兩種形式的nand快閃儲存器:單級單元(slc)和多級單元(mlc)。兩者之間的差額是每單元儲存的資料量,slc每單元儲存1位元而 mlc每單元儲存2位元。關鍵在於,slc和mlc佔據了相同大小的晶元面積。因此,在同樣的**下,mlc可以有兩倍容量的效果。

slc和mlc的擦除效能是一樣的,mlc快閃儲存器的讀取效能需花費兩倍長的時間,寫入效能需花費四倍長的時間。

slc的最大優勢不在於它的效能好而在於它的使用壽命長。

ps:slc因為速度快,使用壽命長,一般被用在企業級ssd上。而mlc則多用在消費級市場,如workstation。fusion-io開發出一種管理mlc快閃儲存器的新技術smlc(single mode level cell),將slc技術的企業可靠性與消費級mlc快閃儲存器結合起來。smlc技術的頻寬與slc接近,其耐用性和寫入效能也可以與slc媲美,且成本大大低於傳統slc解決方案。

mysql之sql效能調優

一 優化查詢sql語句第一課 1 理解eqp含義 執行sql語句時生成的qep並不確定,每次執行相同的sql也可能會由於周圍環境因素的變化而生成不同的qep 2 通過explain來分析sql語句 理解 key的含義 rows的含義 3 驗證表結構和確認表大小 驗證表結構 show create t...

MySQL效能調優之Memory or SSD

當乙個傳統的向外擴充套件的方式對於mysql來講變得流行,看看我們不得不擴充哪一方面 便宜的記憶體?快速儲存?更好的電源效率?將會變得非常有趣。這裡確實有很多種選擇 我每週大概會遇到乙個客戶使用fushion io 卡。然而,我卻看到了他們乙個有趣的選擇 他們選擇購買乙個ssd,當他們每秒仍然能讀取...

MySQL調優之效能監控

參考資料 show profile type type for query n limit row count offset offset type type 引數解釋 set profiling 1 此工具預設是禁用的,可以通過伺服器變數在會話級別動態的修改。當設定完成之後,在伺服器上執行的所有語...