Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓƵ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Ìá¸ßMySQLÐÔÄܵÄ7¸ö¼¼ÇÉ
 
  1563  次浏览      19
 2018-2-26 
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚcsdn,Ëæ×ųߴçºÍ¸ºÔصÄÔö³¤£¬MySQLµÄÐÔÄÜ»áÇ÷ÓÚϽµ¡£¼ÇסÕâЩ¾÷ÇÏ£¬±ã¿É±£³ÖMySQLµÄÁ÷³©ÔËÐС£

²âÁ¿Ó¦ÓóÌÐòµÄ·½·¨Ö®Ò»ÊÇ¿´ÐÔÄÜ¡£¶øÐÔÄܵÄÖ¸±êÖ®Ò»±ãÊÇÓû§ÌåÑ飬ͨË×µÄ˵·¨¾ÍÊÇ¡°Óû§ÊÇ·ñÐèÒªµÈ´ý¸ü³¤µÄʱ¼ä²ÅÄܵõ½ËûÃÇÏëÒªµÄ¶«Î÷¡±¡£

Õâ¸öÖ¸±êÔÚ²»Í¬µÄÓ¦Óó¡ºÏ¶øÓÐËù¸Ä±ä¡£¶ÔÓÚÒƶ¯¹ºÎïÓ¦Óã¬ÏìӦʱ¼ä²»Äܳ¬¹ý¼¸ÃëÖÓ¡£¶ÔÓÚÔ±¹¤µÄÈËÁ¦×ÊÔ´Ò³Ã棬¿ÉÄÜÐèÒª¶à»¨¼¸ÃëÖÓµÄʱ¼ä¡£

Óкܶà¹ØÓÚÐÔÄÜÈçºÎÓ°ÏìÓû§ÐÐΪµÄÑо¿£º

1.79%µÄ¿Í»§²»Ì«¿ÉÄܻص½ÂýËÙÍøÕ¾

2.47%µÄÏû·ÑÕßÏ£ÍûÍøÒ³ÔÚ2Ãë»ò¸ü¶ÌµÄʱ¼äÄÚÍê³É¼ÓÔØ

3.40%µÄÓû§ÔÚÍøÕ¾¼ÓÔØʱ¼ä³¬¹ý3Ãëʱ»á·ÅÆú

4.Ò³Ãæ¼ÓÔØʱ¼äµÄ1ÃëÑÓ³Ù¿ÉÄܻᵼÖÂ7%µÄËðʧ£¬Ò³Ãæä¯ÀÀÁ¿¼õÉÙ11%

ÎÞÂÛ²ÉÓúÎÖÖ±ê×¼£¬¶¼±ØÐë±£³ÖÁ¼ºÃµÄÓ¦ÓÃÐÔÄÜ¡£·ñÔò£¬Óû§»á±§Ô¹(»òÕ߸üÔãµÄÊÇ£¬×ªµ½²»Í¬µÄÓ¦ÓóÌÐò)¡£Ó°ÏìÓ¦ÓóÌÐòÐÔÄܵÄÒòËØÖ®Ò»ÊÇÊý¾Ý¿âÐÔÄÜ¡£Ó¦ÓóÌÐò¡¢ÍøÕ¾ºÍÊý¾Ý¿âÖ®¼äµÄ½»»¥¶ÔÓÚ½¨Á¢Ó¦ÓóÌÐòÐÔÄܵĺûµÖÁ¹ØÖØÒª¡£

ÕâÖÖ½»»¥µÄÒ»¸öºËÐÄ×é¼þÊÇÓ¦ÓóÌÐòÈçºÎ²éѯÊý¾Ý¿âÒÔ¼°Êý¾Ý¿âÈçºÎÏìÓ¦ÇëÇó¡£ÎÞÂÛÈçºÎ£¬MySQL¶¼ÊÇ×îÊÜ»¶Ó­µÄÊý¾Ý¿â¹ÜÀíϵͳ֮һ¡£ÔÚÉú²ú»·¾³ÖУ¬Ô½À´Ô½¶àµÄÆóÒµÕýÔÚתÏòʹÓÃMySQL(ºÍÆäËû¿ªÔ´Êý¾Ý¿â)×÷ΪÊý¾Ý¿â½â¾ö·½°¸¡£

ÓÐÐí¶àÅäÖÃMySQLµÄ·½·¨¿ÉÒÔ°ïÖúÈ·±£Êý¾Ý¿â¶Ô²éѯ×÷³ö¿ìËÙÏìÓ¦£¬²¢Ê¹Ó¦ÓóÌÐòÐÔÄܽµµÍµ½×îµÍÏ޶ȡ£

ÒÔÏÂÊÇ°ïÖúÓÅ»¯MySQLÊý¾Ý¿âÐÔÄܵÄһЩ»ù±¾¼¼ÇÉ¡£

ÓÅ»¯¼¼ÇÉ #1£ºÑ§Ï°ÈçºÎʹÓà EXPLAIN

