¡¡XiaoHui.Net Ц»ã³ÌÐòÔ±ÂÛ̳ ¡ú Êý¾Ý¿â Database

   [ÓÅ»¯] 2 ϵͳ/±àÒëʱºÍÆô¶¯²ÎÊýµÄµ÷½Ú


Ò³: [1]

FlyFire2006-4-17 14:02
[ÓÅ»¯] 2 ϵͳ/±àÒëʱºÍÆô¶¯²ÎÊýµÄµ÷½Ú

ÎÒÃÇÒÔϵͳ¼¶µÄ¶«Î÷¿ªÊ¼£¬ÒòΪÕâЩ¾ö²ßµÄijһЩºÜÔç¾Í×öºÃÁË¡£ÔÚÆäËûÇé¿öÏ£¬¿ìËÙä¯ÀÀÕⲿ·Ö¿ÉÄܾ͹»ÁË£¬ÒòΪËü¶Ô´óÊÕ»ñ²¢²»ÖØÒª£¬µ«ÊÇÓÐÒ»¸ö¹ØÓÚÔÚÕâ¸ö²ã´ÎÉÏÊÕ»ñÓжà´óµÄ¸Ð¾õ×ÜÊǺõġ£

ʹÓõÄȱʡOSÈ·ÊµÖØÒª£¡ÎªÁË×î´ó³Ì¶ÈµØÊ¹ÓöàCPU£¬Ó¦¸ÃʹÓÃSolaris(ÒòΪÏ̹߳¤×÷µÃȷʵ²»´í)»òLinux(ÒòΪ2.2±¾µÄºËÐÄÓÖȷʵ²»´íµÄSMPÖ§³Ö)¡£¶øÇÒÔÚ32λµÄ»úÆ÷ÉÏ£¬LinuxȱʡÓÐ2GµÄÎļþ´óСÏÞÖÆ¡£µ±ÐµÄÎļþϵͳ±»Êͳöʱ( XFS )£¬Ï£ÍûÕâ²»¾Ã±»ÐÞÕý¡£

ÒòΪÎÒÃÇûÔÚºÜ¶àÆ½Ì¨ÉÏÔËÐÐÉú²úMySQL£¬ÎÒÃÇÖÒ¸æÄãÔÚ¿ÉÄÜÑ¡ÔñËüǰ£¬²âÊÔÄã´òËãÔËÐÐµÄÆ½Ì¨¡£

ÆäËû½¨Ò飺

Èç¹ûÄãÓÐ×ã¹»µÄRAM£¬ÄãÄÜɾ³ýËùÓн»»»É豸¡£Ò»Ð©²Ù×÷ϵͳÔÚijЩÇé¿öϽ«Ê¹ÓÃÒ»¸ö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¡£

[[i] ±¾Ìû×îºóÓÉ FlyFire ÓÚ 2006-4-19 12:31 ±à¼­ [/i]]


FlyFire2006-4-17 14:03
2.1 ±àÒëºÍÁ´½ÓÔõÑùÓ°Ïì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·þÎñÆ÷ÊDZÈÓÃgcc¿ì11%£¨ÓÃ×Ö·û´®99µÄ°æ±¾)¡£
Èç¹ûÄ㶯̬µØÁ´½Ó(ûÓÐ-static)£¬½á¹ûÂýÁË13%¡£×¢ÒâÄãÈÔÄÜʹÓÃÒ»¸ö¶¯Ì¬Á¬½ÓµÄMySQL¿â¡£Ö»ÓзþÎñÆ÷¶ÔÐÔÄÜÊǹؼüµÄ¡£
Èç¹ûÄãʹÓÃTCP/IP¶ø·ÇUnixÌ×½Ó×Ö£¬½á¹ûÂý7.5%¡£
ÔÚÒ»¸öSun SPARCstation 10ÉÏ£¬gcc2.7.3ÊDZÈSun Pro C++ 4.2¿ì13%¡£
ÔÚSolaris 2.5.1ÉÏ£¬ÔÚµ¥¸ö´¦ÀíÆ÷ÉÏMIT-pthreads±È´øÔ­ÉúÏ̵߳ÄSolarisÂý8-12%¡£ÒÔ¸ü¶àµÄ¸ºÔØ/cpus£¬²î±ðÓ¦¸Ã±äµÃ¸ü´ó¡£
ÓÉTcXÌṩµÄMySQL-LinuxµÄ·Ö·¢ÓÃpgcc±àÒë²¢¾²Ì¬Á´½Ó¡£

FlyFire2006-4-17 14:04
[b]2.2 ´ÅÅÌÎÊÌâ[/b]

ÕýÈçÇ°ÃæËùÊö£¬´ÅÅÌѰµÀÊÇÒ»¸öÐÔÄÜµÄ´óÆ¿¾±¡£µ±Êý¾Ý¿ªÊ¼Ôö³¤ÒÔÖ»º´æ±äµÃ²»¿ÉÄÜʱ£¬Õâ¸öÎÊÌâ±äµÃÔ½À´Ô½Ã÷ÏÔ¡£¶Ô´óÊý¾Ý¿â£¬ÔÚÄÇÄã»ò¶à»òÉÙµØÒªËæ»ú´æÈ¡Êý¾Ý£¬Äã¿ÉÒÔÒÀ¿¿Ä㽫ÖÁÉÙÐèÒªÒ»´Î´ÅÅÌѰµÀÀ´¶ÁÈ¡²¢ÇÒ¼¸´Î´ÅÅÌѰµÀдÈ롣ΪÁËʹÕâ¸öÎÊÌâ×îС»¯£¬Ê¹ÓÃÓеÍѰµÀʱ¼äµÄ´ÅÅÌ¡£
ΪÁËÔö¼Ó¿ÉÓôÅÅÌÖáµÄÊýÁ¿(²¢ÇÒ´Ó¶ø¼õÉÙѰµÀ¿ªÏú)£¬·ûºÅÁª½ÓÎļþµ½²»Í¬´ÅÅÌ»ò·Ö¸î´ÅÅÌÊÇ¿ÉÄܵġ£
ʹÓ÷ûºÅÁ¬½Ó
ÕâÒâζ×ÅÄ㽫Ë÷Òý/Êý¾ÝÎļþ·ûºÅ´ÓÕý³£µÄÊý¾ÝĿ¼Á´½Óµ½ÆäËû´ÅÅÌ(ÄÇÒ²¿ÉÒÔ±»·Ö¸îµÄ)¡£ÕâʹµÃѰµÀºÍ¶Áȡʱ¼ä¸üºÃ(Èç¹û´ÅÅ̲»ÓÃÓÚÆäËûÊÂÇé)¡£¼û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ÖеÄ×îºó·ÃÎÊʱ¼ä£¬¶øÇÒÕ⽫±ÜÃâһЩ´ÅÅÌѰµÀ¡£

FlyFire2006-4-17 14:04
[b]2.2.1 ΪÊý¾Ý¿âºÍ±íʹÓ÷ûºÅÁ´½Ó[/b]

