ʹÓÃSwooleË¢ÐÂPHP±àдWebÓ¦ÓóÌÐòµÄ¼¼ÇÉ
ÔÚÏÖ´úweb¿ª·¢ÖУ¬¸ßÐÔÄܺ͸߲¢·¢ÐÔÊDz»¿É×èÖ¹µÄ»°Ìâ¡£phpÊÇ×îÊ¢ÐеÄweb±à³ÌÓïÑÔÖ®Ò»£¬µ«ÔÚ´¦Öóͷ£¸ß²¢·¢ÇëÇóʱ£¬¹Å°åµÄphp¼Ü¹¹ÍùÍùÎÞ·¨Öª×ãÐèÇó¡£Õâʱ¼ä£¬swooleÕâ¸öphpµÄ¸ßÐÔÄÜÍøÂçͨѶ¿â±ãÏÔµÃÓÈΪÖ÷Òª¡£±¾ÎÄÖ÷ÒªÏÈÈÝÔõÑùʹÓÃswooleË¢ÐÂphp±àдwebÓ¦ÓóÌÐòµÄ¼¼ÇÉ¡£
»ùÓÚSwooleʵÏÖÒì²½I/O
SwooleÌṩÁËһЩÒì²½I/O½Ó¿Ú£¬ÖîÈçswoole_async_dns_query()ºÍswoole_async_read()µÈº¯Êý£¬¶¼ÊÇ»ùÓÚI/O¶à·¸´ÓÃÊÖÒÕʵÏֵġ£½«ÕâЩÒì²½I/O½Ó¿ÚÓ¦ÓÃÓÚPHP WebÓ¦ÓóÌÐòÖУ¬¿ÉÒÔÔÚ²»ÔöÌíЧÀÍÆ÷¼ç¸ºµÄÇéÐÎÏÂÌá¸ßÓ¦ÓóÌÐòµÄ²¢·¢ÐÔÄÜ¡£
ÀýÈ磬ÔÚ´¦Öóͷ£WebÓ¦ÓóÌÐòÖÐÐèÒªÖ´Ðдó×ÚµÄÍøÂçÇëÇóʱ£¬Í¨¹ýʹÓÃSwooleµÄÒì²½I/O½Ó¿Ú£¬¿ÉÒÔ²»±ØÛÕ±ÕÆÚ´ýÍøÂçÇëÇóµÄ·µ»Ø¶øÐÐÖ¹ÖÃÆäËûµÄÇëÇ󣬼ä½ÓÌá¸ßÁËWebÓ¦ÓóÌÐòµÄ²¢·¢ÄÜÁ¦¡£
ʹÓÃSwooleʵÏÖ¶àÀú³Ì
SwooleÖ§³Ö¶àÀú³Ìģʽ£¬ÕâÒâζ×Å¿ÉÒÔͨ¹ýfork()º¯ÊýÀ´½¨Éè¶à¸ö×ÓÀú³Ì£¬²¢ÈÃËüÃÇͬʱÔËÐУ¬ÒÔ¼°¶àÀú³ÌÖ®¼äµÄÊý¾Ý¹²Ïí£¬³ä·ÖʹÓÃCPUºÍÄÚ´æ×ÊÔ´¡£Ê¹ÓöàÀú³Ìģʽ£¬¿ÉÒÔ½«WebÓ¦ÓóÌÐòµÄÁ÷Á¿¸ºÔØÊèÉ¢µ½¶à¸ö×ÓÀú³ÌÖУ¬´Ó¶øÌá¸ßWebÓ¦ÓóÌÐòµÄ²¢·¢´¦Öóͷ£ÄÜÁ¦¡£
±ðµÄ£¬ÔÚSwoole¶àÀú³ÌģʽÏ£¬¿ÉÒÔʹÓÃSwooleµÄÀú³Ì¼äͨѶIPC»úÖÆ£¬½«²î±ðÀú³ÌµÄÊý¾Ý¿ÉÒÔÏ໥¹²Ïí£¬Õâ¹ØÓÚWebÓ¦ÓóÌÐòµÄһЩÅÌËã÷缯ÐÍʹÃüºÜÊÇÓÐÓá£
Á¬Ã¦Ñ§Ï°¡°PHPÃâ·ÑѧϰÌõ¼Ç£¨ÉîÈ룩¡±£»
»ùÓÚSwooleʵÏÖWebsocket
WebsocketÊÇÒ»ÖÖʵÏÖÈ«Ë«¹¤Í¨Ñ¶µÄÐÂÐÍÍøÂçÐÒ飬ÓëHTTPÐÒé²î±ðµÄÊÇ£¬WebsocketÐÒéÊÇÒ»ÖÖ³¤ÅþÁ¬ÐÒ飬¿ÉÒÔÔÚЧÀÍÆ÷¶ËºÍ¿Í»§¶ËÖ®¼äʵÏÖË«ÏòʵʱͨѶ¡£SwooleÌṩÁËÒ»¸öWebsocketЧÀÍÆ÷À࣬¿ÉÒÔÇáËÉʵÏÖWebsocketÐÒéµÄЧÀÍÆ÷¶Ë¹¦Ð§¡£
»ùÓÚSwooleµÄWebsocket£¬¿ÉÒÔʵÏÖ¸üΪÖØ´óµÄ½»»¥ºÍ¸ü¸ßЧµÄÐÂÎÅת´ï¡£ÀýÈ磬ÔÚÓÎÏ·¿ª·¢ÖУ¬Ê¹ÓÃSwooleµÄWebsocket£¬¿ÉÒÔʵÏÖʵʱͨѶ¡¢¼´Ê±¸üÐÂÓÎϷ״̬µÈ¹¦Ð§£¬´ó´óÌá¸ßÁËÓÎÏ·µÄÓû§ÌåÑé¡£
ʹÓÃSwooleʵÏÖPHPµÄгÌ
PHPгÌÊÇÖ¸£¬ÔÚÒ»¸öÏß³ÌÖУ¬¶à¸öгÌÖ®¼äÄܹ»Ï໥Çл»Ö´ÐУ¬´Ó¶øʵÏÖÒ»ÖÖ¡°ÀàËƶàÏ̡߳±µÄЧ¹û¡£SwooleµÄгÌÊÖÒÕ£¬¿ÉÒÔʹµÃPHPµÄг̾߱¸¸ü¸ßµÄÐÔÄܺÍÎȹÌÐÔ¡£
ÔÚPHPгÌÓëSwooleµÄÍŽáÖУ¬SwooleÌṩ´úÂë½ÏÉÙ£¬ÐÔÄܸߣ¬IOŲÓÃͬ²½¡¢Âß¼Òì²½£¬×èÖ¹ÁËPHP±¬·¢µÄ¡°ÉÏÏÂÎÄÇл»¡±µÄÎÊÌ⡣ͨ¹ýʹÓÃSwooleµÄгÌÊÖÒÕ£¬¿ÉÒÔ´ó·ùÌá¸ßWebÓ¦ÓóÌÐòµÄ´¦Öóͷ£ÐÔÄÜ¡£
½áÓï
SwooleÊÇÒ»ÖÖºÜÊÇÇ¿Ê¢µÄÍøÂçͨѶ¿â£¬¿ÉÒÔÇáËÉË¢ÐÂPHP±àдWebÓ¦ÓóÌÐòµÄ¼¼ÇÉ¡£Í¨¹ýʹÓÃSwoole£¬ÎÒÃÇ¿ÉÒÔʵÏÖÒì²½I/O¡¢¶àÀú³Ì¡¢WebsocketºÍг̵ȹ¦Ð§£¬Ê¹µÃPHP WebÓ¦ÓóÌÐòµÄ´¦Öóͷ£ÐÔÄÜ´ó·ùÌá¸ß¡£×ܵÄÀ´Ëµ£¬¹ØÓÚÐèÒª´¦Öóͷ£¸ß²¢·¢»á¼ûµÄWebÓ¦ÓóÌÐò£¬Ê¹ÓÃSwoole¾ÙÐÐÓÅ»¯ÊǺÜÊÇÓÐÐëÒªµÄ¡£
ÒÔÉϾÍÊÇʹÓÃSwooleË¢ÐÂPHP±àдWebÓ¦ÓóÌÐòµÄ¼¼ÇɵÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