ʹÓÃÈκÎÊý¾Ý¿âËù×öµÄÁ½¸ö×îÖØÒªµÄ¾ö¶¨ÊÇÉè¼ÆÓ¦ÓóÌÐòʵÌåÖ®¼äµÄ¹ØϵÈçºÎÓ³Éäµ½±í(Êý¾Ý¿âģʽ)£¬ÒÔ¼°Éè¼ÆÓ¦ÓóÌÐòÈçºÎÒÔËùÐèµÄ¸ñʽ»ñµÃËùÐèµÄÊý¾Ý(²éѯ)¡£

¸´ÔÓµÄÓ¦ÓóÌÐò¿ÉÒÔÓи´ÔÓµÄģʽºÍ²éѯ¡£Èç¹ûÏëµÃµ½Ó¦ÓóÌÐòËùÐèÒªµÄÐÔÄܺÍÀ©Õ¹ÐÔ£¬²»Äܽö½öÒÀ¿¿Ö±¾õÀ´Àí½âÈçºÎÖ´Ðвéѯ¡£

Ó¦¸ÃѧϰÈçºÎʹÓÃEXPLAINÃüÁ¶ø²»ÊÇËæÒâµÄ²Â²âºÍÏëÏó¡£´ËÃüÁîչʾÁËÈçºÎÖ´Ðвéѯ£¬²¢ÈÃÄúÁ˽âËùÆÚÍûµÄÐÔÄÜ£¬ÒÔ¼°²éѯ½«ÈçºÎËæ×ÅÊý¾Ý´óСµÄ±ä»¯¶øÉìËõ¡£

ÓÐÐí¶à¹¤¾ß¨C±ÈÈçMySQLWorkbench¨C¿ÉÒÔ¿ÉÊÓ»¯EXPLAINÊä³ö£¬µ«ÈÔÈ»ÐèÒªÀí½â»ù´¡ÖªÊ¶²ÅÄÜÀí½âËü¡£

EXPLAINÃüÁîÌṩÊä³öµÄÓÐÁ½ÖÖ²»Í¬µÄ¸ñʽ£ºÀÏʽµÄ±í¸ñʽºÍ¸üÏÖ´úµÄ½á¹¹»¯JSONÎĵµ£¬ËüÌṩÁ˸ü¶àµÄϸ½Ú(ÈçÏÂËùʾ)£º

mysql> explain format=json select avg(k) from sbtest1 where id between 1000 and 2000 \G
*************************** 1. row ***************************
EXPLAIN: {
¡°query_block¡±: {
¡°select_id¡±: 1,
¡°cost_info¡±: {
¡°query_cost¡±: ¡°762.40¡±
},
¡°table¡±: {
¡°table_name¡±: ¡°sbtest1¡±,
¡°access_type¡±: ¡°range¡±,
¡°possible_keys¡±: [
¡°PRIMARY¡±
],
¡°key¡±: ¡°PRIMARY¡±,
¡°used_key_parts¡±: [
¡°id¡±
],
¡°key_length¡±: ¡°4¡±,
¡°rows_examined_per_scan¡±: 1874,
¡°rows_produced_per_join¡±: 1874,
¡°filtered¡±: ¡°100.00¡±,
¡°cost_info¡±: {
¡°read_cost¡±: ¡°387.60¡±,
¡°eval_cost¡±: ¡°374.80¡±,
¡°prefix_cost¡±: ¡°762.40¡±,
¡°data_read_per_join¡±: ¡°351K¡±
},
¡°used_columns¡±: [
¡°id¡±,
¡°k¡±
],
¡°attached_condition¡±: ¡°(`sbtest`.`sbtest1`.`id` between 1000 and 2000)¡±
}
}
}

Ó¦¸Ã²é¿´µÄÒ»¸ö×é¼þÊÇ¡°query cost¡±¡£query costÊÇÖ¸MySQL¸ù¾Ý²éѯִÐеÄ×Ü¿ªÏúÀ´¿¼ÂÇÕâ¸öÌض¨²éѯµÄ´ú¼Û£¬²¢ÇÒ»ùÓÚÐí¶à²»Í¬µÄÒòËØ¡£

¼òµ¥²éѯµÄ²éѯ¿ªÏúͨ³£Ð¡ÓÚ1£¬000¡£¿ªÏúÔÚ1£¬000µ½100£¬000Ö®¼äµÄ²éѯ±»ÈÏΪÊÇÖеȿªÏúµÄ²éѯ£¬¶øÇÒÈç¹ûÿÃëÖ»ÔËÐÐÊý°Ù¸öÕâÑùµÄ²éѯ(¶ø²»ÊÇÊýÍò¸ö)£¬Í¨³£»á±È½Ï¿ì¡£

¿ªÏú³¬¹ý100£¬000µÄ²éѯ¿ÉÒÔµ±×÷ÊÇ°º¹óµÄ¡£Í¨³££¬µ±ÄúÊÇϵͳÉϵĵ¥¸öÓû§Ê±£¬ÕâЩ²éѯÈÔ»á¿ìËÙÔËÐУ¬µ«ÄúÓ¦¸Ã×Ðϸ¿¼ÂÇÔÚ½»»¥Ê½Ó¦ÓóÌÐòÖÐʹÓôËÀà²éѯµÄƵÂÊ(ÓÈÆäÊÇËæ×ÅÓû§ÊýÁ¿µÄÔö³¤)¡£