Äã¿ÉÒÔ´ÓÊý¾Ý¿âÄ¿Â¼ÒÆ¶¯±íºÍÊý¾Ý¿âµ½±ð´¦£¬²¢ÇÒÓÃÁ´½Óµ½ÐµصãµÄ·ûºÅ´úÌæËüÃÇ¡£Äã¿ÉÄÜÏëÒªÕâÑù×ö£¬ÀýÈç£¬×ªÒÆÒ»¸öÊý¾Ý¿âµ½Óиü¶à¿ÕÏпռäµÄÒ»¸öÎļþϵͳ¡£

Èç¹ûMySQL×¢Òâµ½Ò»¸ö±íÊÇÒ»¸ö·ûºÅÁ´½Ó£¬Ëü½«½âÎö·ûºÅÁ´½Ó²¢ÇÒʹÓÃÆäʵ¼ÊÖ¸ÏòµÄ±í£¬Ëü¿É¹¤×÷ÔÚÖ§³Örealpath()µ÷ÓõÄËùÓÐϵͳÉÏ(ÖÁÉÙLinuxºÍSolarisÖ§³Örealpath())£¡ÔÚ²»Ö§³Örealpath()µÄϵͳÉÏ£¬ÄãÓ¦¸Ã²»Í¬Ê±Í¨¹ýÕæÊµÂ·¾¶ºÍ·ûºÅÁ´½Ó·ÃÎÊ±í£¡Èç¹ûÄãÕâÑù×ö£¬±íÔÚÈκθüк󽫲»Ò»Ö¡£

MySQLȱʡ²»Ö§³ÖÊý¾Ý¿âÁ´½Ó¡£Ö»ÒªÄã²»ÔÚÊý¾Ý¿âÖ®¼ä×öÒ»¸ö·ûºÅÁ´½Ó£¬Ò»Çн«¹¤×÷Õý³£¡£¼Ù¶¨ÄãÔÚMySQLÊý¾ÝĿ¼ÏÂÓÐÒ»¸öÊý¾Ý¿âdb1£¬²¢ÇÒ×öÁËÒ»¸ö·ûºÅÁ´½Ódb2Ö¸Ïòdb1£º
[code]
shell> cd /path/to/datadir
shell> ln -s db1 db2
[/code]
ÏÖÔÚ£¬¶ÔÔÚdb1ÖеÄÈÎÒ»±ítbl_a£¬ÔÚdb2ÖÖÒ²ºÃÏóÓÐÒ»¸ö±ítbl_a¡£Èç¹ûÒ»¸öÏ̸߳üÐÂdb1.tbl_a²¢ÇÒÁíÒ»¸öÏ̸߳üÐÂdb2.tbl_a£¬½«ÓÐÎÊÌâ¡£

Èç¹ûÄãȷʵÐèÒªÕâÑù£¬Äã±ØÐë¸Ä±äÏÂÁÐÔÚ¡°mysys/mf_format.c¡±ÖеĴúÂ룺
[code]
if (!lstat(to,&stat_buff))  /* Check if it's a symbolic link */
    if (S_ISLNK(stat_buff.st_mode) && realpath(to,buff))
[/code]
°Ñ´úÂë¸Ä±äΪÕâÑù£º
[code]

if (realpath(to,buff))
[/code]

FlyFire2006-4-17 14:06
2.3 µ÷½Ú·þÎñÆ÷²ÎÊý

ÄãÄÜÓÃÕâ¸öÃüÁîµÃµ½mysqld·þÎñÆ÷ȱʡ»º³åÇø´óС£º

shell> mysqld --help

Õâ¸öÃüÁîÉú³ÉÒ»ÕÅËùÓÐmysqldÑ¡ÏîºÍ¿ÉÅäÖñäÁ¿µÄ±í¡£Êä³ö°üÀ¨È±Ê¡Öµ²¢ÇÒ¿´ÉÏÈ¥ÏóÕâÑùһЩ¶«Î÷£º
[code]
Possible variables for option --set-variable (-O) are:
back_log              current value: 5
connect_timeout       current value: 5
delayed_insert_timeout  current value: 300
delayed_insert_limit  current value: 100
delayed_queue_size    current value: 1000
flush_time            current value: 0
interactive_timeout   current value: 28800
join_buffer_size      current value: 131072
key_buffer_size       current value: 1048540
lower_case_table_names  current value: 0
long_query_time       current value: 10
max_allowed_packet    current value: 1048576
max_connections       current value: 100
max_connect_errors    current value: 10
max_delayed_threads   current value: 20
max_heap_table_size   current value: 16777216
max_join_size         current value: 4294967295
max_sort_length       current value: 1024
max_tmp_tables        current value: 32
max_write_lock_count  current value: 4294967295
net_buffer_length     current value: 16384
query_buffer_size     current value: 0
record_buffer         current value: 131072
sort_buffer           current value: 2097116
table_cache           current value: 64
thread_concurrency    current value: 10
tmp_table_size        current value: 1048576
thread_stack          current value: 131072
wait_timeout          current value: 28800
[/code]
Èç¹ûÓÐÒ»¸ömysqld·þÎñÆ÷ÕýÔÚÔËÐУ¬Í¨¹ýÖ´ÐÐÕâ¸öÃüÁÄã¿ÉÒÔ¿´µ½Ëüʵ¼ÊÉÏʹÓõıäÁ¿µÄÖµ£º

shell> mysqladmin variables

ÿ¸öÑ¡ÏîÔÚÏÂÃæÃèÊö¡£¶ÔÓÚ»º³åÇø´óС¡¢³¤¶ÈºÍÕ»´óСµÄÖµÒÔ×Ö½Ú¸ø³ö£¬ÄãÄÜÓÃÓÚ¸öºó׺¡°K¡±»ò¡°M¡± Ö¸³öÒÔK×Ö½Ú»òÕ××Ö½ÚÏÔʾֵ¡£ÀýÈ磬16MÖ¸³ö16Õ××Ö½Ú¡£ºó׺×ÖĸµÄ´óСдûÓйØÏµ£»16MºÍ16mÊÇÏàͬµÄ¡£

ÄãÒ²¿ÉÒÔÓÃÃüÁîSHOW STATUS×ÔÒ»¸öÔËÐеķþÎñÆ÷¿´¼ûһЩͳ¼Æ¡£¼û7.21 SHOWÓï·¨(µÃµ½±í¡¢ÁеÄÐÅÏ¢)¡£

