???????????mysql??????????????????[mysqld]??????????
????1????????????????
??????[mysqld]???????skip-name-resolve
????skip-name-resolve
????????????DNS????????????????????????????????????MySQL??????????????????????????ip?????
????2??????????????mysql????????????100????????
????[mysqld]???????
????max_connections=512
????3????????????
????skip-locking#??????????????
????key_buffer = 512M#???????棬????????С????????????????db??????????????????80%?????????
????#????????б?????
????back_log = 200
????max_allowed_packet = 2M
????#???????????????????????????????????????
????table_cache = 512
????#??????????????????
????sort_buffer_size = 4M
????#MyISAM??????仯?????????????????
????myisam_sort_buffer_size = 64M
????#???????????????
????thread_cache = 128
????#??????????
????query_cache_size = 128M
????#???ó??????????????
????wait_timeout=60
????#???????????cpu????*2
????thread_concurrency = 4
????#????????????????????????
????log_output=FILE # also can be FILE??TABLE or TABLE or NONE
????slow-query-log=1
????slow_query_log_file=log-slow-queries.log
????long_query_time = 1
????4?????mytop???mysql
????apt-get install mytop
???????????mytop???????mysql??????????
?????????????????????????£???mysql?????ú?????????????????
???????? MySQL ????
??????3??????????? MySQL ????????????????Ч??????????????
?????滻???????????? ?? MySQL ????????y??е?????????????????
?????滻??????????????????????????????????????????????????????????????????????????????????????????????????(CPU)??????????????????????????4??8????
??????????????? MySQL ??????(???? mysqld)???е???????????????е?????ζ????????????棬???? mysqld ???????????????????????????????????????????????????????????????? MySQL ?????????????ζ????????????????????????????????????????(?紦???????????????????)???????? mysqld ???е????????????
????????????????????????????????????ζ????????????????????????????????????? MySQL ???????????д?????????????а??????????????????(??????????????????????????????)?????????????? mysqld ???????????????е????????
?????????????Щ???????????????????????????? mysqld ????????????????????????????????????????????????????????????????????????????????????????????? mysqld ???????????????????????????????
?????????????
????????? SQL ???????У???????????????????????????????????????????в???????????е??????????????????????????????????????????????????衣?????????????????????????????????????????????????????????? I/O??????????????????????????????????????????????????????????????????????????????????б???
?????????????貢??????????????;????????????????????????????????????????Ч(???????????в???滮????????????Щ????)??????????????Ч????????????????????????????????????????????????????????????С?????????????????????????????????????????Χ???????????????
?????????????? mysqld ????Щ??????????????????????????????С????????????????????????????????ó?????????Щ???????????????顣?嵥 1 ????????????????????????? my.cnf ???????????á?
?????嵥 1. ???? MySQL ?????????
????[mysqld]; enable the slow query log?? default 10 secondslog-slow-queries; log queries taking longer than 5 secondslong_query_time = 5; log queries that don't use indexes even if they take less than long_query_time; MySQL 4.1 and newer onlylog-queries-not-using-indexes
??????????????????????????????????? 5 ?????????????????????????й? log-queries-not-using-indexes ????棺????????? MySQL 4.1 ?????汾??????????????????? MySQL ???????У???? hostname-slow.log????????????????????????·?????????? my.cnf ????? log-slow-queries = /new/path/to/file ????????
??????????????????????? mysqldumpslow ??????С????????????·?????????????????????????????б?????????????????????????г?????????????????????????? mysqldumpslow ????????????????κ????????????????????????????????????????;???????????????????????????
???????????л???
??????? LAMP ??ó??????????????????????????????????????????в?????????????????????????? —— ???????з?????????????в??????????м??????????????????????????MySQL ?????????????????棬????(??????????)????????????????С?????????£??????????????????????????????????????????????????
?????? query_cache_size = 32M ???? /etc/my.conf ?п??????? 32MB ???????檔
??????????????
?????????ò???????????????????????????????Ч????á?MySQL ?м?????????????????????????????е???????嵥 2 ??????????????
?????嵥 2. ?????????????????
????mysql> SHOW STATUS LIKE 'qcache%';
????+-------------------------+------------+
????| Variable_name | Value |
????+-------------------------+------------+
????| Qcache_free_blocks | 5216 |
????| Qcache_free_memory | 14640664 |
????| Qcache_hits | 2581646882 |
????| Qcache_inserts | 360210964 |
????| Qcache_lowmem_prunes | 281680433 |
????| Qcache_not_cached | 79740667 |
????| Qcache_queries_in_cache | 16927 |
????| Qcache_total_blocks | 47042 |
????+-------------------------+------------+
????8 rows in set (0.00 sec)
??????Щ????????? 1 ?????
?????? 1. MySQL ??????????
?????????? ???
????Qcache_free_blocks ???????????????????????????????????????FLUSH QUERY CACHE ???????е?????????????????????????п顣
????Qcache_free_memory ?????е??????檔
????Qcache_hits ??β??????????????????
????Qcache_inserts ??β?????????????????д?????????????????б???;?? 1 ??????????????????????????????У?????? 87% ????????????????С?
????Qcache_lowmem_prunes ?????????治????????????????????????????????????????????ó????????;??????????????????????????????????????????????????(????? free_blocks ?? free_memory ????????????????????)??
????Qcache_not_cached ???????л?????????????????????????Щ??????? SELECT ???
????Qcache_queries_in_cache ??????????(?????)????????
????Qcache_total_blocks ?????п????????
????????????????????Щ???????????????????????????????????????Ч????á????? FLUSH STATUS ?????????Щ??????????????????????????????????????а?????
??????÷??????????棬??????????????ж??????????????????????? mysqld ?????????????????????統(tǒng)????ú?????м??????????????????????????????????????????????????????? FLUSH QUERY CACHE ?????????????????????????
???????????
???????????? mysqld ??????Щ?????????????????????????????????????嵥 3 ?????? my.cnf ????????й???Щ??????á?
?????嵥 3. MySQL ???????
????set-variable=max_connections=500set-variable=wait_timeout=10max_connect_errors = 100
?????????????????????н??й??????? Apache ?е? MaxClients ????????????????????????????????????????????????????????????????????????? SHOW STATUS LIKE 'max_used_connections'??
?????? 2 ?и??? mysqld ??????п???????? 10 ?????????? LAMP ??ó????У??????????????????? Web ???????????????????????????????????????????????????????????????????ж??????????????????????????????????????????????????!
??????????????????????????????????????????????????????????????κ??????????????????????????? FLUSH HOSTS ?????????С????????£?10 ????????????????????????????? 100 ?????????????????????????л??????????? 100 ?ζ?????????????????????????????????????????????????????????
???????????????
????MySQL ?????? 100 ????????????;??????????????????????????????????????????????Щ???????????????? SHOW STATUS ????????????????п?????? mysqld ???????????????????????????????????????????治????????е???????棬???????????????????Щ??Э??
????MySQL ????????????????????? mysqld ???????????????????????????
?????????????????
?????????????????????????????????????????????????????????ж???????????mysqld ????Щ?????????????棬???????? /etc/mysqld.conf ?е? table_cache ??????嵥 4 ???????????????й?????????
?????嵥 4. ?????????
????mysql> SHOW STATUS LIKE 'open%tables';
????+---------------+-------+
????| Variable_name | Value |
????+---------------+-------+
????| Open_tables | 5000 |
????| Opened_tables | 195 |
????+---------------+-------+
????2 rows in set (0.00 sec)
?????嵥 4 ??????? 5??000 ???????????? 195 ????????????????????????????п??????????????(?????????????????????????????????? 5??000 ??????????? 195 ????????????)????? Opened_tables ???????????? SHOW STATUS ????????????????????????????????? Open_tables ?? table_cache ????С??????????????(?????п????????????????????)?????磬??? table_cache = 5000 ????????????檔
???????????????????????????????????檔 mysqld ???????????????????????????????????仯??????????????????????л?????????????????????????
?????嵥 5. ???????????????
????mysql> SHOW STATUS LIKE 'threads%';
????+-------------------+--------+
????| Variable_name | Value |
????+-------------------+--------+
????| Threads_cached | 27 |
????| Threads_connected | 15 |
????| Threads_created | 838610 |
????| Threads_running | 3 |
????+-------------------+--------+
????4 rows in set (0.00 sec)
??????????????? Threads_created????? mysqld ?????????????????????????????????????????????????? SHOW STATUS ????????????????ó????????????檔???磬?????? my.cnf ????? thread_cache = 40 ??????????
???????????????????? MyISAM ????????顣????????£???????Щ??????????????????棬?????????????????嵥 6 ????????????ж???????????ж?????????ж???????????ж?????
?????嵥 6. ????????Ч??
????mysql> show status like '%key_read%';
????+-------------------+-----------+
????| Variable_name | Value |
????+-------------------+-----------+
????| Key_read_requests | 163554268 |
????| Key_reads | 98247 |
????+-------------------+-----------+
????2 rows in set (0.00 sec)
????Key_reads ???????д????????????? Key_read_requests ???????????д????????????????????????????б??? —— ???????? 1??000 ??????????? 0.6 ???????????檔???? 1??000 ???????????д??????????? 1 ?????????????????????????????磬key_buffer = 384M ????????????? 384MB??
?????????????????????????????????????????????д???(???? GROUP BY ???)??????????????浽???????;????????£???????д?????????????????????????????д??????С??嵥 7 ?????????????????й??????????