µ±È»£¬ÕâЩÊý×ÖÖ»ÊÇÐÔÄܵÄÒ»¸ö´ó¸ÅµÄÌåÏÖ£¬µ«ËüÃÇչʾÁËÒ»°ãÔ­Ôò¡£ÄúµÄϵͳ¿ÉÄܸüºÃµØ´¦Àí²éѯ¹¤×÷¸ºÔØ£¬Ò²¿ÉÄܸüÔ㣬ÕâÈ¡¾öÓÚÆäÌåϵ½á¹¹ºÍÅäÖá£

¾ö¶¨²éѯ¿ªÏúµÄÖ÷ÒªÒòËØÊDzéѯÊÇ·ñÕýȷʹÓÃË÷Òý¡£EXPLAIN ÃüÁî¿ÉÒÔ¸æËßÄú²éѯÊÇ·ñʹÓÃË÷Òý(ͨ³£ÊÇÒòΪË÷ÒýÊÇÈçºÎÔÚÊý¾Ý¿âÖд´½¨µÄ£¬»òÕß²éѯ±¾ÉíÊÇÈçºÎÉè¼ÆµÄ)¡£Õâ¾ÍÊÇΪʲôѧ»áʹÓà EXPLAIN ÊÇÈç´ËÖØÒª¡£

ÓÅ»¯¼¼ÇÉ #2£º´´½¨ÕýÈ·µÄË÷Òý

Ë÷Òýͨ¹ý¼õÉÙ²éѯ±ØÐëɨÃèµÄÊý¾Ý¿âÖеÄÊý¾ÝÁ¿À´Ìá¸ß²éѯЧÂÊ¡£MySQLÖеÄË÷ÒýÓÃÓÚ¼ÓËÙÊý¾Ý¿âÖеķÃÎÊ£¬²¢°ïÖúÖ´ÐÐÊý¾Ý¿âÔ¼Êø(Èç UNIQUEºÍFOREIGN KEY )¡£

Êý¾Ý¿âË÷ÒýºÜÏñͼÊéË÷Òý¡£ËüÃDZ»±£´æÔÚ×Ô¼ºµÄλÖ㬲¢ÇÒ°üº¬Ö÷Êý¾Ý¿âÖÐÒѾ­´æÔÚµÄÐÅÏ¢¡£ËüÃÇÊÇÖ¸ÏòÊý¾ÝËùÔÚλÖõIJο¼·½·¨»òÓ³Éä¡£Ë÷Òý²»»á¸ü¸ÄÊý¾Ý¿âÖеÄÈκÎÊý¾Ý¡£ËüÃÇÖ»ÊÇÖ¸ÏòÊý¾ÝµÄλÖá£

ûÓÐÍêÈ«ÊÊÓÃÓÚÈκι¤×÷¸ºÔصÄË÷Òý¡£¶øÓ¦¸ÃʼÖÕÔÚϵͳÔËÐеIJéѯÉÏÏÂÎÄÖв鿴Ë÷Òý¡£

Ë÷ÒýÁ¼ºÃµÄÊý¾Ý¿â²»½öÔËÐеøü¿ì£¬¶øÇÒ¼´Ê¹È±ÉÙÒ»¸öË÷ÒýÒ²»áʹÊý¾Ý¿âÂýÈçÎÏÅ£¡£Ê¹ÓÃEXPLAIN(ÈçÇ°ËùÊö)²éÕÒȱÉÙµÄË÷Òý²¢Ìí¼ÓËüÃÇ¡£µ«ÊÇҪСÐÄ£º²»ÒªÌí¼ÓÄã²»ÐèÒªµÄË÷Òý£¡²»±ØÒªµÄË÷Òý»á½µµÍÊý¾Ý¿âµÄËÙ¶È

(Çë²é¿´¹ØÓÚMySQLË÷Òý×î¼Ñʵ¼ùµÄ½éÉÜ)¡£

ÓÅ»¯¼¼ÇÉ #3£º¾Ü¾øʹÓÃĬÈÏÉèÖÃ

ÓëÈκÎÈí¼þÒ»Ñù£¬MySQLÓÐÐí¶à¿ÉÅäÖõÄÉèÖ㬿ÉÓÃÓÚÐÞ¸ÄÐÐΪ(ÒÔ¼°×îÖÕµÄÐÔÄÜ)¡£ÓëÈκÎÈí¼þÒ»Ñù£¬¹ÜÀíÔ±ºöÂÔÁËÐí¶àÕâЩ¿ÉÅäÖõÄÉèÖã¬×îÖÕÔÚĬÈÏģʽÏÂʹÓá£