back_log
ÒªÇóMySQLÄÜÓеÄÁ¬½ÓÊýÁ¿¡£µ±Ö÷ÒªMySQLÏß³ÌÔÚÒ»¸öºÜ¶Ìʱ¼äÄڵõ½·Ç³£¶àµÄÁ¬½ÓÇëÇó£¬Õâ¾ÍÆð×÷Óã¬È»ºóÖ÷Ï̻߳¨Ð©Ê±¼ä(¾¡¹ÜºÜ¶Ì)¼ì²éÁ¬½Ó²¢ÇÒÆô¶¯Ò»¸öÐÂÏ̡߳£back_logÖµÖ¸³öÔÚMySQLÔÝʱֹͣ»Ø´ðÐÂÇëÇó֮ǰµÄ¶Ìʱ¼äÄÚ¶àÉÙ¸öÇëÇó¿ÉÒÔ±»´æÔÚ¶ÑÕ»ÖС£Ö»ÓÐÈç¹ûÆÚÍûÔÚÒ»¸ö¶Ìʱ¼äÄÚÓкܶàÁ¬½Ó£¬ÄãÐèÒªÔö¼ÓËü£¬»»¾ä»°Ëµ£¬ÕâÖµ¶Ôµ½À´µÄTCP/IPÁ¬½ÓµÄÕìÌý¶ÓÁеĴóС¡£ÄãµÄ²Ù×÷ϵͳÔÚÕâ¸ö¶ÓÁдóСÉÏÓÐËü×Ô¼ºµÄÏÞÖÆ¡£ Unix listen(2)ϵͳµ÷ÓõÄÊÖ²áÒ³Ó¦¸ÃÓиü¶àµÄϸ½Ú¡£¼ì²éÄãµÄOSÎĵµÕÒ³öÕâ¸ö±äÁ¿µÄ×î´óÖµ¡£ÊÔͼÉ趨back_log¸ßÓÚÄãµÄ²Ù×÷ϵͳµÄÏÞÖÆ½«ÊÇÎÞЧµÄ¡£
connect_timeout
mysqld·þÎñÆ÷ÔÚÓÃBad handshake£¨Ôã¸âµÄÎÕÊÖ£©Ó¦´ðǰÕýÔڵȴýÒ»¸öÁ¬½Ó±¨ÎĵÄÃëÊý¡£
delayed_insert_timeout
Ò»¸öINSERT DELAYEDÏß³ÌÓ¦¸ÃÔÚÖÕֹ֮ǰµÈ´ýINSERTÓï¾äµÄʱ¼ä¡£
delayed_insert_limit
ÔÚ²åÈëdelayed_insert_limitÐкó£¬INSERT DELAYED´¦ÀíÆ÷½«¼ì²éÊÇ·ñÓÐÈκÎSELECTÓï¾äδִÐС£Èç¹ûÕâÑù£¬ÔÚ¼ÌÐøÇ°Ö´ÐÐÔÊÐíÕâЩÓï¾ä¡£
delayed_queue_size
Ó¦¸ÃΪ´¦ÀíINSERT DELAYED·ÖÅä¶à´óÒ»¸ö¶ÓÁÐ(ÒÔÐÐÊý)¡£Èç¹ûÅŶÓÂúÁË£¬ÈκνøÐÐINSERT DELAYEDµÄ¿Í»§½«µÈ´ýÖ±µ½¶ÓÁÐÓÖÓпռäÁË¡£
flush_time
Èç¹ûÕâ±»ÉèÖÃΪ·ÇÁãÖµ£¬ÄÇôÿflush_timeÃëËùÓÐ±í½«±»¹Ø±Õ(ÒÔÊÍ·Å×ÊÔ´ºÍsyncµ½´ÅÅÌ)¡£
interactive_timeout
·þÎñÆ÷ÔÚ¹ØÉÏËüǰÔÚÒ»¸ö½»»¥Á¬½ÓÉϵȴýÐж¯µÄÃëÊý¡£Ò»¸ö½»»¥µÄ¿Í»§±»¶¨ÒåΪ¶Ômysql_real_connect()ʹÓÃCLIENT_INTERACTIVEÑ¡ÏîµÄ¿Í»§¡£Ò²¿É¼ûwait_timeout¡£
join_buffer_size
ÓÃÓÚÈ«²¿Áª½á(join)µÄ»º³åÇø´óС(²»ÊÇÓÃË÷ÒýµÄÁª½á)¡£»º³åÇø¶Ô2¸ö±í¼äµÄÿ¸öÈ«²¿Áª½á·ÖÅäÒ»´Î»º³åÇø£¬µ±Ôö¼ÓË÷Òý²»¿ÉÄÜʱ£¬Ôö¼Ó¸ÃÖµ¿ÉµÃµ½Ò»¸ö¸ü¿ìµÄÈ«²¿Áª½á¡££¨Í¨³£µÃµ½¿ìËÙÁª½áµÄ×î¼Ñ·½·¨ÊÇÔö¼ÓË÷Òý¡££©
key_buffer_size
Ë÷Òý¿éÊÇ»º³åµÄ²¢ÇÒ±»ËùÓеÄÏ̹߳²Ïí¡£key_buffer_sizeÊÇÓÃÓÚË÷Òý¿éµÄ»º³åÇø´óС£¬Ôö¼ÓËü¿ÉµÃµ½¸üºÃ´¦ÀíµÄË÷Òý(¶ÔËùÓжÁºÍ¶àÖØÐ´)£¬µ½ÄãÄܸºµ£µÃÆðÄÇÑù¶à¡£Èç¹ûÄãʹËüÌ«´ó£¬ÏµÍ³½«¿ªÊ¼»»Ò³²¢ÇÒÕæµÄ±äÂýÁË¡£¼Çס¼ÈÈ»MySQL²»»º´æ¶ÁÈ¡µÄÊý¾Ý£¬Ä㽫±ØÐëΪOSÎļþϵͳ»º´æÁôÏÂһЩ¿Õ¼ä¡£ÎªÁËÔÚдÈë¶à¸öÐÐʱµÃµ½¸ü¶àµÄËÙ¶È£¬Ê¹ÓÃLOCK TABLES¡£¼û7.24LOCK TABLES/UNLOCK TABLESÓï·¨¡£
long_query_time
Èç¹ûÒ»¸ö²éѯËùÓÃʱ¼ä³¬¹ýËü(ÒÔÃë¼Æ)£¬Slow_queries¼ÇÊýÆ÷½«±»Ôö¼Ó¡£
max_allowed_packet
Ò»¸ö°üµÄ×î´ó³ß´ç¡£ÏûÏ¢»º³åÇø±»³õʼ»¯Îªnet_buffer_length×Ö½Ú£¬µ«ÊÇ¿ÉÔÚÐèҪʱÔö¼Óµ½max_allowed_packet¸ö×Ö½Ú¡£È±Ê¡µØ£¬¸Ãֵ̫С±ØÄܲ¶×½´óµÄ(¿ÉÄÜ´íÎó)°ü¡£Èç¹ûÄãÕýÔÚʹÓôóµÄBLOBÁУ¬Äã±ØÐëÔö¼Ó¸ÃÖµ¡£ËüÓ¦¸ÃÏóÄãÏëҪʹÓõÄ×î´óBLOBµÄÄÇô´ó¡£
max_connections
ÔÊÐíµÄͬʱ¿Í»§µÄÊýÁ¿¡£Ôö¼Ó¸ÃÖµÔö¼ÓmysqldÒªÇóµÄÎļþÃèÊö·ûµÄÊýÁ¿¡£¼ûÏÂÃæ¶ÔÎļþÃèÊö·ûÏÞÖÆµÄ×¢ÊÍ¡£¼û Too many connections´íÎó¡£
max_connect_errors
Èç¹ûÓжàÓÚ¸ÃÊýÁ¿µÄ´Óһ̨Ö÷»úÖжϵÄÁ¬½Ó£¬Õą̂Ö÷»ú×èÖ¹½øÒ»²½µÄÁ¬½Ó¡£Äã¿ÉÓÃFLUSH HOSTSÃüÁîÊèͨһ̨Ö÷»ú¡£
max_delayed_threads
²»ÒªÆô¶¯¶àÓÚµÄÕâ¸öÊý×ÖµÄÏß³ÌÀ´´¦ÀíINSERT DELAYEDÓï¾ä¡£Èç¹ûÄãÊÔͼÔÚËùÓÐINSERT DELAYEDÏß³ÌÔÚÓúóÏòÒ»ÕÅбí²åÈëÊý¾Ý£¬Ðн«±»²åÈ룬¾ÍÏñDELAYEDÊôÐÔû±»Ö¸¶¨ÄÇÑù¡£
max_join_size
¿ÉÄܽ«Òª¶ÁÈë¶àÓÚmax_join_size¸ö¼Ç¼µÄÁª½á½«·µ»ØÒ»¸ö´íÎó¡£Èç¹ûÄãµÄÓû§ÏëÒªÖ´ÐÐûÓÐÒ»¸öWHERE×Ӿ䡢»¨ºÜ³¤Ê±¼ä²¢ÇÒ·µ»Ø°ÙÍòÐеÄÁª½á£¬ÉèÖÃËü¡£
max_sort_length
ÔÚÅÅÐòBLOB»òTEXTֵʱʹÓõÄ×Ö½ÚÊý(ÿ¸öÖµ½öÍ·max_sort_length¸ö×Ö½Ú±»Ê¹Óã»ÆäÓàµÄ±»ºöÂÔ)¡£
max_tmp_tables
£¨¸ÃÑ¡ÔñĿǰ»¹²»×öÈκÎÊÂÇé)¡£Ò»¸ö¿Í»§ÄÜͬʱ±£³Ö´ò¿ªµÄÁÙʱ±íµÄ×î´óÊýÁ¿¡£
net_buffer_length
ͨÐÅ»º³åÇøÔÚ²éѯ֮¼ä±»ÖØÖõ½¸Ã´óС¡£Í¨³£Õâ²»Ó¦¸Ã±»¸Ä±ä£¬µ«ÊÇÈç¹ûÄãÓкÜÉÙµÄÄڴ棬ÄãÄܽ«ËüÉèÖÃΪ²éѯÆÚÍûµÄ´óС¡££¨¼´£¬¿Í»§·¢³öµÄSQLÓï¾äÆÚÍûµÄ³¤¶È¡£Èç¹ûÓï¾ä³¬¹ýÕâ¸ö³¤¶È£¬»º³åÇø×Ô¶¯µØ±»À©´ó£¬Ö±µ½max_allowed_packet¸ö×Ö½Ú¡££©
record_buffer
ÿ¸ö½øÐÐÒ»¸ö˳ÐòɨÃèµÄÏß³ÌΪÆäɨÃèµÄÿÕűí·ÖÅäÕâ¸ö´óСµÄÒ»¸ö»º³åÇø¡£Èç¹ûÄã×öºÜ¶à˳ÐòɨÃ裬Äã¿ÉÄÜÏëÒªÔö¼Ó¸ÃÖµ¡£
sort_buffer
ÿ¸öÐèÒª½øÐÐÅÅÐòµÄÏ̷߳ÖÅä¸Ã´óСµÄÒ»¸ö»º³åÇø¡£Ôö¼ÓÕâÖµ¼ÓËÙORDER BY»òGROUP BY²Ù×÷¡£¼û18.5 MySQLÔÚÄĶù´æ´¢ÁÙʱÎļþ¡£
table_cache
ΪËùÓÐÏ̴߳ò¿ª±íµÄÊýÁ¿¡£Ôö¼Ó¸ÃÖµÄÜÔö¼ÓmysqldÒªÇóµÄÎļþÃèÊö·ûµÄÊýÁ¿¡£MySQL¶Ôÿ¸öΨһ´ò¿ªµÄ±íÐèÒª2¸öÎļþÃèÊö·û£¬¼ûÏÂÃæ¶ÔÎļþÃèÊö·ûÏÞÖÆµÄ×¢ÊÍ¡£¶ÔÓÚ±í»º´æÈçºÎ¹¤×÷µÄÐÅÏ¢£¬¼û10.2.4 MySQLÔõÑù´ò¿ªºÍ¹Ø±Õ±í¡£
tmp_table_size
Èç¹ûÒ»ÕÅÁÙʱ±í³¬³ö¸Ã´óС£¬MySQL²úÉúÒ»¸öThe table tbl_name is fullÐÎʽµÄ´íÎó£¬Èç¹ûÄã×öºÜ¶à¸ß¼¶GROUP BY²éѯ£¬Ôö¼Ótmp_table_sizeÖµ¡£
thread_stack
ÿ¸öÏ̵߳ÄÕ»´óС¡£ÓÉcrash-me²âÊÔ¼ì²âµ½µÄÐí¶àÏÞÖÆÒÀÀµÓÚ¸ÃÖµ¡£È±Ê¡¶ÓÒ»°ãµÄ²Ù×÷ÊÇ×ã¹»´óÁË¡£¼û10.8 ʹÓÃÄã×Ô¼ºµÄ»ù×¼¡£
wait_timeout
·þÎñÆ÷ÔڹرÕËü֮ǰÔÚÒ»¸öÁ¬½ÓÉϵȴýÐж¯µÄÃëÊý¡£Ò²¿É¼ûinteractive_timeout¡£
MySQLʹÓÃÊǺܾßÉìËõÐÔµÄËã·¨£¬Òò´ËÄãͨ³£ÄÜÓúÜÉÙµÄÄÚ´æÔËÐлò¸øMySQL¸ü¶àµÄ±»´æÒԵõ½¸üºÃµÄÐÔÄÜ¡£

