??????????
????1.tp_add_connection[??????????]
????1)???????connection????
????2)????thread_id%group_count???connection???????group
????3)??connection??????group?????
????4)???????????????0????????????????
????2.worker_main[???????]
????1)????get_event???????
????2)????????????????handle_event???写???
????3)????????????????????????????????
????3.get_event[???????]
????1)??????????????
????2)???????????????????????
????3)????group?????listener???????????listener???????????
????4)?????listener???????????????????
????5)???????????????(thread_pool_idle_timeout)
????6)????????斜?????????????????????????????
????7)??????????????????????????????1
??????????????????????????卸???????????????????
????thread_pool_oversubscribe+1??????????????????????????
????4.handle_event[????????]
????1)?卸??????????械???????????校?????械?????
????2)????thd??????
????3)??????????????????????
????4)????do_command???????????????
????5)???thd???????????????卸????????epoll??????斜???
????6)????校?????epoll_ctl???泄???
????7)????
????5.listener[???????]
????1)????epoll_wait???卸?group???????????????????????
????2)?????????????????谢??
????3)??????????????????????????????谢??????????
????4)?卸????????????????
????5)???????????listener????worker???
????6)??group????谢????????????????
?????????????epoll_wait????group????????????????????????????????
????????push?????校?worker????????谢???????????小?
????6.timer_thread[??????]
????1)?????listener????????????io_event???
????2)????????????????????????
????3)??group??????????写??????????????????????????
????4)???group???stall????????????
?????????timer???????????group????stall??
????7.tp_wait_begin[????????????]
????1)??????????1????????????1
????2)??????????0????????????胁???????????屑?????????
????3)?????????????
?????????waiting_threads???????????????????????????????谓??
????????????????????????????????????????????????????????io??
????????????????????????
????8.tp_wait_end[?????????????]
????1)????connection??waiting???false
????2)??????????1????????????1
???????????????
?????????????????Client?????????(?????)??????????????????????????些????????????????械?DB??????????????????械???????小??DB??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????DB???????????????server?????????????????????????DB?????????one-conection-per-thread???????????????????????????????小??位????????????????????????????????????????????server???????????????????????围??????????????????????????????谢????????????????????????????????渭???????????????????????????????????????????????????????????????????????????????????????DB???????????????????????眉?????????????????????????????????????????????????????????????server?????????????????2????????web-server???????3??????????????????????????????????????db-server?????worker??????????????????????????????db-server???3??group?????group??????worker?????worker??????2???????????


????
?????2(??????????????)

???????????
????1.???????
???????????group??????????????????????????????????纾�?械??????????畏??????????械????????????????????????????????????????????????????????????????????????????????????????????????????????group???妫�??????????????????校???????????????????????????????????校???????????????????谢????????小?
????2.????????
???????????????????group????????????????????group??????????????????thread_pool_oversubscribe???????????????????????????????????????(??懈??????????????)???????group??????stall????????????????timer???????????????????????????渭?worker?????????????????????????????????????????group????????????????????????????????????????hang????????????????????????????????????????????SQL??????????SQL????????屑?????锟�??????????????????SQL????位????????SQL??????慰??????????????????????????????????dump????????????????????????????????????dump???????????????危???????dump?????????????????????????????????????????dump???????????group???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????group?写???dump?????????????thread_pool_oversubscribe??????????????????
?????慰????
????http://ourmysql.com/archives/1303
????http://blog.chinaunix.net/uid-28364803-id-3431242.html
????http://www.atatech.org/articles/31833
????https://dev.mysql.com/doc/refman/5.6/en/connection-threads.html