Òª´ÓMySQLÖлñµÃ×î¼ÑÐÔÄÜ£¬Á˽â¿ÉÅäÖõĵÄMySQLÉèÖÃÊǷdz£ÖØÒªµÄ£¬¸üÖØÒªµÄÊǽ«ËüÃÇÉèÖÃΪ×îÊʺÏÄúµÄÊý¾Ý¿â»·¾³¡£

ĬÈÏÇé¿öÏ£¬MySQLÓÃÓÚС¹æÄ£µÄ¿ª·¢°²×°£¬¶ø²»ÊÇÉú²ú¹æÄ£¡£Äúͨ³£Ï£ÍûÅäÖÃMySQLÒÔʹÓÃËùÓпÉÓõÄÄÚ´æ×ÊÔ´£¬²¢ÔÊÐíÓ¦ÓóÌÐòÐèÒªµÄÁ¬½ÓÊýÁ¿¡£

ÏÂÃæÊÇÈý¸öMySQLÐÔÄÜÓÅ»¯ÉèÖã¬ÄúÓ¦¸ÃʼÖÕ×Ðϸ¼ì²é£º

innodb_ buffer_ pool_size:»º³å³ØÓÃÓÚ´æ·Å»º´æÊý¾ÝºÍË÷Òý¡£ÕâÊÇʹÓþßÓдóÈÝÁ¿RAMµÄϵͳ×÷ΪÊý¾Ý¿â·þÎñÆ÷µÄÖ÷ÒªÔ­Òò¡£Èç¹ûÖ»ÔËÐÐInnoDB´æ´¢ÒýÇ棬ͨ³£»á½«80%µÄÄÚ´æ·ÖÅä¸ø»º³å³Ø¡£Èç¹ûÄúÕýÔÚÔËÐзdz£¸´ÔӵIJéѯ£¬»òÕßÓдóÁ¿µÄ²¢·¢Êý¾Ý¿âÁ¬½Ó£¬»ò´óÁ¿µÄ±í£¬¿ÉÄÜÐèÒª½«´ËÖµ½µµÍÒ»¸öµµ´Î£¬ÒÔ±ãΪÆäËû²Ù×÷·ÖÅä¸ü¶àµÄÄÚ´æ¡£

ÔÚÉèÖÃInnoDB»º³å³Ø´óСʱ£¬ÐèҪȷ±£²»ÒªÉèÖõÃÌ«´ó£¬·ñÔò»áµ¼Ö½»»»¡£Õâ¾ø¶Ô»áÓ°ÏìÊý¾Ý¿âÐÔÄÜ¡£Ò»ÖÖ¼òµ¥µÄ¼ì²é·½·¨ÊDz鿴Percona Monitoring and ManagementÖеÄϵͳ¸ÅÊöͼÖеĽ»»»»î¶¯£º

ÈçͼËùʾ£¬ÓÐʱ½øÐÐһЩ½»»»ÊÇ¿ÉÒԵġ£µ«ÊÇ£¬Èç¹û¿´µ½³ÖÐøÿÃë1MB»ò¸ü¶àµÄ½»»»»î¶¯£¬ÔòÐèÒª¼õÉÙ»º³å³Ø´óС(»òÆäËûÄÚ´æʹÓÃ)¡£

Èç¹ûÔÚµÚÒ»´Î·ÃÎÊʱûÓÐÕýÈ·µØ»ñµÃinnodb_ Buffer_ pool_ sizeµÄÖµ£¬²»Óõ£ÐÄ¡£´ÓMySQL5.7¿ªÊ¼£¬±ã¿ÉÒÔ¶¯Ì¬¸ü¸ÄInnoDB»º³å³ØµÄ´óС£¬¶øÎÞÐèÖØÐÂÆô¶¯Êý¾Ý¿â·þÎñÆ÷¡£

innodb_ log_ file_ size£ºÕâÊǵ¥¸öInnoDBÈÕÖ¾ÎļþµÄ´óС¡£Ä¬ÈÏÇé¿öÏ£¬InnoDBʹÓÃÁ½¸öÖµ£¬ÕâÑùÄú¾Í¿ÉÒÔ½«Õâ¸öÊý×Ö¼Ó±¶£¬´Ó¶ø»ñµÃInnoDBÓÃÓÚÈ·±£ÊÂÎñ³Ö¾ÃµÄÑ­»·ÖØ×öÈÕÖ¾¿Õ¼äµÄ´óС¡£ÕâÒ²ÓÅ»¯Á˽«¸ü¸ÄÓ¦Óõ½Êý¾Ý¿â¡£ÉèÖÃinnodb_ log_ file_ sizeÊÇÒ»¸öȨºâµÄÎÊÌâ¡£·ÖÅäµÄÖØ×ö¿Õ¼äÔ½´ó£¬¶ÔÓÚдÃܼ¯Ð͹¤×÷¸ºÔضøÑÔ£¬ÐÔÄܾÍÔ½ºÃ£¬µ«ÊÇÈç¹ûϵͳ¶Ïµç»ò³öÏÖÆäËûÎÊÌ⣬±ÀÀ£»Ö¸´µÄʱ¼ä¾ÍÔ½³¤¡£