Èç¹ûÄãÓкܶàÄÚ´æºÍºÜ¶à±í²¢ÇÒÓÐÒ»¸öÖеÈÊýÁ¿µÄ¿Í»§£¬ÏëÒª×î´óµÄÐÔÄÜ£¬ÄãÓ¦¸ÃһЩÏóÕâÑùµÄ¶«Î÷£º

shell> safe_mysqld -O key_buffer=16M -O table_cache=128 \
           -O sort_buffer=4M -O record_buffer=1M &

Èç¹ûÄãÓнÏÉÙµÄÄÚ´æºÍ´óÁ¿µÄÁ¬½Ó£¬Ê¹ÓÃÕâÑùһЩ¶«Î÷£º
shell> safe_mysqld -O key_buffer=512k -O sort_buffer=100k \
           -O record_buffer=100k &

»òÉõÖÁ£º
shell> safe_mysqld -O key_buffer=512k -O sort_buffer=16k \
           -O table_cache=32 -O record_buffer=8k -O net_buffer=1K &

Èç¹ûÓкܶàÁ¬½Ó£¬¡°½»»»ÎÊÌ⡱¿ÉÄÜ·¢Éú£¬³ý·ÇmysqldÒѾ­±»ÅäÖÃÿ¸öÁ¬½ÓʹÓúÜÉÙµÄÄÚ´æ¡£µ±È»Èç¹ûÄã¶ÔËùÓÐÁ¬½ÓÓÐ×ã¹»µÄÄڴ棬mysqldÖ´ÐеøüºÃ¡£

