?????????????д???????????ж??A?????д??B?????A????????????????????????“????????”????????????“?????????”?????????????????д????д?????????????“??????????”????“????????”????д??????B?????

????????д???????????????????????????????“?????????”????????????????MMP??Memory-Mapping?????????????????????????????????????????????????“??????????”??????????????????????????????????????д?????????????A???????????????“????????”??????“????????”?????B?????“????????”??B??????”????????“д????????С????????????????????濽??????????????á?

????????????sendfile??????????????????sendfile????????MMP???????????????”??????????“??”??????????“????濽????
??????????????????????????socket????????????sendfile?????

???????sendfile???

???????????????????????棬???????CPU???????
??????????Web????????CPU
??????Web???????????CPU????????????????????????????????£???????????????????????????????CPU???????Web????????????????/?????????????л????????????CPU?????????????/????????????????CPU??????????????????????????????????CPU???????????????????л???CPU???????????/????л????μ?????????????????????????????£?????Щ??????????????socket???????????????????????????????CPU???
??????Apache??Nginx???????????????????CPU??????
????1.Select/Poll??Apache????汾??I/O??·?????
?????????Web?????????????????????socket???????????I/O??·???????????????????Щ?????????????????Apache????汾???????select??????????????????Щ????????socket????????????????????????????????Щ?????????????Poll??select??????????????????????????????????????????
????select/poll?????????????????????????????????????????п??????д??????????socket?????????????λ??????????????????????????????????????????????????????????????У??????????С????????ó????У?????????????socket???????????????”???е?“?????????????????????????????????????????????????????????????socket?????????????????????????socket?????????????????????????????????????????????????????????????????????CPU???????

??????????????socket???????????????????”?????“????????????????????????