ÈçºÎÖªµÀMySQLµÄÐÔÄÜÊÇ·ñÊܵ½µ±Ç°InnoDBÈÕÖ¾Îļþ´óСµÄÏÞÖÆ£¿¿ÉÒÔͨ¹ý²é¿´Êµ¼ÊʹÓÃÁ˶àÉÙ¿ÉÓõÄÖØ×öÈÕÖ¾¿Õ¼äÀ´Åжϡ£×î¼òµ¥µÄ·½·¨ÊDz鿴Percona Monitor and Management InnoDB MetricsÒDZí°å¡£ÔÚÏÂͼÖУ¬InnoDBÈÕÖ¾ÎļþµÄ´óС²»¹»´ó£¬ÒòΪʹÓõĿռä·Ç³£½Ó½ü¿ÉÓõÄÖØ×öÈÕÖ¾¿Õ¼ä(ÓɺìÏß±íʾ)¡£ÈÕÖ¾ÎļþµÄ´óСӦ¸ÃÖÁÉٱȱ£³Öϵͳ×î¼ÑÔËÐÐËùÓõĿռä´ó20%¡£

MAX_ Connections£º´óÐÍÓ¦ÓóÌÐòÁ¬½ÓÊýͨ³£Ðè¸ßÓÚĬÈÏÖµ¡£²»Í¬ÓÚÆäËü±äÁ¿£¬Èç¹ûûÓÐÕýÈ·ÉèÖÃËü£¬¾Í²»»áÓÐÐÔÄÜÎÊÌâ(±¾Éí)¡£Ïà·´£¬Èç¹ûÁ¬½ÓµÄÊýÁ¿²»×ãÒÔÂú×ãÄúµÄÓ¦ÓóÌÐòµÄÐèÒª£¬ÄÇôÄúµÄÓ¦ÓóÌÐò½«ÎÞ·¨Á¬½Óµ½Êý¾Ý¿â(ÔÚÄúµÄÓû§¿´À´£¬Õâ¾ÍÏñÊÇÍ£»úʱ¼ä)¡£ËùÒÔÕýÈ·´¦ÀíÕâ¸ö±äÁ¿ºÜÖØÒª¡£

Èç¹ûÔÚ¶à¸ö·þÎñÆ÷ÉÏÔËÐжà¸ö×é¼þµÄ¸´ÔÓÓ¦ÓóÌÐò£¬ºÜÄÑÖªµÀÐèÒª¶àÉÙÁ¬½Ó¡£ÐÒÔ˵ÄÊÇ£¬MySQL¿ÉÒÔºÜÈÝÒ׵ؿ´µ½ÔÚ·åÖµ²Ù×÷ʱʹÓÃÁ˶àÉÙÁ¬½Ó¡£Í¨³££¬ÄúÏ£ÍûÈ·±£Ó¦ÓóÌÐòʹÓõÄ×î´óÁ¬½ÓÊýÓë¿ÉÓõÄ×î´óÁ¬½ÓÊýÖ®¼äÖÁÉÙÓÐ30%µÄ²î¾à¡£²é¿´ÕâЩÊý×ÖµÄÒ»ÖÖ¼òµ¥·½·¨ÊÇÔÚPercona¼à¿ØºÍ¹ÜÀíµÄMySQL¸ÅÊöÒDZí°åÖÐʹÓÃMySQLÁ¬½Óͼ¡£ÏÂͼÏÔʾÁËÒ»¸ö½¡È«µÄϵͳ£¬ÆäÖÐÓдóÁ¿µÄ¸½¼ÓÁ¬½Ó¿ÉÓá£

ÐèÒª¼ÇסµÄÒ»µãÊÇ£¬Èç¹ûÊý¾Ý¿âÔËÐлºÂý£¬Ó¦ÓóÌÐòͨ³£»á´´½¨¹ý¶àµÄÁ¬½Ó¡£ÔÚÕâÖÖÇé¿öÏ£¬ÄúÓ¦¸Ã´¦ÀíÊý¾Ý¿âµÄÐÔÄÜÎÊÌ⣬¶ø²»ÊǼòµ¥µØÔÊÐí¸ü¶àµÄÁ¬½Ó¡£¸ü¶àµÄÁ¬½Ó»áʹµ×²ãµÄÐÔÄÜÎÊÌâ±äµÃ¸üÔã¡£

(×¢Ò⣺µ±½«max_Connections±äÁ¿ÉèÖÃΪÃ÷ÏÔ¸ßÓÚĬÈÏֵʱ£¬Í¨³£ÐèÒª¿¼ÂÇÔö¼ÓÆäËû²ÎÊý£¬Èç±í»º´æµÄ´óСºÍ´ò¿ªµÄMySQLÎļþµÄÊýÁ¿¡£µ«ÊÇ£¬Õâ²»ÊôÓÚ±¾ÎÄÌÖÂ۵ķ¶³ë¡£)

ÓÅ»¯¼¼ÇÉ #4£º½«Êý¾Ý¿â±£´æÔÚÄÚ´æÖÐ