×¢Ò⣬Èç¹ûÄã¸Ä±ämysqldµÄÒ»¸öÑ¡ÏËüʵ¼ÊÉÏÖ»¶Ô·þÎñÆ÷µÄÄǸöÀý×Ó±£³Ö¡£

ΪÁËÃ÷°×Ò»¸ö²ÎÊý±ä»¯µÄЧ¹û£¬ÕâÑù×ö£º

shell> mysqld -O key_buffer=32m --help

±£Ö¤--helpÑ¡ÏîÊÇ×îºóÒ»¸ö£»·ñÔò£¬ÃüÁîÐÐÉÏÔÚËüÖ®ºóÁгöµÄÈκÎÑ¡ÏîµÄЧ¹û½«²»ÔÚ·´Ó³ÔÚÊä³öÖС£

FlyFire2006-4-17 14:07
2.4 MySQLÔõÑù´ò¿ªºÍ¹Ø±ÕÊý¾Ý¿â±í

table_cache, max_connectionsºÍmax_tmp_tablesÓ°Ïì·þÎñÆ÷±£³Ö´ò¿ªµÄÎļþµÄ×î´óÊýÁ¿¡£Èç¹ûÄãÔö¼ÓÕâЩֵµÄÒ»¸ö»òÁ½¸ö£¬Äã¿ÉÒÔÓöµ½ÄãµÄ²Ù×÷ϵͳÿ¸ö½ø³Ì´ò¿ªÎļþÃèÊö·ûµÄÊýÁ¿ÉÏÇ¿¼ÓµÄÏÞÖÆ¡£È»¶ø£¬Äã¿ÉÒÔÄÜÔÚÐí¶àϵͳÉÏÔö¼Ó¸ÃÏÞÖÆ¡£Çë½ÌÄãµÄOSÎĵµÕÒ³öÈçºÎ×öÕâЩ£¬ÒòΪ¸Ä±äÏÞÖÆµÄ·½·¨¸÷ϵͳÓкܴóµÄ²»Í¬¡£

table_cacheÓëmax_connectionsÓйء£ÀýÈ磬¶ÔÓÚ200¸ö´ò¿ªµÄÁ¬½Ó£¬ÄãÓ¦¸ÃÈÃÒ»ÕűíµÄ»º³åÖÁÉÙÓÐ200 * n£¬ÕâÀïnÊÇÒ»¸öÁª½á(join)ÖбíµÄ×î´óÊýÁ¿¡£

´ò¿ª±íµÄ»º´æ¿ÉÒÔÔö¼Óµ½Ò»¸ötable_cacheµÄ×î´óÖµ£¨È±Ê¡Îª64£»Õâ¿ÉÒÔÓÃmysqldµÄ-O table_cache=#Ñ¡ÏîÀ´¸Ä±ä£©¡£Ò»¸ö±í¾ø¶Ô²»±»¹Ø±Õ£¬³ý·Çµ±»º´æÂúÁ˲¢ÇÒÁíÍâÒ»¸öÏß³ÌÊÔͼ´ò¿ªÒ»¸ö±íʱ»òÈç¹ûÄãʹÓÃmysqladmin refresh»òmysqladmin flush-tables¡£

µ±±í»º´æÂúʱ£¬·þÎñÆ÷ʹÓÃÏÂÁйý³ÌÕÒµ½Ò»¸ö»º´æÈë¿ÚÀ´Ê¹Óãº

²»Êǵ±Ç°Ê¹ÓÃµÄ±í±»ÊÍ·Å£¬ÒÔ×î½ü×îÉÙʹÓã¨LRU£©Ë³Ðò¡£
Èç¹û»º´æÂúÁ˲¢ÇÒûÓбí¿ÉÒÔÊÍ·Å£¬µ«ÊÇÒ»¸öбíÐèÒª´ò¿ª£¬»º´æ±ØÐëÁÙʱ±»À©´ó¡£
Èç¹û»º´æ´¦ÓÚÒ»¸öÁÙʱÀ©´ó״̬²¢ÇÒÒ»¸ö±í´ÓÔÚÓñäΪ²»ÔÚÓÃ״̬£¬Ëü±»¹Ø±Õ²¢´Ó»º´æÖÐÊÍ·Å¡£
¶Ôÿ¸ö²¢·¢´æÈ¡´ò¿ªÒ»¸ö±í¡£ÕâÒâζ×Å£¬Èç¹ûÄãÈÃ2¸öÏ̴߳æÈ¡Í¬Ò»¸ö±í»òÔÚͬһ¸ö²éѯÖдæÈ¡±íÁ½´Î(ÓÃAS)£¬±íÐèÒª±»´ò¿ªÁ½´Î¡£ÈκαíµÄµÚÒ»´Î´ò¿ªÕ¼2¸öÎļþÃèÊö·û£»±íµÄÿһ´Î¶îÍâʹÓýöÕ¼Ò»¸öÎļþÃèÊö·û¡£¶ÔÓÚµÚÒ»´Î´ò¿ªµÄ¶îÍâÃèÊö·ûÓÃÓÚË÷ÒýÎļþ£»Õâ¸öÃèÊö·ûÔÚËùÓÐÏß³ÌÖ®¼ä¹²Ïí¡£

FlyFire2006-4-17 14:08
2.5 ÔÚͬһ¸öÊý¾Ý¿âÖд´½¨´óÁ¿Êý¾Ý¿â±íµÄȱµã

Èç¹ûÄãÔÚÒ»¸öĿ¼ÖÐÓÐÐí¶àÎļþ£¬´ò¿ª¡¢¹Ø±ÕºÍ´´½¨²Ù×÷½«»áºÜÂý¡£Èç¹ûÄãÖ´ÐÐÔÚÐí¶à²»Í¬±íÉϵÄSELECTÓï¾ä£¬µ±±í»º´æÂúʱ£¬½«ÓÐÒ»µã¿ªÏú£¬ÒòΪ¶Ôÿ¸ö±ØÐë´ò¿ªµÄ±í£¬ÁíÍâÒ»¸ö±ØÐë±»¹Ø±Õ¡£Äã¿ÉÒÔͨ¹ýʹ±í»º³å¸ü´óЩÀ´¼õÉÙÕâ¸ö¿ªÏú¡£

[b]2.6 ΪʲôÓÐÕâô¶à´ò¿ªµÄ±í£¿[/b]
µ±ÄãÔËÐÐmysqladmin statusʱ£¬Ä㽫¿´¼ûÏóÕâÑùµÄһЩ¶«Î÷£º

Uptime: 426 Running threads: 1 Questions: 11082 Reloads: 1 Open tables: 12

