å¼ç¤¾ã®ä¸é¨ã®ãµã¼ãã¹ã§ã絶è³æ´»èºä¸ã®Fusion-io社ã®ioDriveã
Fusion-io ioDriveã¨Fusion-io ioDrive Duoã§ã¯ã©ã¡ãããæå°å®¹éã®ã¢ãã«ã¯SLCåããã®ã»ãã¯MLCåã使ã£ã¦ããããFusion ioDriveã®èªã¿è¾¼ã¿é度ã¯735ã770MB/sãæ¸ãè¾¼ã¿é度ã¯510ã750MB/sã ãFusion ioDrive Duoã«è³ã£ã¦ã¯ãèªã¿è¾¼ã¿é度ã¯1.0ã1.5GB/sãæ¸ãè¾¼ã¿é度ã¯ä¸å¾1.5GB/sã¨ããæ°å¤ããããåºãã
@IT Special PR:Fusion-ioのクールな技術を使いこなせ!
ä»æ¥ã¯ãã«ãã主å¬ã®ä¸è¨ã»ããã¼ã«ã¦ããã®Fusion-ioã«é¢ããDELL社ã®æ¤è¨¼çµæç´¹ä»ããDeNAæ¾ä¿¡ããã«ããMySQLç°å¢ã§ã®Fusion-ioæ¤è¨¼çµæããã³DeNAã§ã®å©ç¨ã«é¢ããã話ãèããã¨ã®ãã¨ã ã£ãã®ã§ãéä¸ããã®åå ã§æ縮ã ã£ãã®ã§ããããéªéããã¦ãããã¾ããã
å¾åã®2ã»ãã·ã§ã³ã ãåå ãã¦ããã®ã§ãããããããå
¨4ã»ãã·ã§ã³ã®ãã¡ã®ååã®3ã»ãã·ã§ã³åã¯è³æãå
¬éãããããªã®ã§ãæå¾ã®DeNAæ¾ä¿¡ããã®ã»ãã·ã§ã³ã®ã¡ã¢ã以ä¸ã«æ®ãã¦ããã¾ãã
æ°åçãªæ¤è¨¼çµæãèå³æ·±ãã¨ããã§ããããã£ã¹ã¯ããã¡ã¤ã«ã·ã¹ãã ã®ç¹æ§ãMySQLã®ä»æ§ãI/O種å¥ãªã©ãç解ããä¸ã§ã®é©æé©æãªè¨è¨ããããã¨ã§DBããã©ã¼ãã³ã¹ã¯å¤§ããå¤ãã£ã¦ãããã ã¨æ¹ãã¦åèªèãã¾ããããã¡ããã¡ãåèã«ãªãã¾ããï¼æ¾ä¿¡ãããããã¨ããããã¾ããï¼
â» å°ãèããªãããæ¥ã足ã§ã¡ã¢ãåã£ãã®ã§ãå 容ã»æ°åã«èª¤ããããå ´åãããããããã¾ãããããäºæ¿ãã ããã
è¬æ¼è
- ãMySQLç°å¢ã«ãããFusion-ioæ¤è¨¼çµæã¨DeNAã«ãããæ´»ç¨ä¾¡å¤ã
- æ¾ä¿¡ åç¯ æ°
- æ ªå¼ä¼ç¤¾ãã£ã¼ã»ã¨ãã»ã¨ã¼
- ã·ã¹ãã çµ±æ¬æ¬é¨ ITåºç¤é¨
- ã¤ã³ãã©æ å½ããªã³ã·ãã«ã¢ã¼ããã¯ã MySQLã¨ãã³ã¸ã§ãªã¹ã
DBãµã¼ãã«ããã¦SSDããªãå¿ è¦ã
- SSDåã«ãã£ã¦ãIOPSãæ¡éãã«åä¸ãã
- ã»ã¨ãã©ã®ãã¼ã¿ãã¼ã¹ã¢ã¯ã»ã¹ã¯ã©ã³ãã I/Oã«ãªã
- é常ã®SAS HDDã§ã¯ã1ãã©ã¤ãããã200IOPSç¨åº¦
- HDDãããã«ããã¯ã«ãªãã±ã¼ã¹ãå¤ã
- SATA SSDã®IOPSã¯ã2000+ (write) / 5000+ (read)
- PCI-E SSDã«ãªãã¨ãæ°ä¸åä½ã®IOPSãå®ç¾ã§ãã
SSDã«ããããã©ã¼ãã³ã¹åä¸ã¨ã1å°ãããã®å¦çéã大ãããªããã¨ã«ãããµã¼ãã®å°æ°åæ¸ãå¯è½
ãã¼ãã¦ã§ã¢ã®æ¤è¨äºé
- SSDãHDDã
- ã¹ãã¬ã¼ã¸ã®ã¤ã³ã¿ãã§ã¼ã¹
- ç¬æã¸ã®ä¿è·æ©æ§
- ããããªã¼ä»ããã©ã¤ããã£ãã·ã¥ç¡ããªã©
- RAID
- ãããã¯ã¼ã¯
- ã¡ã¢ãª
- CPU
ãã®ä»ãèãããã¨
- è¤è£½
- ãã¡ã¤ã«ã·ã¹ãã
- ãã¡ã¤ã«ã®ç½®ãå ´æ
- SSDç¹æã®åé¡
- æ¸ãè¾¼ã¿æ§è½ã®æ®µéçãªä½ä¸
- æ¸ãè¾¼ã¿å¯¿å½
æ¤è¨¼ã«ä½¿ã£ãã¹ãã¬ã¼ã¸
- HDD: (ããã¾ãããã¡ã¢ããªãã£ãã»ã»ã»)
- SSD: Intel X25-E(SATA, 30G, SLC)
- PCI-E SSD: Fusion-IO(160GB, SLC)
ã©ã³ãã ãªã¼ãæ§è½
1ã¹ã¬ãã | 100ã¹ã¬ãã | |
---|---|---|
HDD | 196 reads/s | 443 reads/s |
SSD | 3508 reads/s | 14538 reads/s |
Fusion-io | 10526 reads/s | 41379 reads/s |
- ã·ã³ã°ã«ã¹ã¬ããã§ã¯ãX25-Eã¯HDDã®16åãFusion-ioã¯HDDã®25å
- ã¹ãã¬ã¼ã¸ã®é 延ãç·©åããä¸ã§å¹æç
- SSDã¯ä¸¦åæ§ã§ãåªãã¦ãã
PCI-Express SSDã®ãã
- é·æ
- ã¤ã³ã¿ãã§ã¼ã¹ã®é度ãã¯ãã (PCI-E x8 ã§2GB/s)
- çæ
- ã»ã¨ãã©ã®ãã¶ã¼ãã¼ãã§ãæè¼å¯è½ãªPCI-Eã¹ãããæ°ãå°ãªã
- ãããã¹ã¯ãããã§ããªã
ã©ã³ãã ã©ã¤ãæ§è½
- xfsã§ãã³ããã¼ã¯
- HDDã¯ä¸¦åæ§ã¯ç¡ã(ããã©ã¼ãã³ã¹ãå¤ãããªã)ããFusion-ioã¯ä¸¦åæ§ãé«ã(ã¹ã¬ããæ°ãå¢ããã°ããã©ã¼ãã³ã¹ã¢ããã1.8åã«ä¼¸ã³ã)
æ¸ãè¾¼ã¿æ§è½ã®æ®µéçãªä½ä¸
- å¦çéå§æç¹ã§ã¯ãæ§è½ã¯é«ã
- 大éã®æ¸ãè¾¼ã¿ãçºçããã¨ãæ¸ãè¾¼ã¿IOPSã¯å¾ã ã«æªå
- äºåé åãå¢ããã¨ãæ¸ãè¾¼ã¿IOPSã®æä½ã©ã¤ã³ã¯ä¸ãã
- æ¸ãè¾¼ã¿å¦çãç·©ããªãã¨ãæ¸ãè¾¼ã¿IOPSã¯å¾ã ã«å復ãã
- RAID0ã§æ¸ãè¾¼ã¿ãåæ£ããããã¨ã¨ãä¸è½ãç·©åã§ãã
ã·ã¼ã±ã³ã·ã£ã«IO
- ãã¼ã¿ãã¼ã¹ã«ãã·ã¼ã±ã³ã·ã£ã«å¦çã¯ãã
- ãã«ãã¼ãã«ã¹ãã£ã³ãREDOãã°æ¸ãè¾¼ã¿ãããã¯ã¢ãã
- ã·ã¼ã±ã³ã·ã£ã«ãªã¼ãæ§è½ã¯åªãã¦ããããåçã§ã¯ãªã
- 4æ¬ã§RAIDãçµãã HDDã§ããã°åå
fsync()ã®é度
- ãã©ã³ã¶ã¯ã·ã§ã³ã®ã³ãããã§å¼ã°ãã
- HDDã«æ¯ã¹ã¦ãã»ã©ã¢ããã³ãã¼ã¸ã¯ãªã
- HDDã®ã·ã¼ã±ã³ã·ã£ã«ã©ã¤ãã¯é«é
- ããããªã¼ããã¯ã¢ããä»ã©ã¤ããã£ãã·ã¥ã使ãã°ãREDOãã°ã¸ã®ã³ãããçã®ã·ã¼ã±ã³ã·ã£ã«ãªæ¸ãè¾¼ã¿ã大ããé«éåã§ãã
ãã¡ã¤ã«ã·ã¹ãã ã®éã
- ext3ã¯åä¸ãã¡ã¤ã«ã¸ã®æ¸ãè¾¼ã¿ããåæã«1ã¹ã¬ããããã§ããªã(ext4ãåæ§)
- xfsã¯rawããã¤ã¹ã«è¿ã並åæ§(è¤æ°ã¹ã¬ããã§ã®åææ¸ãè¾¼ã¿å¯)
- Fusion-ioã§ä½¿ããªãxfs
I/Oãããã¯ãµã¤ãºã®å½±é¿
- Fusion-ioã¯ã©ã¹ã®SSDã§ã¯ãIO転ééãã®ãã®ãIOPSã«å¤§ããªå½±é¿ãä¸ãã
- ãããã¯ãµã¤ãºãå°ããã»ãããSSDãããé«é
RAID
- PCI-E SSDã«ã¯è¤æ°æã§ãã¼ãã¦ã§ã¢RAIDãçµãæ段ããªã
- Fusion-ioèªä½ããå é¨çã«RAID5ç¸å½ã®æ©æ§ãæã£ã¦ãã
- I/Oã³ã³ããã¼ã©ãPCI-Eãã¼ããSPOFã«ãªã
- ã½ããã¦ã§ã¢RAID1ã®ã¬ã¹ãã³ã¹ã¿ã¤ã ã¯ããã£ã¹ã¯ã¸ã®æ¸ãè¾¼ã¿æéã®é ãæ¹ã®ãã£ã¹ã¯ã«å¼ã£å¼µããã
- ã½ããã¦ã§ã¢RAID1ã§ã¯ãRAIDãªãã®å ´åã«æ¯ã¹ã¦IOPSãæªåãã§ã10000IOPSã¯è¶ ãã¦ããã®ã§ãåå
ã©ã³ãã ãªã¼ãæ§è½
- çè«ä¸ã¯2å以ä¸ã®ä¼¸ã³ããã¼ã¯ã§ã73%ã®ããã©ã¼ãã³ã¹åä¸
ã½ããã¦ã§ã¢RAID0
- SSDã®æ éçã¯HDDããä½ã
- Fusion-ioã¯ãããã¹ã¯ãããã§ããªãã®ã§ãRAID1ãRAID5ã«ããæ©æµã¯ããã»ã©å¤§ãããªã
- ãã©ã¤ããããã®æ¸ãè¾¼ã¿é »åº¦ãä¸ããã®ã§ãæ¸ãè¾¼ã¿é度ã®é 延ãç·©å
- å®éã«æ¸¬å®ããçµæã追å ã®äºåé åãã¨ããªãã¦ãã©ã³ãã ã©ã¤ãæ§è½ãè½ã¡ãªãã£ã
Fusion-io+MySQLã®ãã³ããã¼ã¯
- DBT-2(ãã£ã¹ã¯IOãã¦ã³ãã®ãã³ããã¼ã¯)
- Intel Xeon Nehalem 8core
- SUSE Enterprise Linux 11, xfs
- MySQL 5.5.2M2
HDD vs Intel SSD vs Fusion-io
Buffer Pool | HDD | Intel SSD | Fusion-io |
---|---|---|---|
1GB | 1125.44 | 5709.6 | 15122.75 |
2GB | 1863.19 | 7536.55 | 20096.33 |
5GB | 4385.18 | 12892.56 | 30846.34 |
30GB | 36784.76 | - | 57441.64 |
(â»åä½ã¯ãã©ã³ã¶ã¯ã·ã§ã³/ç§)
- ã¡ã¢ãªãå¢ãããã¨ã§ãã£ãã·ã¥ãããã®ã§ãã©ã³ãã ãªã¼ããæ¸ã
- ããããã®å®¹éã®ã¡ã¢ãªï¼Fusion-IOã¯çµæ§åªç§(Buffer pool 5GBãããã®ã©ã¤ã³ãè¯ããã)
MySQLã®ä¿åå ´æ
- Fusion-ioã¯ã©ã³ãã ãªã¼ãæ§è½ããããã¦åªç§ãã©ã³ãã ã©ã¤ãæ§è½ãåªç§
- HDDã¯ã·ã¼ã±ã³ã·ã£ã«R/W
- ã©ã³ãã ã©ã¤ãå
- ãã¼ã¿ãã¡ã¤ã«(*.ibd)
- UNDOã»ã°ã¡ã³ããInsert buffer
- ã·ã¼ã±ã³ã·ã£ã«ã©ã¤ãå
- Doublewrite buffer
- ãã¤ããªãã°
- REDOãã°
- ããã¯ã¢ãããã¡ã¤ã«
- ibdata1ã¨ib_logfile*ãHDDã«ç§»ãã¨æ§è½åä¸(10ã20%ç¨åº¦)
- MySQL5.5ç³»ãå©ç¨ããã¨ããã«10ã20%åä¸
- ãã£ã¹ã¯I/Oãã¦ã³ãã®å¦çæ§è½ã¯åä¸
- innodbã¾ããã®å¦çæ¹å
CPUã®å½±é¿ã¯ã©ã®ç¨åº¦ã
- Nehalem
- ã¡ã¢ãªãCPUã«ç´çµãã¦ããã®ã§ãã¤ã³ã¡ã¢ãªã®å¦çãé«é
- CPUã¨ãã¼ã¹ããªãã¸éã®å¸¯åå¹ ã2.5å
- Fusion-ioã§ãx5470(Harpertown) vs x5570(Nehalem)
- Nahalemã®æ¹ãã26(Buffer pool 30GB)ã43%(Buffer pool 1GB)åä¸
- Opteron vs Nahalem
- IOåä½ã16KBã®ã¨ãã¯ãOpteronãåªç§
- ãã8KBã«ããã¨ãããªãå·®ãåºã
- PCI-E ã CPUéã®ã¬ã¤ãã³ã·ã®æ ¼å·®ãé¡å¨å(RAIDãçµãã¨ããã«é¡å¨åããäºæ³)
åé·åã®ãªã¼ãããã
- Fusion-io+HDDã§
- RAID1ã ã¨ãRAIDç¡ãã¨æ¯ã¹ã¦ç´20%ã®æ§è½ä½ä¸
- RAID5(x4)ãä½ä¸
- DRBDã«ããé«å¯ç¨å
- heartbeat+DRBD+MySQL
- ãããã¯ã¼ã¯ãããã«ããã¯ã«ãªãããã
- 1Gbpsç°å¢ã§ã42ã69%ã®ä½ä¸
- 10Gbpsç°å¢ã§ã6ã37%ã®ä½ä¸
DeNAã®æ´»ç¨ã«åãã¦
- ç¾å¨ã¯æ¤è¨¼æ®µé
- ã¢ããªã±ã¼ã·ã§ã³è¦ä»¶ã¨ä¾¡æ ¼/容éã®ãã©ã³ã¹
- ä»å¾ã®å®¹éã®å¢å ã«æå¾
- MLCã¯æã
- L2ãã£ãã·ã¥ã¨ãã¦ä½¿ãã®ã¯ã©ããï¼
- ZFSL2ARC, Facebook FlashCache(Linuxã«ã¼ãã«ã¢ã¸ã¥ã¼ã«ã¨ãã¦åä½ãã¢ããªéä¾å), Oracle Smart Flash Cache(Oracleä¾å)
- æ§è½æ¤è¨¼çµæã¯ãè¯ããªãã£ãã®ã§ãç¾ç¶é åã¯ããã»ã©ãªããä»å¾ã«æå¾
- 2次ãã£ãã·ã¥ã«éããªããSPOFã«ãªã
- 10ä¸IOPSã¯ã©ã¹ãå¿ è¦ã¨ããã¢ããªã¯éããã¦ãã
- ä¸å°ã§è¤æ°ã¢ããªã®éç¨ãè¦éã«
- ãã¹ã¿ããã¹ã¬ã¼ãã®æ¹ãå°å
¥ãªã¹ã¯ã¯ä½ã
- ç¹ã«ã¹ã¬ã¼ãã®SQLã¹ã¬ããã¯ã·ã³ã°ã«ã¹ã¬ãã
ä»®æ³åç¨é
- KVM+Fusion-io
- ã©ã³ãã ãªã¼ãæ§è½ã30åã®1
- HDDã§ã®ä»®æ³åã¯ãããã¾ã§æ·±å»ã§ã¯ãªã
- ä»å¾ã®æé©åã«æå¾
è¤æ°ã¹ã¬ã¼ããéç´
- è¤æ°å°ã®MySQLã¹ã¬ã¼ãããFusion-ioã®1å°ã«éç´
- ä½ããè¤æ°ã¤ã³ã¹ã¿ã³ã¹ã§ã®æ§æã¯è¤éã«
ã¢ããªã±ã¼ã·ã§ã³ãã¶ã¤ã³ã®èª¿æ´
- ããã«ããã¯ããã£ã¹ã¯ããCPUã«ç§»ããã¨ã§ãä»ã¾ã§åé¡ã«ãªããªãã£ããã¨ãé¡å¨å
- é«é »åº¦ãªSQLã¯NoSQLã¸ç§»è¡
- é½åº¦æ¥ç¶ãããã¼ã·ã¹ãã³ãã»ã³ãã¯ã·ã§ã³ã¸
- SSDåãã®ãã¼ãã«ã¨HDDåãã®ãã¼ãã«ãåºå¥ãã
- MySQLã®å¶ç´æ¡ä»¶ãããç¨åº¦ãµã¾ãããã¼ãã«è¨è¨ããã
- 巨大ãªãã¼ãã«ãããã·ã¥ãã¼ãã£ã·ã§ã³åãã
- ç¾å¨ã®MySQL5.1ã§ã¯ã1ã¤ã³ã¹ã¿ã³ã¹ã§ã¯ãPCI-E SSDã®ã¹ã«ã¼ããããå®å
¨ã«å¼ãåºããã¨ã¯ã§ããªã
- 5.5以ä¸ã§ããã°ã¹ã«ã¼ããããããã
å°æ¥çãªéç¨é¢ã§ã®å¯¾ç
- 1系統ããã3å°ã®ã¿ã®æºå(ãã¹ã¿ãã¹ã¬ã¼ãå ¼ããã¯ã¢ãããDRç¨ããã¯ã¢ãã)
- ã¯ã©ãã·ã¥æã«åæ§ç¯ã§ã¯ãªãå·®å修復ãå®ç¾ãã
- ãªã«ããªæéã®ç縮
- ãã®ããã«ã¯MySQLæ¬ä½ã®ååãå¿
è¦
- ãã¹ã¿ã§ã¯ããã¹ã¦ã®ãã©ã³ã¶ã¯ã·ã§ã³å¦çãåææ¸ãè¾¼ã¿ãã
- æºåæã¬ããªã±ã¼ã·ã§ã³ã使ç¨ãã
- ãã¤ããªãã°ãcrash-safeã«ãã
- ã¹ã¬ã¼ãã§ã¯ãé害æã«ãã¹ã¿ã®ãã¤ããªãã°ã®ä½ç½®æ å ±ãç¹å®ã§ããããã«ãã
以ä¸
ãã¾ã
æå¾ã®æ½é¸ä¼ã§ãDJã¹ãã¼ã«ã¼ãã¢ããå½ããã¾ããï¼ãããã¨ããããã¾ããï¼
åè
(追è¨)ä¸ç·ã«è¡ã£ããäºæ¹ã®ã¨ã³ããªãDELLããã®æ¤è¨¼çµæãªã©ã®è©±ãã¾ã¨ãããã¦ãã¾ãã