½üÄêÀ´£¬ÎÒÃÇ¿´µ½ÁËÏò¹Ì̬´ÅÅÌ(SSD)µÄ¹ý¶É¡£¾¡¹ÜSSD±ÈÐýתӲÅÌ¿ìµÃ¶à£¬µ«ËüÃÇÈÔÈ»ÎÞ·¨ÓëRAMÖеÄÊý¾ÝÏà±È¡£ÕâÖÖ²îÒì²»½öÀ´×Ô´æ´¢ÐÔÄܱ¾Éí£¬»¹À´×ÔÊý¾Ý¿âÔÚ´Ó´ÅÅÌ»òSSD´æ´¢ÖмìË÷Êý¾Ýʱ±ØÐë×öµÄ¶îÍ⹤×÷¡£

Ëæ×Å×îÐÂÓ²¼þµÄ¸Ä½ø£¬ÎÞÂÛÊÇÔÚÔƶËÔËÐл¹ÊǹÜÀí×Ô¼ºµÄÓ²¼þ£¬¶¼Ô½À´Ô½ÓпÉÄܽ«Êý¾Ý¿â´æ´¢ÔÚÄÚ´æÖС£

¸üºÃµÄÏûÏ¢ÊÇ£¬Äú²»ÐèÒª½«ËùÓÐÊý¾Ý¿â¶¼·ÅÈëÄÚ´æÖУ¬¾Í¿ÉÒÔ»ñµÃÄÚ´æÖеĴ󲿷ÖÐÔÄÜÓÅÊÆ¡£ÄúÖ»Ð轫¹¤×÷Êý¾Ý£¨×îƵ·±·ÃÎʵÄÊý¾Ý£©¼¯´æÈëÄÚ´æÖС£

Äã¿ÉÄÜÒѾ­¿´µ½Ò»Ð©ÎÄÕÂÌṩÁËһЩ¾ßÌåµÄÊý×Ö£¬ËµÃ÷Ó¦¸Ã½«Êý¾Ý¿âµÄÄĸö²¿·Ö±£´æÔÚÄÚ´æÖУ¬´Ó10%µ½33%²»µÈ¡£ÊÂʵÉÏ£¬Ã»ÓС°Ò»µ¶ÇС±µÄÊý×Ö¡£ÊʺÏÄÚ´æµÄ×î¼ÑÐÔÄÜÓÅÊƵÄÊý¾ÝÁ¿Ó빤×÷¸ºÔØÏà¹Ø¡£ÓëÆäÑ°ÕÒÒ»¸öÌض¨µÄ¡°ÍòÄÜ¡±Êý×Ö£¬²»Èç¼ì²éÒ»ÏÂÊý¾Ý¿âÔÚÆäÎȶ¨×´Ì¬ÏÂÔËÐеÄI/O(ͨ³£ÔÚÆô¶¯ºó¼¸¸öСʱ)¡£¿´¿´READ£¬ÒòΪÈç¹ûÊý¾Ý¿âÔÚÄÚ´æÖУ¬Ôò¿ÉÒÔÍêÈ«Ïû³ýREAD¡£Ð´×ÜÊÇÐèÒª·¢ÉúµÄ£¬²»¹ÜÄãÓжàÉÙÄÚ´æ¿ÉÓá£

ÏÂÃ棬Äú¿ÉÒÔÔÚPercona¼à¿ØºÍ¹ÜÀíµÄInnoDBMetricsÒDZí°åÖÐµÄ InnoDB I/OͼÖп´µ½ I/O¡£

ÔÚÉÏÃæµÄͼ±íÖУ¬Äú¿ÉÒÔ¿´µ½¸ß´ïÿÃë2£¬000¸öI/O²Ù×÷µÄ·åÖµ£¬Õâ±íÃ÷(ÖÁÉÙ¶ÔÓÚ¹¤×÷¸ºÔصÄijЩ²¿·Ö)Êý¾Ý¿â¹¤×÷¼¯²»ÊʺÏÄÚ´æ¡£

ÓÅ»¯¼¼ÇÉ #5£ºÊ¹ÓÃSSD´æ´¢

Èç¹ûÄúµÄÊý¾Ý¿â²»ÊʺÏÄÚ´æ(¼´Ê¹²»ÊʺÏ)£¬ÄúÈÔÈ»ÐèÒª¿ìËÙ´æ´¢À´´¦Àíд²Ù×÷£¬²¢ÔÚÊý¾Ý¿âÉýÎÂʱ(ÖØÐÂÆô¶¯ºó)±ÜÃâÐÔÄÜÎÊÌâ¡£Èç½ñ£¬SSD¼´ÊÇ¿ìËÙ´æ´¢µÄ´úÃû´Ê¡£