Èç¹ûÄã½öÓÐ6¸ö±í£¬Õâ¿ÉÄÜÓеãÁîÈËÀ§»ó¡£

MySQLÊǶàÏ̵߳ģ¬Òò´ËËü¿ÉÒÔͬʱÔÚͬһ¸ö±íÉÏÓÐÐí¶àѯÎÊ¡£ÎªÁËÊÇ2¸öÏß³ÌÔÚͬһ¸öÎļþÉÏÓв»Í¬×´Ì¬µÄÎÊÌâ¼õµ½×îС£¬±íÓÉÿ¸ö²¢·¢½ø³ÌX$%@XµØ´ò¿ª¡£ÕâΪÊý¾ÝÎļþÏûºÄһЩÄÚ´æºÍÒ»¸ö¶îÍâµÄÎļþÃèÊö·û¡£Ë÷ÒýÎļþÃèÊö·ûÔÚËùÓÐÏß³ÌÖ®¼ä¹²Ïí¡£

FlyFire2006-4-17 14:09
2.7 MySQLÔõÑùʹÓÃÄÚ´æ

ϱíÖ¸³ömysqld·þÎñÆ÷ʹÓô洢Æ÷µÄһЩ·½Ê½¡£ÔÚÓ¦Óõĵط½£¬¸ø³öÓë´æ´¢Æ÷ʹÓÃÏà¹ØµÄ·þÎñÆ÷±äÁ¿µÄÃû×Ö¡£

¹Ø¼ü×Ö»º³åÇø(±äÁ¿key_buffer_size)ÓÉËùÓÐÏ̷߳ÖÏí£»µ±ÐèҪʱ£¬·ÖÅä·þÎñÆ÷ʹÓÃµÄÆäËû»º³åÇø¡£¼û 2.3 µ÷½Ú·þÎñÆ÷²ÎÊý¡£
ÿ¸öÁ¬½ÓʹÓÃһЩÏß³ÌÌØ¶¨µÄ¿Õ¼ä£»Ò»¸öÕ»(ȱʡ64K£¬±äÁ¿thread_stack)¡¢Ò»¸öÁ¬½Ó»º³åÇø(±äÁ¿net_buffer_length)ºÍÒ»¸ö½á¹û»º³åÇø(±äÁ¿net_buffer_length)¡£µ±ÐèҪʱ£¬Á¬½Ó»º³åÇøºÍ½á¹û»º³åÇø¶¯Ì¬µØ±»À©´óµ½max_allowed_packet¡£µ±Ò»¸ö²éѯÕýÔÚÔËÐе±Ç°²éѯµÄÒ»¸ö¿½±´Ê±£¬Ò²·ÖÅä×Ö·û´®¡£
ËùÓÐÏ̹߳²Ïíͬһ»ù´æ´¢Æ÷¡£
Ŀǰ»¹Ã»ÓÐʲôÊÇÄÚ´æÓ³ÉäµÄ(³ýÁËѹËõ±í£¬µ«ÊÇÄÇÊÇÁíÍâÒ»¸öµÄ¹ÊÊÂ)¡£ÕâÊÇÒòΪ4GBµÄ32λ´æ´¢Æ÷¿Õ¼ä¶Ô×î´óµÄÊý¾Ý¿âÀ´Ëù²»ÊÇ×ã¹»´óµÄ¡£µ±Ò»¸ö64λѰַ¿Õ¼äµÄϵͳ±äµÃ¸üÆÕ±éʱ£¬ÎÒÃÇ¿ÉÒÔΪÄÚ´æÓ³ÉäÔö¼ÓÈ«ÃæµÄÖ§³Ö¡£
ÿ¸ö×ö˳ÐòɨÃèµÄÇëÇó·ÖÅäÒ»¸ö¶Á»º³åÇø(±äÁ¿record_buffer)¡£
ËùÓÐÁª½á¾ùÓÃÒ»±éÍê³É²¢ÇÒ´ó¶àÊýÁª½á¿ÉÒÔÉõÖÁ²»ÓÃÒ»ÕÅÁÙʱ±íÀ´Íê³É¡£×îÁÙʱµÄ±íÊÇ»ùÓÚÄÚ´æµÄ(HEAP)±í¡£Óнϴó¼Ç¼³¤¶È(ÒÔËùÓÐÁеij¤¶ÈÖ®ºÍ¼ÆËã)µÄÁÙʱ±í»ò°üº¬BLOBÁеıíÔÚ´ÅÅÌÉÏ´æ´¢¡£ÔÚMySQL°æ±¾3.23.2ǰһ¸öÎÊÌâÊÇÈç¹ûÒ»ÕÅHEAP±í³¬¹ýtmp_table_sizeµÄ´óС£¬ÄãµÃµ½´íÎóThe table tbl_name is full¡£ÔÚ¸üеİ汾ÖУ¬Õâͨ¹ý±ØÒªÊ±×Ô¶¯½«ÔÚÄÚ´æµÄ(HEAP)±íת±äΪһ¸ö»ùÓÚ´ÅÅÌ(MyISAM)µÄ±íÀ´´¦Àí¡£ÎªÁ˽â¾öÕâ¸öÎÊÌ⣬Äã¿ÉÒÔͨ¹ýÉèÖÃmysqldµÄtmp_table_sizeÑ¡Ï»òͨ¹ýÔÚ¿Í»§³ÌÐòÖÐÉèÖÃSQLµÄSQL_BIG_TABLESÑ¡ÏîÔö¼ÓÁÙʱ±íµÄ´óС¡£¼û7.25 SET OPTION¾ä·¨¡£ÔÚMySQL 3.20ÖУ¬ÁÙʱ±íµÄ×î´ó³ß´çÊÇrecord_buffer*16£¬Òò´ËÈç¹ûÄãÕýÔÚʹÓÃÕâ¸ö°æ±¾£¬Äã±ØÐëÔö¼Órecord_bufferÖµ¡£ÄãÒ²¿ÉÒÔʹÓÃ--big-tablesÑ¡ÏîÆô¶¯mysqldÒÔ×ܽ«ÁÙʱ±í´æ´¢ÔÚ´ÅÅÌÉÏ£¬È»¶ø£¬Õ⽫ӰÏìÐí¶à¸´ÔÓ²éѯµÄËÙ¶È¡£
´ó¶àÊý×öÅÅÐòµÄÇëÇó·ÖÅäÒ»¸öÅÅÐò»º³åÇøºÍÒ»¸ö»ò¶þ¸öÁÙʱÎļþ¡£