³öÓڳɱ¾»ò¿É¿¿ÐÔµÄÔ­Òò£¬Ò»Ð©¡°×¨¼Ò¡±ÈÔÈ»Ö÷ÕÅʹÓÃÐýת´ÅÅÌ£¨»úе´ÅÅÌ£©¡£Ì¹ÂʵØ˵£¬µ±Éæ¼°µ½²Ù×÷Êý¾Ý¿âʱ£¬ÕâЩÂÛµãÍùÍùÒѾ­¹ýʱ»òÍêÈ«´íÎó¡£½ñÌ죬SSDÒԽϸߵļ۸ñÌṩ×ſɹ۵ÄÐÔÄܺͿɿ¿ÐÔ¡£

È»¶ø£¬²¢·ÇËùÓÐSSD¶¼ÊÇÊÊÓõġ£¶ÔÓÚÊý¾Ý¿â·þÎñÆ÷£¬ÄúÓ¦¸ÃʹÓÃΪ·þÎñÆ÷¹¤×÷¸ºÔØÉè¼ÆµÄSSD£¬ÕâÖÖSSD»á¶ÔÊý¾ÝÆðµ½±£»¤×÷ÓÃ(ÀýÈ磬ÔڶϵçÆÚ¼ä)¡£±ÜÃâʹÓÃΪ̨ʽ¼ÆËã»úºÍ±Ê¼Ç±¾µçÄÔÉè¼ÆµÄÉÌÓÃSSD¡£

ͨ¹ýNVMe»òIntel OpTan¼¼ÊõÁ¬½ÓµÄSSD¿ÉÌṩ×î¼ÑÐÔÄÜ¡£¼´Ê¹×÷ΪSAN¡¢NAS»òcloud blockÉ豸Զ³ÌÁ¬½Ó£¬ÓëÐýת´ÅÅÌÏà±È£¬SSDÈÔÈ»¾ßÓиüÓÅÔ½µÄÐÔÄÜ¡£

ÓÅ»¯¼¼ÇÉ #6£ººáÏòÀ©Õ¹

¼´Ê¹ÊǸßÐÔÄܵķþÎñÆ÷Ò²ÓÐÆä¾ÖÏÞÐÔ¡£ÓÐÁ½ÖÖÀ©Õ¹·½Ê½£ºupºÍout¡£×ÝÏòÀ©Õ¹Òâζ׏ºÂò¸ü¶àµÄÓ²¼þ¡£Õâ¿ÉÄܺܰº¹ó£¬¶øÇÒÓ²¼þºÜ¿ì¾Í»á¹ýʱ¡£ºáÏòÀ©Õ¹ÒÔ´¦Àí¸ü¶àµÄ¸ºÔØÓм¸¸öºÃ´¦£º

1.¿ÉÒÔÀûÓýÏСÇҳɱ¾½ÏµÍµÄϵͳ¡£

2.ͨ¹ýºáÏòÀ©Õ¹£¬½øÐÐÏßÐÔÀ©Õ¹¸ü¿ì¸üÈÝÒס£

3.ÒòΪÊý¾Ý¿â·Ö²¼ÔÚ¶ą̀ÎïÀí»úÆ÷ÉÏ£¬ËùÒÔÊý¾Ý¿â²»»áÊܵ½µ¥¸öÓ²¼þ¹ÊÕϵãµÄÓ°Ïì¡£

ËäÈ»ºáÏòÀ©Õ¹ÊÇÓкô¦µÄ£¬µ«Ò²ÓÐÒ»¶¨µÄ¾ÖÏÞÐÔ¡£À©Õ¹ÐèÒª¸´ÖÆ£¬ÀýÈç»ù±¾µÄMySQL¸´ÖÆ»òPercona XtraDB Cluster£¬ÒÔʵÏÖÊý¾Ýͬ²½¡£µ«ÊÇ×÷Ϊ»Ø±¨£¬¿ÉÒÔ»ñµÃ¶îÍâµÄÐÔÄܺ͸߿ÉÓÃÐÔ¡£Èç¹ûÄúÐèÒª¸ü´óµÄÀ©Õ¹£¬ÇëʹÓÃMySQL·ÖƬ¡£

Äú»¹ÐèҪȷ±£Á¬½Óµ½¼¯ÈºÌåϵ½á¹¹µÄÓ¦ÓóÌÐòÄܹ»ÕÒµ½ËùÐèµÄÊý¾Ý¨Cͨ³£Í¨¹ýһЩ´úÀí·þÎñÆ÷ºÍ¸ºÔØƽºâÆ÷(ÈçProxySQL»òHAProxy)¡£

Ôڼƻ®ºáÏòÀ©Õ¹Ê±£¬±ÜÃâ¹ýÔçµØÀ©Õ¹¡£Ê¹Ó÷ֲ¼Ê½Êý¾Ý¿âÍùÍù¸ü¸´ÔÓ¡£ÏÖ´úÓ²¼þºÍMySQL·þÎñÆ÷ֻʹÓÃһ̨·þÎñÆ÷¾Í¿ÉÒԵõ½Á¼ºÃµÄÌåÑé¡£×î½ü·¢²¼µÄMySQL 8ºòÑ¡°æ±¾±íÃ÷£¬ËüÄܹ»ÔÚµ¥¸öϵͳÉÏ´¦Àí200¶àÍò¸ö¼òµ¥²éѯ¡£