¼¸ºõËùÓеÄÓï·¨·ÖÎöºÍ¼ÆËã¶¼ÔÚÒ»¼Ò±¾µØ´æ´¢Æ÷ÖÐÍê³É¡£¶ÔСÏîĿûÓÐÄڴ濪Ïú²¢ÇÒÒ»°ãµÄ½ÏÂý´æ´¢Æ÷·ÖÅäºÍÊͷű»±ÜÃâ¡£ÄÚ´æ½öΪ³öºõÒâÁϵĴó×Ö·û´®·ÖÅä(ÕâÓÃmalloc()ºÍfree()Íê³É)¡£
ÿ¸öË÷ÒýÎļþÖ»±»´ò¿ªÒ»´Î£¬²¢ÇÒÊý¾ÝÎļþΪÿ¸ö²¢·¢ÔËÐеÄÏ̴߳ò¿ªÒ»´Î¡£¶Ôÿ¸ö²¢·¢Ị̈߳¬·ÖÅäÒ»¸ö±í½á¹¹¡¢¶ÔÿÁеÄÁнṹºÍ´óСΪ3 * nµÄÒ»¸ö»º³åÇø(ÕâÀïnÊÇ×î´óµÄÐг¤¶È£¬²»ËãBLOBÁÐ)¡£Ò»¸öBLOBʹÓÃ5 ¡« 8¸ö×Ö½Ú¼ÓÉÏBLOBÊý¾Ý¡£
¶Ôÿ¸öÓÐBLOBÁÐµÄ±í£¬Ò»¸ö»º³åÇø¶¯Ì¬µØ±»À©´óÒÔ±ã¶ÁÈë¸ü´óµÄBLOBÖµ¡£Èç¹ûÄãɨÃèÒ»¸ö±í£¬·ÖÅäÓë×î´óBLOBÖµÒ»Ñù´óµÄÒ»¸ö»º³åÇø¡£
¶ÔËùÓÐÔÚÓõıíµÄ±í´¦ÀíÆ÷±»±£´æÔÚÒ»¸ö»º´æÖв¢ÇÒ×÷Ϊһ¸öFIFO¹ÜÀí¡£Í¨³£»º´æÓÐ64¸öÈë¿Ú¡£Èç¹ûÒ»¸ö±íͬʱ±»2¸öÔËÐеÄÏß³ÌʹÓ㬻º´æÎª´Ë°üº¬2¸öÈë¿Ú¡£¼û 2.4 MySQLÈçºÎ´ò¿ªºÍ¹Ø±ÕÊý¾Ý¿â±í¡£
Ò»¸ömysqladmin flush-tablesÃüÁî¹Ø±ÕËùÓв»ÔÚÓÃµÄ±í²¢ÔÚµ±Ç°Ö´ÐеÄÏ߳̽áÊøÊ±£¬±ê¼ÇËùÓÐÔÚÓõıí×¼±¸±»¹Ø±Õ¡£Õ⽫ÓÐЧµØÊÍ·Å´ó¶àÊýÔÚÓõÄÄÚ´æ¡£
psºÍÆäËûϵͳ״̬³ÌÐò¿ÉÒÔ±¨µ¼mysqldʹÓúܶàÄÚ´æ¡£Õâ¿ÉÒÔÊÇÔÚ²»Í¬µÄÄÚ´æµØÖ·ÉϵÄÏß³ÌÕ»Ôì³ÉµÄ¡£ÀýÈ磬Solaris°æ±¾µÄps½«Õ»¼äδÓõÄÄÚ´æËã×÷ÒÑÓõÄÄÚ´æ¡£Äã¿ÉÒÔͨ¹ýÓÃswap -s¼ì²é¿ÉÓý»»»ÇøÀ´ÑéÖ¤Ëü¡£ÎÒÃÇÓÃÉÌÒµÄÚ´æÂ©¶´Ì½²éÆ÷²âÊÔÁËmysqld£¬Òò´ËÓ¦¸ÃÓÐûÓÐÄÚ´æÂ©¶´¡£

FlyFire2006-4-17 14:09
2.8 MySQLÔõÑùËø¶¨Êý¾Ý¿â±í

MySQLÖÐËùÓÐËø¶¨²»»áÊÇËÀËøµÄ¡£Õâͨ¹ý×ÜÊÇÔÚÒ»¸ö²éѯǰÁ¢¼´ÇëÇóËùÓбØÒªµÄËø¶¨²¢ÇÒ×ÜÊÇÒÔͬÑùµÄ˳ÐòËø¶¨±íÀ´¹ÜÀí¡£

¶ÔWRITE£¬MySQLʹÓõÄËø¶¨·½·¨Ô­ÀíÈçÏ£º

Èç¹ûÔÚ±íÉÏûÓÐËø£¬·ÅÒ»¸öËøÔÚËüÉÏÃæ¡£
·ñÔò£¬°ÑËø¶¨ÇëÇó·ÅÔÚÐ´Ëø¶¨¶ÓÁÐÖС£
¶ÔREAD£¬MySQLʹÓõÄËø¶¨·½·¨Ô­ÀíÈçÏ£º

Èç¹ûÔÚ±íÉÏûÓÐÐ´Ëø¶¨£¬°ÑÒ»¸ö¶ÁËø¶¨·ÅÔÚËüÉÏÃæ¡£
·ñÔò£¬°ÑËøÇëÇó·ÅÔÚ¶ÁËø¶¨¶ÓÁÐÖС£
µ±Ò»¸öËø¶¨±»ÊÍ·Åʱ£¬Ëø¶¨¿É±»Ð´Ëø¶¨¶ÓÁÐÖеÄÏ̵߳õ½£¬È»ºóÊǶÁËø¶¨¶ÓÁÐÖеÄÏ̡߳£

ÕâÒâζ×Å£¬Èç¹ûÄãÔÚÒ»¸ö±íÉÏÓÐÐí¶à¸ü¸Ä£¬SELECTÓï¾ä½«µÈ´ýÖ±µ½ÓÐûÓиü¶àµÄ¸ü¸Ä¡£

ΪÁ˽â¾öÔÚÒ»¸ö±íÖнøÐкܶàINSERTºÍSELECT²Ù×÷µÄÇé¿ö£¬Äã¿ÉÔÚÒ»ÕÅÁÙʱ±íÖвåÈëÐв¢ÇÒż¶ûÓÃÀ´×ÔÁÙʱ±íµÄ¼Ç¼¸üÐÂÕæÕýµÄ±í¡£

Õâ¿ÉÓÃÏÂÁдúÂë×öµ½£º
[code]
mysql> LOCK TABLES real_table WRITE, insert_table WRITE;
mysql> insert into real_table select * from insert_table;
mysql> delete from insert_table;
mysql> UNLOCK TABLES;
[/code]
Èç¹ûÄãÔÚÒ»Ð©ÌØ¶¨µÄÇé¿ö×ÖÏÂÇø·Ö¼ìË÷µÄÓÅÏÈ´ÎÐò£¬Äã¿ÉÒÔʹÓÃLOW_PRIORITYÑ¡ÏîµÄINSERT¡£¼û7.14 INSERT¾ä·¨¡£

ÄãÒ²ÄܸıäÔÚ¡°mysys/thr_lock.c¡±ÖеÄËø´úÂëÒÔʹÓÃÒ»¸öµ¥¸ö¶ÓÁС£ÔÚÕâÖÖÇé¿öÏ£¬Ð´Ëø¶¨ºÍ¶ÁËø¶¨½«ÓÐͬÑùÓÅÏȼ¶£¬Ëü¿ÉÄܰïÖúһЩӦÓóÌÐò¡£