ÓÅ»¯¼¼ÇÉ #7£º¿É¹Û²âÐÔ

Éè¼Æ×îºÃµÄϵͳʱҪ¿¼Âǵ½¿É¹Û²ìÐÔ-MySQLÒ²²»ÀýÍâ.¡£

Ò»µ©ÄúÆô¶¯¡¢ÔËÐв¢ÕýÈ·µ÷ÕûÁËMySQL»·¾³£¬¾Í²»Äܽö½öÉèÖöø²»½øÐйÜÀí¡£Êý¾Ý¿â»·¾³»áÊܵ½ÏµÍ³»ò¹¤×÷¸ºÔظü¸ÄµÄÓ°Ïì¡£×¼±¸ºÃÓ¦¶ÔÖîÈçÁ÷Á¿¸ß·å¡¢Ó¦ÓóÌÐò´íÎóºÍMySQL¹ÊÕϵÈÒâÍâ¡£ÕâЩÊÂÇéÄܹ»¶øÇÒ½«»á·¢Éú¡£

µ±·¢ÉúÎÊÌâʱ£¬ÄãÐèҪѸËÙ¶øÓÐЧµØ½â¾öËüÃÇ¡£ÕâÑù×öµÄΨһ·½·¨ÊÇÉèÖÃijÖÖ¼àÊÓ½â¾ö·½°¸²¢¶ÔÆä½øÐÐÊʵ±µÄ³õʼ»¯¡£ÕâʹÄúÄܹ»ÔÚÊý¾Ý¿â»·¾³ÔÚÉú²úÖÐÔËÐÐʱ¿´µ½ËüÕýÔÚ·¢ÉúµÄÇé¿ö£¬²¢ÔÚ³öÏÖÎÊÌâʱ·ÖÎö·þÎñÆ÷Êý¾Ý¡£ÀíÏëÇé¿öÏ£¬ÏµÍ³ÔÊÐíÄúÔÚÎÊÌâ·¢Éú֮ǰ»òÔÚÎÊÌâ·¢Õ¹µ½Óû§¿ÉÒÔ¿´µ½ÆäÓ°Ïì֮ǰ½øÐÐÔ¤·À¡£

¼à¿Ø¹¤¾ßÓÐÖîÈçMySQL Enterprise Monitor¡¢MonyogºÍ Percona Monitoring and Management (PMM)£¬ºóÕß¾ßÓÐÃâ·ÑºÍ¿ªÔ´µÄ¶îÍâÓÅÊÆ¡£ÕâЩ¹¤¾ßΪ¼àÊӺ͹ÊÕÏÅųýÌṩÁ˺ܺõĿɲÙ×÷ÐÔ¡£

Ëæ×ÅÔ½À´Ô½¶àµÄ¹«Ë¾×ªÏò¿ªÔ´Êý¾Ý¿â(ÌرðÊÇMySQL)£¬ÒÔ±ãÔÚ´ó¹æÄ£Éú²ú»·¾³ÖйÜÀíºÍ·þÎñÆäÒµÎñÊý¾Ý£¬ËûÃǽ«ÐèÒª¼¯Öо«Á¦±£³ÖÕâЩÊý¾Ý¿âµÄÓÅ»¯ºÍ×î¼ÑÔËÐÐЧÂÊ¡£ÓëËùÓжÔÄúµÄÒµÎñÄ¿±êÖÁ¹ØÖØÒªµÄÊÂÇéÒ»Ñù£¬ÄúµÄÊý¾Ý¿âÐÔÄÜ¿ÉÄܻᵼÖ»òÆÆ»µÄãµÄÒµÎñÄ¿±ê»ò³É¹û¡£MySQLÊÇÒ»¸ö¿ÉÒÔΪӦÓóÌÐòºÍÍøÕ¾ÌṩÓÅÖʵÄÊý¾Ý¿â½â¾ö·½°¸£¬µ«ÐèÒª½øÐе÷ÕûÒÔÂú×ãÄúµÄÐèÒª£¬²¢½øÐмàÊÓÒÔ·¢ÏֺͷÀֹƿ¾±ºÍÐÔÄÜÎÊÌâ¡£

PeterZaitsevÊÇPerconaµÄÁªºÏ´´Ê¼È˺ÍÊ×ϯִÐй٣¬PerconaʱÆóÒµ¼¶MySQLºÍMongoDB½â¾ö·½°¸ºÍ·þÎñµÄÌṩÉÌ¡£ÓÉO¡®Reilly³ö°æµÄ¡¶High Performance MySQL¡·ÊÇ×îÊÜ»¶Ó­µÄMySQLÐÔÄÜÊé¼®Ö®Ò»¡£Zaitsev¾­³£ÔÚPerconaDatabasePerformanceBlog.comÉÏ·¢±í²©¿Í£¬²¢ÔÚÊÀ½ç¸÷µØµÄ»áÒéÖз¢ÑÔ¡£

   
1563 ´Îä¯ÀÀ       19
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