FlyFire2006-4-17 14:10
2.9 Êý¾Ý¿â±í¼¶Ëø¶¨µÄÎÊÌâ

MySQLµÄ±íËø¶¨´úÂëÊDz»»áËÀËøµÄ¡£

MySQLʹÓÃ±í¼¶Ëø¶¨(¶ø²»ÊÇÐм¶Ëø¶¨»òÁм¶Ëø¶¨)ÒÔ´ïµ½ºÜ¸ßµÄËø¶¨ËÙ¶È¡£¶ÔÓÚ´ó±í£¬±í¼¶Ëø¶¨¶Ô´ó¶àÊýÓ¦ÓóÌÐòÀ´Ëµ±ÈÐм¶Ëø¶¨ºÃһЩ£¬µ«Êǵ±È»ÓÐһЩȱÏÝ¡£

ÔÚMySQL3.23.7ºÍ¸ü¸ß°æ±¾ÖУ¬Ò»¸öÈËÄܰÑÐвåÈëµ½MyISAM±íͬʱÆäËûÏß³ÌÕýÔÚ¶Á¸Ã±í¡£×¢Ò⣬ĿǰֻÓÐÔÚ±íÖÐÄÚÓÐɾ³ýµÄÐÐʱ²Å¹¤×÷¡£

±í¼¶Ëø¶¨Ê¹ºÜ¶àÏß³ÌÄܹ»Í¬Ê±¶ÁÒ»¸ö±í£¬µ«ÊÇÈç¹ûÒ»¸öÏß³ÌÏëҪдһ¸ö±í£¬Ëü±ØÐëÊ×Ïȵõ½¶ÀÕ¼´æÈ¡È¨¡£ÔÚ¸ü¸ÄÆÚ¼ä£¬ËùÓÐÆäËûÏëÒª´æÈ¡¸ÃÌØ¶¨±íµÄÏ߳̽«µÈµ½¸ü¸Ä¾ÍÐ÷¡£

ÒòΪÊý¾Ý¿âµÄ¸ü¸Äͨ³£±»ÊÓΪ±ÈSELECT¸üÖØÒª£¬¸üÐÂÒ»¸ö±íµÄËùÓÐÓï¾ä±È´ÓÒ»¸ö±íÖмìË÷ÐÅÏ¢µÄÓï¾äÓиü¸ßµÄÓÅÏȼ¶¡£ÕâÓ¦¸Ã±£Ö¤¸ü¸Ä²»±»¡°¶öËÀ¡±£¬ÒòΪһ¸öÈËÕë¶ÔÒ»¸öÌØ¶¨±í»á·¢³öºÜ¶à·±ÖصIJéѯ¡£

´ÓMySQL 3.23.7¿ªÊ¼£¬Ò»¸öÈË¿ÉÒÔÄÜʹÓÃmax_write_lock_count±äÁ¿Ç¿ÖÆMySQLÔÚÒ»¸ö±íÉÏÒ»¸öÌØ¶¨ÊýÁ¿µÄ²åÈëºó·¢³öÒ»¸öSELECT¡£

¶Ô´ËÒ»¸öÖ÷ÒªµÄÎÊÌâÈçÏ£º

Ò»¸ö¿Í»§·¢³öÒ»¸ö»¨ºÜ³¤Ê±¼äÔËÐеÄSELECT¡£
È»ºóÆäËû¿Í»§ÔÚÒ»¸öʹÓõıíÉÏ·¢³öÒ»¸öUPDATE£»Õâ¸ö¿Í»§½«µÈ´ýÖ±µ½SELECTÍê³É¡£
ÁíÒ»¸ö¿Í»§ÔÚͬһ¸ö±íÉÏ·¢³öÁíÒ»¸öSELECTÓï¾ä£»ÒòΪUPDATE±ÈSELECTÓиü¸ßµÄÓÅÏȼ¶£¬¸ÃSELECT½«µÈ´ýUPDATEµÄÍê³É¡£ËüÒ²½«µÈ´ýµÚÒ»¸öSELECTÍê³É£¡
¶ÔÕâ¸öÎÊÌâµÄһЩ¿ÉÄܵĽâ¾ö·½°¸ÊÇ£º

ÊÔ×ÅʹSELECTÓï¾äÔËÐеøü¿ì£»Äã¿ÉÄܱØÐë´´½¨Ò»Ð©ÕªÒª(summary)±í×öµ½Õâµã¡£
ÓÃ--low-priority-updatesÆô¶¯mysqld¡£Õ⽫¸øËùÓиüÐÂ(ÐÞ¸Ä)Ò»¸ö±íµÄÓï¾äÒÔ±ÈSELECTÓï¾äµÍµÄÓÅÏȼ¶¡£ÔÚÕâÖÖÇé¿öÏ£¬ÔÚÏÈǰÇéÐεÄ×îºóµÄSELECTÓï¾ä½«ÔÚINSERTÓï¾äǰִÐС£
Äã¿ÉÒÔÓÃLOW_PRIORITYÊôÐÔ¸øÓëÒ»¸öÌØ¶¨µÄINSERT¡¢UPDATE»òDELETEÓï¾ä½ÏµÍÓÅÏȼ¶¡£
Ϊmax_write_lock_countÖ¸¶¨Ò»¸öµÍÖµÀ´Æô¶¯mysqldʹµÃÔÚÒ»¶¨ÊýÁ¿µÄWRITEËø¶¨ºó¸ø³öREADËø¶¨¡£
ͨ¹ýʹÓÃSQLÃüÁSET SQL_LOW_PRIORITY_UPDATES=1£¬Äã¿É´ÓÒ»¸öÌØ¶¨Ïß³ÌÖ¸¶¨ËùÓеĸü¸ÄÓ¦¸ÃÓÉÓõÍÓÅÏȼ¶Íê³É¡£¼û7.25 SET OPTION¾ä·¨¡£
Äã¿ÉÒÔÓÃHIGH_PRIORITYÊôÐÔÖ¸Ã÷Ò»¸öÌØ¶¨SELECTÊǺÜÖØÒªµÄ¡£
Èç¹ûÄãÓйØÓÚINSERT½áºÏSELECTµÄÎÊÌ⣬Çл»µ½Ê¹ÓÃеÄMyISAM±í£¬ÒòΪËüÃÇÖ§³Ö²¢·¢µÄSELECTºÍINSERT¡£
Èç¹ûÄãÖ÷Òª»ìºÏINSERTºÍSELECTÓï¾ä£¬DELAYEDÊôÐÔµÄINSERT½«¿ÉÄܽâ¾öÄãµÄÎÊÌâ¡£
Èç¹ûÄãÓйØÓÚSELECTºÍDELETEµÄÎÊÌ⣬LIMITÑ¡ÏîµÄDELETE¿ÉÒÔ°ïÖúÄã¡£

ÂþÌìºì·ã2006-4-18 01:14
ÐÁ¿àÁË,·Ç³£ÖµµÃÒ»¿´


²é¿´ÍêÕû°æ±¾: [ÓÅ»¯] 2 ϵͳ/±àÒëʱºÍÆô¶¯²ÎÊýµÄµ÷½Ú