ÈËÉú¾ÍÊDz«ÖйúÇø

nginx100vide100ÉñÃØÆÊÎö£º½Ò¿ª¼«ËÙÊÓÆµÁ÷±³ºóµÄ¼Ü¹¹ÕÜѧÓëÐÔÄÜÉñ»°_04
ȪԴ£ºÖ¤È¯Ê±±¨Íø×÷ÕߣºÕźêÃñ2026-03-05 05:04:02
wwwzqhsauikdwjbfkjabfwqr

1.Nginx×÷ΪCDNµÄ½¹µã £¬È«Çò¼ÓËÙÎÞ´¦²»ÔÚ

ÄÚÈÝ·Ö·¢ÍøÂ磨CDN£©µÄ½¹µãÀíÄîÊǽ«ÄÚÈÝ»º±£´æÈ«Çò¸÷µØ±ßÑØ½Úµã £¬µ±Óû§ÇëÇóÄÚÈÝʱ £¬¾Í½ü´Ó±ßÑØ½Úµã»ñÈ¡ £¬´Ó¶øËõ¶ÌÑÓ³Ù £¬ÌáÉý»á¼ûËÙÂÊ  ¡£NginxÔÚCDN¼Ü¹¹ÖÐÊÎÑÝ×ÅÖÁ¹ØÖ÷ÒªµÄ½ÇÉ«£º

±ßÑØ½ÚµãµÄ¸ßÐÔÄÜ»º´æ£ºNginxµÄproxy_cache¹¦Ð§Êǹ¹½¨CDN»º´æ²ãµÄÀíÏëÑ¡Ôñ  ¡£Ã¿¸ö±ßÑØ½Úµã¶¼¿ÉÒÔ°²ÅÅNginx £¬²¢½«ÆäÉèÖÃΪ¸ßЧµÄ?»º´æ·þÎñÆ÷  ¡£Í¨¹ýºÏÀíµÄ»º´æÕ½ÂÔ £¬NginxÄܹ»½«ÈÈÃÅÊÓÆµÄÚÈÝ£¨ÈçÓ°Ï·¡¢µçÊӾ硢ÈÈÃÅÖ±²¥ÇÐÆ¬£©»º´æÏÂÀ´ £¬µ±Óû§»á¼ûʱ £¬Ö±½Ó´Ó×î½üµÄ±ßÑØ½ÚµãÌṩ·þÎñ £¬´ó´óïÔÌ­ÁË»ØÔ´Á÷Á¿ £¬½µµÍÁËÑÓ³Ù £¬²¢ÏÔÖøÌáÉýÁ˲¥·ÅµÄÁ÷ͨ¶È  ¡£

¸ºÔØÆ½ºâÓëÁ÷Á¿µ÷Àí£ºÔÚCDNµÄÖÐÐĽڵã»òÇøÓò»ã¾Ûµã £¬Nginx¿ÉÒÔ×÷ΪǿʢµÄ¸ºÔØÆ½ºâÆ÷ £¬½«Óû§µÄÇëÇóÖÇÄܵطַ¢µ½¸÷¸ö±ßÑØ½Úµã £¬»òÕßδÀ´×Ô±ßÑØ½ÚµãµÄÁ÷Á¿Æ½ºâµ½Ô´Õ¾  ¡£Í¨¹ýupstreamÄ£¿éºÍÖÖÖÖ¸ºÔØÆ½ºâËã·¨ £¬NginxÄܹ»È·±£Á÷Á¿µÄÓÐÓÃʹÓà £¬×èÖ¹½Úµã¹ýÔØ £¬²¢ÊµÏÖ¿ìËٵĹÊÕÏ×ªÒÆ £¬°ü¹Ü·þÎñµÄ¿ÉÓÃÐÔ  ¡£

HTTP/2ºÍQUICµÄÆôÓãº

HTTP/2£ºÔÚserver¿éÖÐÌí¼Ólisten443sslhttp2;À´ÆôÓÃHTTP/2  ¡£HTTP/2µÄ¶à·¸´ÓÃÌØÕ÷¿ÉÒÔÏÔÖøïÔÌ­ÊÓÆµ·ÖƬ´«ÊäʱµÄÑÓ³Ù £¬ÓÈÆäÊÇÔÚ²¥·ÅÁÐ±í£¨ÈçHLS¡¢DASH£©µÄ³¡¾°Ï  ¡£QUIC£ºQUICÊÇÒ»¸ö¸üÏȽøµÄЭÒé £¬Ïà±ÈHTTP/2 £¬ËüÔÚÍøÂç²»Îȹ̻ò¶ª°üÂʽϸߵÄÇéÐÎÏÂÌåÏÖ¸ü¼Ñ  ¡£

NginxÕýÔÚÖð²½ÍêÉÆ¶ÔQUICµÄÖ§³Ö £¬µ«ÏÖÔÚ¿ÉÄÜÐèҪͨ¹ýµÚÈý·½Ä£¿é»òÌØ¶¨°æÔ­À´ÊµÏÖ  ¡£ÆôÓÃQUIC¿ÉÒÔΪÊÓÆµÈö²¥Êä´øÀ´¸üµÍµÄÑӳٺ͸ü¸ßµÄÎȹÌÐÔ  ¡£

ÔÚÏÖÔÚÕâ¸ö¶ÌÊÓÆµÓë¸ßÇåÖ±²¥ºáÐеÄʱ´ú £¬Á÷Á¿¼´ÊÇÉúÃü £¬¶ø¡°ËÙÂÊ¡±ÔòÊÇάϵÉúÃüµÄѪҺ  ¡£ÄãÊÇ·ñÔøÒòÊÓÆµ¼ÓÔØÊ±µÄÄÇÒ»¸öתȦȦ¶ø¸ÐӦץ¿ñ£¿¹ØÓÚÍøÕ¾ÔËÓªÕßÀ´Ëµ £¬ÄDz»µ«ÊÇÒ»¸ö»º³åͼ±ê £¬¸üÊÇÓû§Á÷ʧµÄµ¹¼ÆÊ±  ¡£ÎªÁ˳¹µ×½â¾öÕâһʹµã £¬ÎÒÃÇÒªÉîÈëÁÄÁÄË­ÈËÔÚȦÄÚ±¸ÊÜÍÆÐí¡¢È´ÓÖÃÉ×ÅÒ»²ãÉñÃØÃæÉ´µÄÒªº¦´Ê¡ª¡ªnginx100vide100  ¡£

Õâ²»µ«´¿ÊÇÒ»¸öÉèÖôúÂë £¬¸üÊÇÒ»Ì×¹ØÓÚЧÂÊÓëÆ½ºâµÄÕÜѧ  ¡£

µ±Äã·­¿ªÒ»¸öÊÓÆµÍøÕ¾ £¬ÔÚºÁÃë¼¶µÄʱ¼äÀï £¬±³ºó±¬·¢ÁËÒ»³¡¾ªÐ͝ÆÇµÄ¡°½ÓÁ¦Èü¡±  ¡£Nginx×÷ΪÕⳡ½ÇÖðµÄ²ÃÅг¤ºÍ·¢ÁîÔ± £¬ÆäÌåÏÖÖ±½Ó¾öÒéÁ˹ÛÖÚµÄÇéÐ÷  ¡£Ðí¶àÈËÒÔΪ £¬Nginx²»¾ÍÊÇÒ»¸ö·´Ïò´úÀí·þÎñÆ÷Âð£¿ËæÊÖװһϲ»¾ÍÄÜÅÜ£¿ÕâÖÖÏë·¨ÍùÍùÊÇÐÔÄÜÆ¿¾±µÄȪԴ  ¡£

nginx100vide100µÄ¾«Ëè £¬ÔÚÓÚËüÔõÑùÏñÊÖÊõµ¶Ò»Ñù¾«×¼µØÇзÖ×ÊÔ´  ¡£ÔڹŰåµÄ¼Ü¹¹ÖÐ £¬ÊÓÆµÁ÷ÇëÇóÍùÍù»áÕ¼Óôó×ÚµÄI/O¿ªÏú £¬Ò»µ©²¢·¢ÊýÉÏÀ´ £¬·þÎñÆ÷¾Í»áÏÝÈëijÖÖˮƽµÄ¡°ºôÎüÄÑÌ⡱  ¡£

nginx100vide100µÄ½¹µãÂß¼­Ê×ÏÈÌåÏÖÔÚ¶ÔWorkerÀú³ÌµÄ¼«ÖÂѹեÉÏ  ¡£Í¨¹ý¸ß¶ÈÓÅ»¯µÄÊÂÎñÇý¶¯Ä£×Ó £¬ËüÈÃÿһ¸öÀú³Ì¶¼ÄÜͬʱ´¦Öóͷ£³ÉǧÉÏÍò¸ö·ÇÛÕ±ÕÇëÇó  ¡£ÏëÏóһϠ£¬Ò»¸ö¶¥¼¶µÄ?²ÍÌü·þÎñÔ± £¬²»ÊÇÒ»´ÎÖ»·þÎñÒ»×À £¬¶øÊÇÄÜͬʱÔÚ¼¸Ê®×ÀÖ®¼äÓÎÈÐÓÐÓàµØ´©Ëó £¬ÇÒÿһ×À¶¼¸ÐÊÜ×Ô¼º±»×¨Êô¿´´ý  ¡£

Nginx100%ÊÓÆµ100%iÐÔÄÜ£º¶´Ï¤ÊÓÆµ´«ÊäµÄ?ÐÔÄÜÆ¿¾± £¬NginxÔõÑù³ÉÎªÆÆ¾ÖÕß

ÔÚÏÖÔÚÕâ¸öÄÚÈÝΪÍõµÄʱ´ú £¬ÊÓÆµÒÑÈ»³ÉΪÐÅÏ¢Èö²¥ºÍÓéÀÖÏûºÄµÄÖ÷Á÷  ¡£´Ó¸ßÇåÓ°Ï·¡¢ÔÚÏ߿γ̵½Ö±²¥»¥¶¯ £¬Óû§¶ÔÊÓÆµµÄÁ÷ͨ?¶ÈºÍ¼ÓÔØËÙÂÊÓÐ׎üºõ¿Á¿ÌµÄÒªÇó  ¡£ËæÖ®¶øÀ´µÄÈ´ÊÇ·þÎñÆ÷ÐÔÄܵÄ?ÖØ´óÌôÕ½£ºÔõÑù²Å»ªÔÚº£Á¿²¢·¢ÇëÇóÏ £¬½«¸ßÖÊÁ¿µÄÊÓÆµÄÚÈݺÁÃë¼¶µØÍÆË͵½È«Çò¸÷µØµÄÓû§ÊÖÖУ¿ÎÞÊýÆóÒµºÍ¿ª·¢Õß¶¼ÔÚΪÕâ¸öÎÊÌâڤ˼¿àÏë £¬¶øNginx £¬Õâ¸öÒÔ¸ßЧ¡¢ÎȹÌÖø³ÆµÄWeb·þÎñÆ÷ £¬ÕýÒÔÆäǿʢµÄÄÜÁ¦ £¬ÎªÎÒÃÇÃè»æ³öÒ»·ù¡°Nginx100%ÊÓÆµ100%iÐÔÄÜ¡±µÄ׳Àöͼ¾°  ¡£

GzipѹËõÓëBrotliѹËõ£º

gzipon;£ºÆôÓÃGzipѹËõ £¬¿ÉÒÔ¼õСÎı¾ÀàÏìÓ¦£¨ÈçHTML¡¢JavaScript¡¢CSS£©µÄ¾Þϸ £¬´Ó¶øïÔÌ­´«Êäʱ¼ä  ¡£brotlion;£ºBrotliÊÇÒ»ÖÖ±ÈGzip¸ü¸ßЧµÄѹËõËã·¨ £¬ÓÈÆäÊÊÓÃÓÚѹËõÎı¾ÄÚÈÝ  ¡£ÈôÊÇ·þÎñÆ÷Ö§³ÖBrotliÄ£¿é £¬¿ÉÒÔÓÅÏÈ˼Á¿Ê¹ÓÃBrotliÀ´»ñµÃ¸üºÃµÄѹËõЧ¹û  ¡£

types¿é£ºÈ·±£ÔÚmime.typesÎļþÖÐ׼ȷÉèÖÃÁËÊÓÆµÎļþÀàÐ͵Ächarset £¬Í¨³£ÊÓÆµÎļþ×Ô¼º²»ÐèҪѹËõ £¬µ«ÓëÖ®Ïà¹ØµÄÔªÊý¾Ý»ò²¥·ÅÁбíÎļþ¿ÉÒÔ¾ÙÐÐѹËõ  ¡£

Nginx£º¸ßÇåÊÓÆµÐÔÄܵĻùʯ £¬²»Ö¹ÓÚ¾²Ì¬Îļþ·þÎñ

ÔÚÊý×ÖÄÚÈݱ¬Õ¨µÄʱ´ú £¬ÊÓÆµÒÑÈ»³ÉΪÐÅÏ¢Èö²¥ºÍÓéÀÖÏûºÄµÄÖ÷Á÷  ¡£Åãͬ¶øÀ´µÄÊǶÔÊÓÆµ´«ÊäÐÔÄܵÄÑÏËàÌôÕ½£º¿¨¶Ù¡¢»º³å¡¢¼ÓÔØ»ºÂý £¬ÕâЩ¶¼ÊÇÓû§ÌåÑéµÄ¡°É±ÊÖ¡±  ¡£ÏëҪΪÓû§ÌṩÈçË¿°ã˳»¬µÄ¸ßÇåÊÓÆµÌåÑé £¬Ñ¡ÔñÒ»¸öǿʢµÄ·þÎñÆ÷Èí¼þÖÁ¹ØÖ÷Òª  ¡£ÔÚÖÚ¶àÑ¡ÔñÖÐ £¬NginxÒÔÆäÇáÁ¿¼¶¡¢¸ß²¢·¢¡¢µÍ×ÊÔ´µÄÌØÕ÷ £¬ÍÑÓ±¶ø³ö £¬³ÉΪÖÚ¶àÊÓÆµ·þÎñÌṩÉ̺ÍÄÚÈÝ·Ö·¢ÍøÂçµÄ?¡°Ê×Ñ¡¡±  ¡£

1.NginxµÄ½¹µãÓÅÊÆ£ºÎªºÎËüÊÇÊÓÆµÐÔÄܵÄÍõÕߣ¿

NginxÖ®ÒÔÊÇÄÜÔÚÊÓÆµÁìÓò´ó·ÅÒì²Ê £¬²¢·ÇÎÞÒâ  ¡£ËüËù¾ß±¸µÄ?¼¸´ó½¹µãÓÅÊÆ £¬×é³ÉÁËÆäǿʢµÄÐÔÄÜ»ùʯ£º

ÊÂÎñÇý¶¯¡¢Òì²½·ÇÛÕ±ÕÄ£×Ó£ºÕâÊÇNginx×îΪÈ˸èË̵ÄÌØÕ÷Ö®Ò»  ¡£Óë¹Å°åµÄ¶àÀú³Ì»ò¶àÏß³ÌÄ£×Ó²î±ð £¬Nginx½ÓÄÉÊÂÎñÇý¶¯ºÍÒì²½·ÇÛÕ±ÕI/OÄ£×Ó  ¡£ÕâÒâζ×Å £¬ÔÚÒ»¸öÖ÷Àú³ÌºÍ¶à¸öÊÂÇéÀú³ÌÖÐ £¬Nginx¿ÉÒÔͨ¹ýÉÙÁ¿µÄÏ̴߳¦Öóͷ£´ó×ڵIJ¢·¢ÅþÁ¬  ¡£

µ±Ò»¸öÅþÁ¬ÔÚÆÚ´ýI/O²Ù×÷£¨Èç¶ÁÈ¡Îļþ»òÍøÂç´«Ê䣩ʱ £¬Ëü²»»áÛÕ±ÕÕû¸öÀú³Ì £¬¶øÊǽ«¿ØÖÆÈ¨½»»¹¸øÊÂÎñÑ­»· £¬ÐÐÖ¹ÖÃÆäËûÍ£µ±µÄÊÂÎñ  ¡£ÕâÖÖÉè¼Æ¼«´ó?µØÌá¸ßÁËNginxµÄ²¢·¢´¦Öóͷ£ÄÜÁ¦ºÍ×ÊԴʹÓÃÂÊ £¬¹ØÓÚÐèҪͬʱ´¦?Àí´ó×ÚÊÓÆµÁ÷µÄ³¡?¾°À´Ëµ £¬ÓÅÊÆÓÈΪÏÔ×Å  ¡£

ÔÚÊý×Ö»¯À˳±Ï¯¾íÈ«ÇòµÄ½ñÌì £¬ÊÓÆµÒѾ­³ÉΪÁËÎÒÃÇ»ñÊØÐÅÏ¢¡¢Éç½»ÓéÀÖÒÔÖÂÉú²úЭ×÷µÄÖ÷ÒªÔØÌå  ¡£µ±Äãµã¿ªÒ»¸ö¸ßÇåÊÓÆµ £¬ÔÚ¼¸ºÁÃëÄÚÁ÷ͨ²¥·Å¶øºÁÎÞ¿¨ÂíÉÏ £¬ÄãÊÇ·ñÔøÏë¹ý £¬ÔÚÕâÒ»ÃëÖÓµÄ˳»¬±³ºó £¬Óм¸¶à¿´²»¼ûµÄÊÖÒÕÔÚ²þâ±±¼³Û£¿ÔÚÖÚ¶àµÄÊÖÒÕ»ùʯÖÐ £¬¡°nginx100vide100¡±×÷Ϊһ¸ö¼«¾ß´ú±íÐÔµÄÊÖÒÕ¿´·¨ £¬ÕýÖð½¥³ÉΪ¸ßÐÔÄÜÊÓÆµ¼Ü¹¹µÄ´úÃû´Ê  ¡£

½ñÌì £¬ÎÒÃǾÍÀ´Ò»³¡Éî¶ÈÂÃÐÐ £¬²ð½ânginx100vide100±³ºóµÄÄÇЩ¡°ÉñÃØ¡±  ¡£

ÒªÃ÷È·nginx100vide100 £¬Ê×ÏÈÒª»Ø¹éµ½Nginx×Ô¼º  ¡£×÷Ϊһ¿î½µÉúÓÚ¶íÂÞ˹Ìì²ÅÖ®ÊÖµÄÇáÁ¿¼¶¡¢¸ßÐÔÄÜ·´Ïò´úÀí·þÎñÆ÷ £¬Nginx×Ô½µÉúÖ®³õ¾ÍÊÇΪÏàʶ¾öC10KÎÊÌ⣨µ¥»úÒ»Íò²¢·¢ÅþÁ¬£©¶øÉúµÄ  ¡£¶øÔÚÊÓÆµÖ±²¥¡¢µã²¥±¬·¢µÄ½ñÌì £¬ÕâÒ»ÌôÕ½ÒѾ­ÑÝÄð³ÉÁËC100KÉõÖÁ¸ü¸ß  ¡£

ËùνµÄ¡°100vide100¡± £¬×Åʵ´ú±íÁËÒ»ÖÖ¼«ÖµÄ×·Ç󣺼´ÔÚ100%µÄ?²¢·¢Ñ¹Á¦Ï £¬ÒÀÈ»¼á³Ö100%µÄÊÓÆµ´«ÊäÍêÕûÐÔÓ뼫ËÙÏìÓ¦  ¡£

ÓâÔ½¼«ÏÞ£ºÎªºÎ100vide100ÊÇÊÓÆµ¼Ü¹¹µÄ¡°»Æ½ðÖ§½âµã¡±£¿

ÔÚÏÖÔÚÕâ¸öÐÅÏ¢±¬Õ¨µÄÊý×Öʱ´ú £¬ÊÓÆµÔçÒѲ»ÔÙÊÇ´¿´âµÄÓéÀÖÏûDz £¬Ëü³ÉΪÁË»¥ÁªÍøÁ÷Á¿µÄ¾ø¶ÔͳÖÎÕß  ¡£ÎÞÂÛÊǶÌÊÓÆµµÄÖ¸¼âÌø¶¯ £¬Õվɳ¬?ÇåÖ±²¥µÄË¿»¬ÌåÑé £¬±³ºó¶¼ÓÐÒ»³¡¹ØÓÚ´ø¿í¡¢ÑÓ³ÙÓëËãÁ¦µÄÎÞÉùÕ½Õù  ¡£¶øµ±ÎÒÃÇ̸ÂÛ¡°nginx100vide100¡±Ê± £¬Õâ²¢²»µ«½öÊÇÒ»¸öÊÖÒÕ´ú?Âë»ò¼òÆÓµÄÉèÖòÎ?Êý £¬Ëü¸üÏñÊÇÒ»ÖÖÐÅÑö¡ª¡ªÒ»ÖÖ×·ÇóÔÚ100%µÄ¸ºÔØÑ¹Á¦Ï £¬ÒÀÈ»¼á³Ö100%Á÷ͨ¶ÈµÄ¹¤³ÌÒÕÊõ  ¡£

ÒªÃ÷È·nginx100vide100µÄÉñÃØ £¬ÎÒÃDZØÐèÏȻص½NginxµÄ½¹µã  ¡£×÷Ϊһ¸öÒÔ¸ßÐÔÄÜ¡¢¸ß²¢·¢Öø³ÆµÄ·´Ïò´úÀí·þÎñÆ÷ £¬NginxµÄÏÈÌìÔÚÓÚÆä׿ԽµÄÊÂÎñÇý¶¯Ä£×Ó£¨Event-Driven£©  ¡£µ«Í¨Ë×µÄNginxÉèÖÃÔÚÃæÁÙº£Á¿ÊÓÆµÇÐÆ¬¡¢TB¼¶µÄ²¢·¢´ø¿íʱ £¬ÍùÍù»áÏÔµÃÁ¦ÓÐδ´þ  ¡£

100vide100ϵͳµÄ·ºÆð £¬ÕýÊÇΪÏàʶ¾öÊÓÆµ·Ö·¢Öеġ°Ä¾Í°Ð§Ó¦¡±  ¡£

ÉñÃØÇ±ÔÚÔÚ¡°ÅþÁ¬µÄ?ÒÕÊõ¡±ÖÐ  ¡£ÔÚnginx100vide100µÄ?Âß¼­Àï £¬Ã¿Ò»¸öWorkerÀú³Ì¶¼±»¸¶ÓëÁ˼«ÖµÄÉúÃüÁ¦  ¡£Í¨¹ý¶ÔCPUÇ׺ÍÁ¦£¨CPUAffinity£©µÄÉî¶È°ó¶¨ £¬·þÎñÆ÷µÄÿһ¿Å½¹µã¶¼±»×¼È··ÖÅɵ½ÁËÊÓÆµÁ÷µÄ´¦Öóͷ£Ê¹ÃüÉÏ £¬×èÖ¹ÁËÀú³ÌÇл»´øÀ´µÄÉÏÏÂÎÄ¿ªÏú  ¡£

½áÓӵ±§nginx100vide100µÄδÀ´Ö®¹â

¹ØÓÚÿһ¸ö×·Çó׿ԽµÄÊÖÒÕÈË»ò¹ÜÀíÕßÀ´Ëµ £¬ÉîÈëÃ÷È·²¢Ó¦ÓÃnginx100vide100µÄÂß¼­ £¬²»µ«½öÊÇΪÁËÓ¦¶Ôµ±ÏµÄ?Á÷Á¿ÌôÕ½ £¬¸üÊÇΪÁËÔÚδÀ´µÄÖÇÄÜ»¯¾ºÕùÖÐÕ¼ÓÐÏÈ»ú  ¡£²»Òª±»ÖØ´óµÄÊõÓïËùÒÉ»ó £¬Æä½¹µãʼÖÕÎ§ÈÆ×ÅÁ½¸ö½¹µãµã£º¼«ÖµÄЧÂÊÓë×Ô×÷ÑÚÊεÄÎȹÌÐÔ  ¡£

µ±ÄãÕÆÎÕÁËnginx100vide100µÄÉñÃØ £¬ÄãÊÖÖеIJ»ÔÙ½ö½öÊÇÒ»¸öWeb·þÎñÆ÷ £¬¶øÊÇÒ»°Ñ¿ªÆôÊý×Ö»¯Î´À´´óÃŵÄÔ¿³×  ¡£ÔÚÁ÷Á¿µÄºéÁ÷ÖÐ £¬ÈÃÎÒÃDz»ÔÙͬÁ÷ºÏÎÛ £¬¶øÊdzÉΪ˭ÈËÕÆ¿Ø·ç±©ÖÐÐĵÄÈË  ¡£Õⳡ¹ØÓÚÐÔÄܵÄ̽Ë÷ÓÀÎÞÖ¹¾³ £¬¶ønginx100vide100 £¬ÕýÊÇÄãͨÍùáÛ·åµÄ×î¼Ñ·¾¶  ¡£

Ó²¼þµÄЭͬЧӦҲÊDz»¿ÉºöÊÓµÄÒ»»·  ¡£nginx100vide100²¢²»ÊÇò×Â¥º£ÊÐ £¬ËüÉîÚÏÓ²¼þ¼ÓËÙÖ®µÀ  ¡£ÏÖ´úÍø¿¨£¨NIC£©ÌṩµÄÐ¶ÔØ£¨Offloading£©¹¦Ð§ £¬ÔÚ100vide100Öб»Éî¶È¼¤»î  ¡£TLS¼Ó½âÃÜ¡¢Ð£ÑéºÍÅÌËãµÈ³ÁÖØÊ¹Ãü±»´ÓCPU×ªÒÆµ½ÁËרÃŵÄÓ²¼þоƬÖÐ  ¡£

ÕâÒâζ×Å×ÝÈ»ÔÚ¸ßÇ¿¶ÈµÄHTTPSÇéÐÎÏ £¬NginxÒÀÈ»Äܼá³ÖÇáÓ¯µÄ×Ë̬ £¬½«Õä¹óµÄÅÌËã×ÊÔ´Áô¸øÓªÒµÂß¼­  ¡£

100vide100µÄÉñÃØ»¹²ØÔÚ¡°¿ÉÊÓ²ìÐÔ¡±ÖÐ  ¡£Ã»ÓÐ¼à¿ØµÄÓÅ»¯ÊÇÔÚºÚÆáºÚ¿ªÇ¹  ¡£Í¨¹ý¼¯³É?PrometheusºÍGrafana £¬100vide100ϵͳÌṩÁËÒ»Ì×È«·½Î»µÄÐÔÄÜ»­Ïñ£º´ÓÿÃëÇëÇóÊý£¨RPS£©µ½P99ÑÓ³Ù £¬´ÓÄÚ´æË鯬Âʵ½´ÅÅÌIOPS  ¡£

ÿһ¸öÊý×ÖµÄת±ä £¬¶¼»á´¥·¢×Ô¶¯»¯µÄÀ©ÈÝ»òËõÈÝÂß¼­  ¡£ÕâÖÖ×ÔÎÒ½ø»¯µÄÄÜÁ¦ £¬ÈÃnginx100vide100³ÉΪÁËÒ»Ì×ÓÀһֱЪµÄ¶¯Á¦ÏµÍ³  ¡£

µ±ÄãÕÆÎÕÁËÕâÌ×Âß¼­ £¬ÊÓÆµÁ÷ýÌåµÄá¯Á뽫²»ÔÙÄÑÒÔÓâÔ½ £¬È¡¶ø´úÖ®µÄÊÇһƬÊÖÒÕ×ÔÓɵÄÒ°Íâ  ¡£ÎÞÂÛÊÇÃæÁÙÍ»·¢µÄÍòÍò¼¶Á÷Á¿ £¬ÕÕ¾É×·Çó¼«Öµij¬µÍÑÓ³Ù £¬nginx100vide100¶¼½«ÊÇÄãÊÖÖÐ×î¼âÈñµÄÀû½£  ¡£

¸üÉîÌõÀíµØ½² £¬nginx100vide100´ú±íµÄÊÇÒ»ÖÖ¡°×ÊÔ´·Ö¼¶¡±µÄÍ·ÄÔ  ¡£ÊÓÆµÄÚÈݱ»ÇзÖΪ¼«Ð¡µÄ¿é£¨Chunks£© £¬Æ¾Ö¤Óû§µÄʵʱ´ø¿í·´Ïì £¬¶¯Ì¬µ÷½âÏ·¢ÓÅÏȼ¶  ¡£ÕâÒâζ×Å £¬ÄÄÅÂÊÇÔÚÐźŲ»¼ÑµÄµØÌúÀï £¬Óû§Ò²ÄÜÏÈ¿´µ½Á÷ͨµÄ»­Ãæ £¬ËæºóÔÙËæ×ÅÐźÅתºÃ×Ô¶¯Çл»µ½³¬Çåģʽ  ¡£

ÕâÖÖÎÞ¸ÐÇл»µÄ±³ºó £¬ÊÇNginx¶Ôº£Á¿Êý¾Ý°üµÄ¸ßЧµ÷Àí  ¡£Ëµ¾¿¾¹ £¬nginx100vide100ÆÊÎöµÄ²»µ«ÊÇ´úÂë £¬¸üÊÇÈËÐÔÖжԡ°¿ì¡±µÄԭʼÅÎÔ¸  ¡£ËüÈÃÊÖÒÕµÄÀäĮת»¯ÎªÓû§ÌåÑéµÄζÈ £¬ÈÃÿһ¸ö×Ö½ÚµÄÁ÷¶¯¶¼ÏÔµÃÄÇô×ÔÈ»¡¢Ë³Àí³ÉÕ  ¡£

ÈôÊÇ˵Part1×ÅÖØÓÚnginx100vide100µÄºê¹Û¼Ü¹¹ÓëÂß¼­Ö®ÃÀ £¬ÄÇôPart2ÎÒÃǽ«²½Èë¸üΪӲºËµÄʵսϸ½ÚÓëÓÅ»¯½ø½×  ¡£ÒªÊµÏÖÕæÕýµÄ¡°ÊÓÆµÃ뿪¡± £¬½ö½öÒÀÀµÍ¨ÀýµÄ¸ºÔØÆ½ºâÊÇÔ¶Ô¶²»·óµÄ  ¡£nginx100vide100µÄ¸ß¼¶ÐÎ̬ £¬ÔÚÓÚËüÔõÑùͨÏ꾡Ä廯µÄÄں˲ÎÊýÓëÄ£¿éÅäºÏ £¬ÔÚ¼«¶ËµÄ²¢·¢ÇéÐÎÏÂÒÀÈ»ÎÈÈç̩ɽ  ¡£

Ê×ÏÈÒªÌáµÄ¾ÍÊÇsendfileÓëtcp_nopushµÄ»Æ½ð×éºÏ  ¡£ÔÚnginx100vide100µÄÉèÖÃÊÖ²áÖÐ £¬ÕâÁ½¸öÖ¸ÁîÊÇÌáÉýI/OЧÂʵÄÖØÍ·Ï·  ¡£Í¨³£ÇéÐÎÏ £¬Êý¾Ý´Ó´Å?ÅÌ´«Êäµ½ÍøÂçÐèÒª¾­Óɶà´ÎÄں˻º³åÇøµÄ¿½±´ £¬ÕâÎÞÒÉÊÇÖØ´óµÄÆÌÕÅ  ¡£¶ønginx100vide100ʹÓÃÁ㿽±´ÊÖÒÕ £¬ÈÃÊý¾ÝÖ±½ÓÔÚÄں˿ռäÍê³É´«Êä £¬ïÔÌ­ÁËÉÏÏÂÎÄÇл»µÄ¿ªÏú  ¡£

ÈõÍøÇéÐÎϵġ°ÄæÏ®¡±£ºÔÚÒÆ¶¯»¥ÁªÍøÊ±´ú £¬Óû§ËæÊ±ËæµØ¶¼¿ÉÄÜÃæÁÙÍøÂçÐźŲ»¼ÑµÄÇéÐÎ  ¡£NginxµÄHTTP/2ЭæÅºÍϸÄ廯µÄ»º´æÕ½ÂÔ £¬Äܹ»ÏÔÖø¸ÄÉÆÊÓÆµÔÚÈõÍøÇéÐÎϵIJ¥·ÅÌåÏÖ  ¡£Í¨¹ýïÔÌ­ÅþÁ¬´ÎÊý¡¢ÓÅ»¯Êý¾Ý´«Êä £¬×ÝÈ»ÔÚÐźŲ»Îȹ̵ÄÇéÐÎÏ £¬Óû§Ò²ÄÜ»ñµÃÏà¶ÔÁ÷ͨµÄԢĿÌåÑé £¬¶ø²»ÊÇÍêÈ«±»¶Ï¿ªÅþÁ¬  ¡£

Nginx100%VideoµÄ¡°Ä»ºóÓ¢ÐÛ¡±£ºÖÇÄÜÓ뵯ÐÔ

ʵÏÖ¡°Nginx100%Video¡±¾ø·ÇÒ»õí¶ø¾Í £¬ËüÐèÒªNginxÔÚ±³ºóĬĬµØÊÎÑÝ×Å¡°Ä»ºóÓ¢ÐÛ¡±µÄ½ÇÉ« £¬Í¨¹ýÖÇÄܵÄÕ½ÂԺ͵¯ÐԵļܹ¹ £¬Ó¦¶ÔÖÖÖÖÖØ´ó³¡¾°  ¡£

ÖÇÄÜÁ÷Á¿µ÷Àí£ºNginxµÄ¸ºÔØÆ½ºâ¹¦Ð§²¢²»µ«½öÊǼòÆÓµÄÂÖѯ  ¡£Í¨¹ýÉèÖà £¬Ëü¿ÉÒÔʵÏÖ»ùÓÚ¿Í»§¶ËIP¡¢ÇëÇóÏìӦʱ¼äµÈ¶àÖÖά¶ÈµÄÖÇÄÜÁ÷Á¿µ÷Àí  ¡£ÕâÒâζ×Å £¬NginxÄܹ»½«Óû§ÇëÇóÓÅÏȵ¼Ïò¸ºÔؽϵ͡¢ÏìÓ¦ËÙÂʸü¿ìµÄ·þÎñÆ÷ £¬´Ó¶ø½øÒ»²½ÌáÉýÕûÌå·þÎñµÄÏìÓ¦ÄÜÁ¦ºÍÓû§ÌåÑé  ¡£

µ¯ÐÔÉìËõ £¬Ó¦¶Ô·åÖµ£ºÊÓÆµÄÚÈÝÍùÍùÅãͬ×ű¬·¢Ê½µÄÁ÷Á¿ÔöÌí £¬ÀýÈçÌåÓýÈüÊÂÖ±²¥¡¢ÈÈÞ缯ÉÏÏßµÈ?  ¡£NginxµÄÊÂÎñÇý¶¯Ä£×Ӻ͸ßЧµÄ²¢·¢´¦Öóͷ£ÄÜÁ¦ £¬Ê¹µÃÆäÔÚÃæÁÙÁ÷Á¿á¯ÁëʱÄܹ»Õ¹ÏÖ³öǿʢµÄµ¯ÐÔ  ¡£Í¨¹ýºáÏòÀ©Õ¹Nginx·þÎñÆ÷¼¯Èº £¬²¢ÍÅ½á¸ºÔØÆ½ºâ £¬¿ÉÒÔÇáËÉÓ¦¶ÔÍ»·¢Á÷Á¿ £¬°ü¹Ü·þÎñµÄ¿ÉÓÃÐÔ  ¡£

ÔÚÕâ¸ö¾ºÕù°×ÈÈ»¯µÄ?»¥ÁªÍøÌìÏÂÀï £¬ÍøÕ¾ËÙÂÊÿÌáÉý0.1Ãë £¬×ª»»ÂʺÍÁô´æÂʶ¼»áÓ­À´Öʵı¼ÌÚ  ¡£nginx100vide100ÌṩÁËÒ»Ì×Ïֳɵġ¢¾­ÓÉÑéÖ¤µÄÓÅ»¯Â·¾¶ £¬×ÊÖúÄÇЩÅÎÔ¸ÔÚÊÓ¾õÁìÓòÍÑÓ±¶ø³öµÄÏÈ·æÃÇ £¬ÔÚÐÔÄܵÄÈüµÀÉÏÅܳö¼ÓËÙÂÊ  ¡£ÎÞÂÛÄãÊÇıÆëÕû¼ÒСÖÚµÄÓ°ÆÀÕ¾µã £¬ÕÕ¾ÉÕÆ¹ÜÒ»¸öÖØ´óµÄÔÚÏß½ÌÓýƽ̨ £¬ÕÆÎÕÁËnginx100vide100µÄ?ÉñÃØ £¬¾Í¼´ÊÇÕÆÎÕÁËͨÍùδÀ´¼«ËÙÍøÂçµÄÔ¿³×  ¡£

ÓÅ»¯µÄõ辶ûÓÐÖյ㠣¬µ«Õ¾ÔÚnginx100vide100µÄ¼ç°òÉÏ £¬ÄãÀ뼫ÖÂÌåÑéµÄÖÕµãÏßÏÔÈ»¸ü½üÁËÒ»²½  ¡£

¡°Nginx100%Video¡±²»µ«½öÊÇÒ»ÏîÊÖÒÕ £¬ËüÊÇÒ»ÖÖ¶ÔÓû§ÌåÑéµÄ¼«ÖÂ×·Çó £¬ÊÇÄÚÈݼÛÖµµÃÒÔ³ä·ÖÊͷŵĻùʯ  ¡£Í¨¹ýNginxǿʢ?¶øÎÞаµÄÐÔÄÜÓÅÊÆ £¬ÎÒÃÇ¿ÉÒÔ¹¹½¨³öÔ½·¢Îȹ̡¢¸ßЧ¡¢Á÷ͨµÄÊÓÆµ·þÎñ  ¡£´Ó»ù´¡µÄ¼ÓÔØËÙÂÊÌáÉý £¬µ½ÈõÍøÇéÐÎϵġ°ÄæÏ®¡± £¬ÔÙµ½Î´À´»¥¶¯¡¢ÌÕ×íʽÊÓÆµÌåÑéµÄ¹¹½¨ £¬Nginx¶¼ÔÚÆäÖÐÊÎÑÝ×ÅÖÁ¹ØÖ÷ÒªµÄ½ÇÉ«  ¡£

ÈôÊÇÄãÕýÔÚÔËÓªÒ»¸öÊÓÆµÆ½Ì¨¡¢Ö±²¥·þÎñ £¬»òÕßÈκÎÓëÊÓÆµÄÚÈÝÏà¹ØµÄ?ÓªÒµ £¬ÉîÈëÃ÷È·²¢Êµ¼ù¡°Nginx100%Video¡±µÄÀíÄî £¬½«ÊÇÄãÌáÉýÓû§Öª×ã¶È¡¢Àο¿Êг¡¾ºÕùÁ¦¡¢µãÁÁÊÓÆµÎ´À´µÄÒªº¦Ò»²½  ¡£ÈÃNginx³ÉΪÄãÄÚÈݸßËÙ¹«Â·Éϵġ°³¬µÈÒýÇæ¡± £¬ÔØ×ÅÄãµÄÊÓÆµÄÚÈÝ £¬ÒÔ100%µÄЧÂÊ £¬±¼³ÛÏò¸üÁÉÀ«µÄÊý×ÖÌìÏ£¡

ЭÒéÊÊÅäÓëÓÅ»¯£ºÏÖ´úCDNÐèÒªÖ§³ÖÖÖÖÖÊÓÆµ´«ÊäЭÒé £¬°üÀ¨HTTP/1.1,HTTP/2,HTTP/3,HLS,DASHµÈ  ¡£NginxµÄÄ£¿é»¯Éè¼ÆÊ¹ÆäÄܹ»ÎÞаµØÖ§³ÖÕâЩЭÒé  ¡£ÀýÈç £¬Í¨¹ýÉèÖÃlisten443sslhttp2; £¬¼´¿ÉÇáËÉ¿ªÆôHTTPSºÍHTTP/2  ¡£

Nginx»¹¿ÉÒÔ×÷ΪRTMP/RTSPµÈÁ÷ýÌåЭÒéµÄ´úÀí £¬½«ÕâЩЭÒéµÄÁ÷Á¿×ª»»ÎªHTTPЭÒé £¬Àû±ãCDN¾ÙÐÐͳһ¹ÜÀíºÍ·Ö·¢  ¡£Çå¾²·À»¤£ºCDNÒ²¼ç¸º×ÅÒ»¶¨µÄ°²?È«·À»¤ÔðÈÎ  ¡£NginxÌṩÁ˸»ºñµÄÇå¾²¹¦Ð§ £¬Èç»á¼û¿ØÖÆ¡¢ÇëÇóÏÞËÙ¡¢SSL/TLS¼ÓÃܵÈ £¬¿ÉÒÔÓÐÓõÖÓùDDoS¹¥»÷¡¢±ÜÃâÄÚÈݱ»²»·¨µÁÁ´ £¬°ü¹ÜÊÓÆµÄÚÈݵİæÈ¨ºÍÓû§Çå¾²  ¡£

2.ʵʱֱ²¥µÄ¼ÓËÙÀûÆ÷£ºNginx+RTMP/HLS/DASH

Ö±²¥³¡¾°¶ÔÑӳٺͲ¢·¢ÄÜÁ¦µÄÒªÇó¸üΪ¿Á¿Ì  ¡£Nginxͨ¹ýÓëRTMP¡¢HLSºÍDASHµÈЭÒéµÄÍŽá £¬³ÉΪ¹¹½¨¸ßÐÔÄÜÖ±²¥Æ½Ì¨µÄÓÐÁ¦Ö§³Ö£º

RTMPЭÒéµÄÖ±²¥ÍÆÁ÷ÓëÀ­Á÷£ºRTMP(Real-TimeMessagingProtocol)ÊÇÖ±²¥ÁìÓò³£ÓõÄЭÒé £¬ÓÃÓÚ´ÓÖ±²¥Ô´ÍÆË͵½·þÎñÆ÷ £¬ÒÔ¼°´Ó?·þÎñÆ÷·Ö·¢¸ø¹ÛÖÚ  ¡£ËäÈ»Nginx±¾?Éí²»Ö±½ÓÖ§³ÖRTMP £¬µ«Í¨¹ýÖøÃûµÄµÚÈý·½Ä£¿énginx-rtmp-module £¬Nginx¿ÉÒÔÒ¡ÉíÒ»Äð³ÉΪһ¸ö¹¦Ð§Ç¿Ê¢µÄRTMP·þÎñÆ÷  ¡£

Õâ¾ÍÊÇnginx100vide100ÏëÒªµÖ´ïµÄ¾³½ç  ¡£ËüͨÏ꾡ÃܵIJÎÊý΢µ÷ £¬È·±£ÊÓÆµµÄ·ÖƬÊý¾ÝÄܹ»ÒÔ×î¿ìµÄ·¾¶´Ó´ÅÅÌÌøÔ¾µ½?ÄÚ´æ £¬ÔÙÉÁµç°ãµØ?ͶÉäµ½Óû§µÄÆÁÄ»ÉÏ  ¡£

ÎÒÃÇÔÙÀ´¿´¿´ÊÓÆµ¼ÓÔØÖÐ×îÐþѧµÄ²¿·Ö£ºÊׯÁ¿ªÆôËÙÂÊ  ¡£nginx100vide100ͨ¹ýÔ¤¶Á£¨Pre-read£©ºÍÖÇÄÜ»º´æÕ½ÂÔ £¬Í»ÆÆÁ˹ŰåÊÓÆµÀ­È¡µÄÖͺó¸Ð  ¡£Ëü²»µ«½öÊDZ»¶¯µØÆÚ´ýÓû§µã»÷ £¬¶øÊÇͨ¹ý¶ÔÈÈÃÅÄÚÈݵÄͳ¼ÆÆÊÎö £¬ÌáǰÔÚÄÚ´æÖС°±¸»õ¡±  ¡£µ±Äãµã»÷²¥·ÅµÄÄÇÒ»¿Ì £¬Êý¾Ý×ÅʵÔçÒÑÔÚÆðµãÐîÊÆ´ý·¢  ¡£

ÕâÖÖ¡°Î´²·ÏÈÖª¡±µÄÄÜÁ¦ £¬ÈÃÔ­±¾´Ö±¿µÄÊÓÆµÎļþ±äµÃÏñÎı¾Ò»ÑùÇáÓ¯  ¡£

nginx100vide100»¹Éî¶ÈÕûºÏÁËTCPЭÒéÕ»µÄµ×?²ãÓÅ»¯  ¡£ÔÚÖØ´óµÄÍøÂçÇéÐÎÏ £¬ÌØÊâÊÇÃæÁÙÒÆ¶¯¶ËÓû§Ê± £¬ÍøÂç²ü¶¶ÊÇ˾¿Õ¼û¹ß  ¡£nginx100vide100ͨ¹ý¶ÔÓµÈû¿ØÖÆËã·¨µÄÕë¶ÔÐÔµ÷½â £¬Äܹ»ÔÚ´ø?¿íÊÜÏÞµÄ?ÇéÐÎÏ £¬ÒÀÈ»¼á³ÖÊÓÆµÁ÷µÄ?Ò»Á¬ÐÔ  ¡£

ËüÏñÊÇÒ»¸öÂÄÀú¸»ºñµÄÀÏ˾»ú £¬×ÝÈ»ÔÚÓµ¶ÂµÄ·¶Î £¬Ò²ÄÜͨ¹ýƵÈÔµÄ΢²ÙѰÕÒåÐÒ£ £¬Î¬³Ö³µËÙ  ¡£ÕâÖÖ¶Ô²¨¶¯µÄ¶Ô¿¹Á¦ £¬ÕýÊÇÌáÉýÍøÕ¾ËÙÂÊ¡¢È·±£Á÷ͨÌåÑéµÄÒªº¦ËùÔÚ  ¡£

δÀ´Êӽ磺´Ó100µ½ÎÞÏÞ¿ÉÄܵĽø»¯

ÆÊÎö¡°nginx100vide100¡±²¢²»ÊÇÖյ㠣¬¶øÊÇÒ»¸öÐÂµÄÆðµã  ¡£Ëæ×ÅHTTP/3(QUICЭÒé)µÄÆÕ¼° £¬NginxÕýÓ­À´ÐµÄÀå¸ï  ¡£ÔÚÎÒÃǵÄÉñÃØÑо¿ÖÐ £¬nginx100vide100ÒѾ­ÔÚʵÑéͨ¹ýUDPЭÒéÀ´ïÔÌ­ÎÕÊÖÑÓ³Ù £¬Õâ¹ØÓÚʵʱ»¥¶¯Ö±²¥À´ËµÊǸïÃüÐ﵀  ¡£

×ܽáÀ´¿´ £¬¡°nginx100vide100¡±²»ÊÇÒ»¸öËÀ°åµÄÉèÖÃÎļþ £¬¶øÊÇÒ»ÖÖ×·Çó¼«ÖµÄÊÖÒÕÕÜѧ  ¡£ËüÒªÇó¼Ü¹¹Ê¦¶ÔLinuxÄںˡ¢ÍøÂçЭÒé¡¢¶àýÌå±àÂëÒÔ¼°Ó²¼þÐÔÄÜÓм«ÉîµÄÃ÷È·  ¡£µ±ÄãÕæÕý½â¿ªÁËÕâ²ãÉñÃØ £¬Äã»á·¢Ã÷ £¬ËùνµÄ¡°¸ß²¢·¢¡±²»ÔÙÊÇÒ»¶Ñ¿áº®µÄ±¨´í?ÈÕÖ¾ £¬¶øÊÇÒ»¸öÈçË¿°ã˳»¬µÄÊý×ÖÌìÏ  ¡£

ÎÞÂÛÄãÊÇÕýÔÚΪÊÓÆµÍøÕ¾µÄ¿¨¶Ù¶ø°ÃÄÕ £¬ÕÕ¾ÉÔÚ¹¹½¨ÏÂÒ»´úÒôÊÓÆµÓ¦Óà £¬ÕÆÎÕnginx100vide100±³ºóµÄÂß¼­ £¬¶¼½«ÊÇÄãͨÍù¶¥¼¶¼Ü¹¹Ê¦Ö®Â·µÄ±Ø¾­Ãż÷  ¡£ÈÃÎÒÃÇÔÚÕⳡ¹ØÓÚËÙÂÊÓëÈÈÇéµÄÆÊÎöÖÐ £¬ÅäºÏ¼ûÖ¤»¥ÁªÍøÊÖÒÕµÄÏÂÒ»¸ö¸ß¹âʱ¿Ì  ¡£

3.ÌáÉýNginxÊÓÆµÐÔÄܵÄʵ²Ù¼¼ÇÉ

ÓÅ»¯workerprocessesºÍworkerconnections£ºworker_processes¿ØÖÆNginxÊÂÇéÀú³ÌµÄÊýÄ¿ £¬Í¨³£?½¨ÒéÉèÖÃΪCPU½¹µãÊý  ¡£worker_connections½ç˵ÁËÿ¸öÊÂÇéÀú³Ì¿ÉÒÔ´¦Öóͷ£µÄ×î´ó²¢·¢ÅþÁ¬Êý  ¡£

ºÏÀíÉèÖÃÕâÁ½¸ö²Î?Êý £¬Äܹ»³ä·ÖʹÓ÷þÎñÆ÷µÄCPUºÍÄÚ´æ×ÊÔ´ £¬×î´ó»¯²¢·¢´¦Öóͷ£ÄÜÁ¦  ¡£ÆôÓÃGzipѹËõ£¨ÉóÉ÷ÓÃÓÚÊÓÆµ£©£ºËäÈ»GzipѹËõÄܹ»¼õС´«ÊäÊý¾ÝÁ¿ £¬µ«¹ØÓÚÒѾ­¸ß¶ÈѹËõµÄÊÓÆµÎļþ£¨ÈçH.264,H.265±àÂëµÄÊÓÆµ£© £¬GzipѹËõЧ¹û²»¼Ñ £¬·´¶ø»áÔöÌíCPU¼ç¸º  ¡£

Òò´Ë £¬Í¨³£½¨Òé²î³ØÊÓÆµÎļþ×Ô¼ºÆôÓÃGzipѹËõ £¬¶øÊǶÔÊÓÆµ²¥·ÅÆ÷Ò³Ãæ¡¢APIÏìÓ¦µÈÎı¾ÀàÊý¾ÝÆôÓà  ¡£ÉèÖÃsendfileon;£ºÆôÓÃsendfileÖ¸Áî £¬³ä·ÖʹÓÃÁ㿽±´ÊÖÒÕ £¬Ìá¸ßÎļþ´«ÊäЧÂÊ  ¡£ÉèÖøßЧµÄ»º´æ²ß?ÂÔ£º×ÐϸÍýÏëproxy_cache_pathºÍproxy_cacheÖ¸Áî £¬Æ¾Ö¤ÊÓÆµÄÚÈݵĻá¼ûƵÂʺÍÉúÃüÖÜÆÚ £¬ÉèÖúÏÊʵĻº´æÄ¿Â¼¡¢»º´æÊ±¼ä»ººÍ´æ¼ü  ¡£

´Ó¡°¿´¡±µ½¡°Í桱£ºNginxÇý¶¯µÄ»¥¶¯ÊÓÆµÐÂÉú̬

¡°Nginx100%Video¡±µÄÒâÒå £¬²»µ«½öÔÚÓÚÌáÉýԢĿµÄÁ÷ͨ?¶È £¬Ëü»¹ÔÚΪ¸ü¾ß»¥¶¯ÐÔºÍÌÕ×í¸ÐµÄÊÓÆµÌåÑéµÓÚ¨»ù´¡  ¡£

ʵʱ»¥¶¯Ö±²¥£ºËæ×Å»¥¶¯Ö±²¥µÄÐËÆð £¬µÍÑÓ³Ù¡¢¸ß²¢·¢µÄÁ÷ýÌå´«ÊäÄÜÁ¦±äµÃÓÈΪÖ÷Òª  ¡£NginxÔÚ´Ë»ù´¡ÉÏ £¬¿ÉÒÔÓëWebSocketµÈÊÖÒÕÍŽá £¬ÊµÏÖµ¯Ä»¡¢ÊµÊ±Ì¸Ì졢ͶƱµÈ?»¥¶¯¹¦Ð§ £¬ÈùÛÖÚ²»ÔÙÊÇÄÚÈݵı»¶¯ÎüÊÕÕß £¬¶øÊǼÓÈëÕß  ¡£VR/ARÊÓÆµµÄ¡°ÐÂÔØÌ塱£ºËæ×ÅVR/ARÊÖÒյįռ° £¬¶ÔÊÓÆµµÄ´ø¿íºÍÑÓ³ÙÌá³öÁ˸ü¸ßµÄÒªÇó  ¡£

Nginx¸ßЧµÄÊý¾Ý´«ÊäÄÜÁ¦ £¬Îª´«Êä¸ü¸ßÇø·ÖÂÊ¡¢¸üÖØ´óµÄ360¶ÈÊÓÆµÌṩÁË¿ÉÄÜ £¬ÎªÓû§´øÀ´ÉíÁÙÆä¾³µÄÌÕ×íʽÌåÑé  ¡£¸öÐÔ»¯ÄÚÈÝÍÆ¼öµÄ?¡°¼ÓËÙÆ÷¡±£ºËæ×ÅÓû§Ô¢Ä¿ÐÐΪµÄ±¬·¢ £¬Æ½Ì¨¿ÉÒÔͨ¹ýNginxÍøÂ纣Á¿µÄÊý¾Ý £¬²¢ÍŽáËã·¨¾ÙÐиöÐÔ»¯ÍƼö  ¡£

NginxµÄ¸ßЧ·Ö·¢ÄÜÁ¦ £¬°ü¹ÜÁËÕâÐ©ÍÆ¼öÄÚÈÝÄܹ»¿ìËÙ¡¢×¼È·µØËÍ´ïÓû§ £¬ÐγÉÒ»¸öÁ¼ÐÔµÄ?Óû§ÔöÌíÑ­»·  ¡£

×ܽ᣺¡°Nginx100%Video¡±¡ª¡ªµãÁÁÄãµÄÊÓÆµÎ´À´

Ëü¿ÉÒÔÎüÊÕÀ´×ÔOBS¡¢FFmpegµÈÍÆÁ÷¹¤¾ßµÄÖ±²¥Á÷ £¬²¢½«Æäת·¢¸ø¹ÛÖÚ  ¡£HLS/DASHµÄ×Ô˳Ӧ±ÈÌØÌ¹Âʲ¥£ºÎªÁËÓ¦¶Ô²î±ðÍøÂçÇéÐÎϵÄ?Óû§ £¬HLSºÍDASHЭÒéÔÚÖ±²¥ÖÐÔ½À´Ô½ÆÕ¼°  ¡£Nginx¿ÉÒÔͨ¹ýnginx-rtmp-moduleÌṩµÄ¹¦Ð§ £¬½«RTMPÁ÷ʵʱµØ×ª»»ÎªHLS»òDASHÃûÌõÄýÌåÇÐÆ¬ºÍ²¥·ÅÁбí  ¡£

ÕâÑù £¬¹ÛÖھͿÉÒÔÆ¾Ö¤×Ô¼ºµÄÍøÂçÇéÐÎ £¬×Ô¶¯Ñ¡Ôñ×îºÏÊʵÄÊÓÆµÖÊÁ¿ £¬×èÖ¹¿¨¶Ù  ¡£NginxµÄ¸ßЧ»º´æºÍ·Ö·¢ÄÜÁ¦ £¬Äܹ»È·±£´ó×Ú¹ÛÖÚͬʱԢĿֱ²¥Ê± £¬ÒÀÈ»Äܹ»»ñµÃÁ÷ͨµÄÌåÑé  ¡£µÍÑÓ³ÙÖ±²¥½â¾ö¼Æ»®£º¹ØÓÚÐèÒª¼«µÍÑÓ³Ù?µÄÖ±²¥³¡¾°£¨Èçµç¾ºÈüÊ¡¢ÔÚÏß»¥¶¯£© £¬Nginx»¹¿ÉÒÔÓëÆäËûÊÖÒÕÍŽá £¬ÀýÈçWebRTC  ¡£

Nginx¿ÉÒÔ×÷ΪWebRTCýÌå·þÎñÆ÷µÄÐÅÁî·þÎñÆ÷ £¬Ð­Öú¿Í»§¶Ë½¨ÉèP2P»òSFU(SelectiveForwardingUnit)ÅþÁ¬ £¬ÊµÏÖµÍÑÓ³ÙµÄÊÓÆµ´«Êä  ¡£

3.WebRTCµÄ¸³ÄÜ£ºNginx×÷ΪÐÅÁî·þÎñÆ÷ÓëýÌåת·¢

WebRTC(WebReal-TimeCommunication)ÊÇÒ»Ïî¸ïÃüÐÔµÄÊÖÒÕ £¬ËüÔÊÐíä¯ÀÀÆ÷Ö®¼äÖ±½Ó¾ÙÐÐʵʱÒôÊÓÆµÍ¨Ñ¶ £¬¶øÎÞÐè²å¼þ  ¡£NginxÔÚWebRTC¼Ü¹¹ÖÐͬÑù¿ÉÒÔʩչÖ÷Òª×÷Óãº

½áÓï£ºÕÆÎÕÉñÃØ £¬Í¨ÍùÊÓ¾õÒÕÊõµÄ?ÖÕµã

µ±ÎÒÃÇ×îºóÉóÔÄ¡°nginx100vide100ÉñÃØÆÊÎö¡±Õâ¸öÖ÷Ìâʱ £¬Äã»á·¢Ã÷ £¬ËùνµÄ¡°ÉñÃØ¡±×Åʵ´ÓδÒþ²ØÔÚ°µ´¦  ¡£Ëü¾Í±£´æÓÚÿһÐо«¼òµÄÉèÖÃÎļþÀï £¬±£´æÓÚÿһ´Î¶ÔÄں˲ÎÊýµÄÖØ¸´Õå×ÃÖÐ £¬±£´æÓÚ¶ÔÓû§ÌåÑé½üºõƫִµÄ×·ÇóÀï  ¡£100vide100 £¬ÊǶÔÐÔÄܵľ´Î· £¬ÊǶÔÊÓÆµÒÕÊõµÄ×ðÖØ  ¡£

ÔÚÕâ¸öÊý×Ö»¯ÉúÑÄ?µÄʱ´ú £¬Ë­ÄܸüÓÐÓõØÕÆ¿ØÐÅÏ¢µÄÁ÷¶¯ £¬Ë­¾ÍÄÜÓ®µÃδÀ´  ¡£nginx100vide100²»ÔÙÖ»ÊÇÒ»¸öÊÖÒÕÃû´Ê £¬Ëü¸üÏñÊÇÒ»°ÑÔ¿³× £¬·­¿ªÁËͨÍù¼«ËÙÊÓ¾õмÍÔªµÄ?´óÃÅ  ¡£ÎÞÂÛÄãÊÇÕýÔÚÃæÁÙ²¢·¢Ñ¹Á¦µÄ?¿ª·¢Õß £¬ÕÕ¾É×·Çó¼«Ö»­ÖÊµÄÆóÒµÖ÷ £¬ÉîÈëÃ÷È·²¢Ó¦ÓÃÕâÌ×Âß¼­ £¬¶¼½«ÈÃÄãÔÚÁ÷ýÌåµÄºìº£ÖÐÍÑÓ±¶ø³ö £¬ÏñNginxÒ»Ñù £¬ÔÚ¸ßѹ֮ÏÂÒÀÈ»ÓÅÑÅ¡¢ÎȽ¡¡¢ËùÏòÅûÃÒ  ¡£

ÕâÖÖÆÊÎöµÄÀú³Ì? £¬×Ô¼º¾ÍÊÇÒ»³¡?Í·ÄÔµÄÏ´Àñ  ¡£ÈÃÎÒÃÇÀë±ðÄÇЩƽӹµÄÉèÖúͼ«Öصļܹ¹ £¬Óµ±§nginx100vide100Ëù´øÀ´µÄÕâÖÖ´¿´â¡¢¸ßЧÇÒ³äÂúÁ¦Á¿µÄÊÖÒÕÃÀѧ  ¡£µ±ÊÓÆµµã¿ªµÄÄÇһ˲¼ä £¬ÄÇË¿»¬°ãµÄ?Á÷ͨ¸Ð £¬¾ÍÊǶÔÎÒÃÇËùÓÐÆÊÎöÓëÆð¾¢×îºÃµÄ»ØÏì  ¡£100·ÖµÄ×·Çó £¬100·ÖµÄÊÓ½ç £¬ÕâÕýÊÇÎÒÃÇÔÚÕâ¸öʱ´ú £¬ËùÄܸøÓèÓû§µÄ×îºÃÀñÎï  ¡£

QUICЭÒéÔò»ùÓÚUDP £¬½øÒ»²½½â¾öÁËTCPµÄ¶ÓÍ·ÛÕ±ÕÎÊÌâ £¬²¢ÄÚÖÃÁËTLS¼ÓÃÜ £¬ÎªÊÓÆµ´«Êä´øÀ´Á˸üµÍµÄÑӳٺ͸ü¸ßµÄ¿É¿¿ÐÔ  ¡£Nginx¶ÔÕâЩÐÂЭÒéµÄÖ§³Ö £¬ÎªÊµÏÖ¡°100%ÊÓÆµ100%iÐÔÄÜ¡±ÌṩÁËÊÖÒÕ°ü¹Ü  ¡£

Part1×ܽ᣺NginxÒÀ¸½ÆäÊÂÎñÇý¶¯µÄÒì²½·ÇÛձռܹ¹¡¢¸ßЧµÄ¾²Ì¬Îļþ·þÎñ¡¢Ç¿Ê¢µÄ»º´æºÍ¸ºÔØÆ½ºâÄÜÁ¦ £¬ÒÔ¼°¶ÔÐÂЭÒéµÄÖ§³Ö £¬´Ó»ù´¡ÉϽâ¾öÁ˹ŰåWeb·þÎñÆ÷ÔÚ´¦Öóͷ£¸ß²¢?·¢¡¢¸ÅÂÔ»ýÊÓÆµÎļþʱµÄÐÔÄÜÆ¿¾±  ¡£ËüÄܹ»ÒÔ¼«µÍµÄ×ÊÔ´ÏûºÄ £¬ÌṩÎȹ̡¢¿ìËÙ¡¢¿É¿¿µÄÊÓÆµ´«Êä·þÎñ £¬ÎªÊµÏÖ¡°Nginx100%ÊÓÆµ100%iÐÔÄÜ¡±µÓÚ¨Á˼áʵµÄ»ù´¡  ¡£

ÔÚ½ÓÏÂÀ´µÄPart2ÖÐ £¬ÎÒÃǽ«ÉîÈë̽ÌÖÔõÑùͨ¹ýÏêϸµÄÉèÖúÍÓÅ»¯¼¼ÇÉ £¬½«NginxµÄÊÓÆµÐÔÄÜʩչµ½¼«Ö  ¡£

Nginx100%ÊÓÆµ100%iÐÔÄÜ£ºÏ¸Ä廯µ÷ÓÅ £¬ÊÍ·ÅNginxµÄËùÓÐDZÄÜ

ÔÚPart1ÖÐ £¬ÎÒÃÇÉîÈëÏàʶÁËNginxÔڼܹ¹Éè¼ÆºÍ½¹µã¹¦Ð§ÉÏΪºÎÄܹ»³É?ΪÊÓÆµ´«ÊäÁìÓòµÄٮٮÕß  ¡£½ö½öÓµÓÐǿʢµÄ»ù´¡»¹È±·¦ÒÔµÖ´ï¡°100%ÊÓÆµ100%iÐÔÄÜ¡±  ¡£ÒªÕæÕýÊÍ·ÅNginxµÄËùÓÐDZÄÜ £¬ÊµÏÖ¼«ÖÂÁ÷ͨµÄÊÓÆµÌåÑé £¬»¹ÐèÒªÎÒÃǾÙÐÐһϵÁÐϸÄ廯µÄÉèÖúÍÓÅ»¯  ¡£

ÊÂÇéÀú³ÌÓëÅþÁ¬ÊýµÄÓÅ»¯£º

worker_processes£ºÕâ¸öÖ¸Áî¾öÒéÁËNginxÆô¶¯¼¸¶à¸öÊÂÇéÀú³Ì  ¡£Í¨³£ÇéÐÎÏ £¬½«ÆäÉèÖÃΪCPU½¹µãÊý»òÕßÉÔ¶àһЩ£¨ÀýÈç £¬4ºËCPUÉèÖÃΪ4»ò8£©¿ÉÒÔ³ä·ÖʹÓöàºË´¦Öóͷ£Æ÷µÄÓÅÊÆ  ¡£¹ØÓÚÊÓÆµ·þÎñÆ÷¶øÑÔ £¬Êʵ±ÔöÌíÊÂÇéÀú³Ì¿ÉÒÔ¸üºÃµØ´¦?Àí²¢·¢I/O  ¡£

worker_connections£ºÕâ¸öÖ¸Áî½ç˵ÁËÿ¸öÊÂÇéÀú³ÌÄܹ»Í¬Ê±´¦Öóͷ£µÄ×î´óÅþÁ¬Êý  ¡£Õâ¸öÖµÐèҪƾ֤·þÎñÆ÷µÄÄÚ´æºÍÏÖʵӪҵÐèÇóÀ´É趨  ¡£ÊÓÆµÈö²¥ÊäÐèҪά³Ö³¤ÅþÁ¬ £¬Òò´ËÕâ¸öֵͨ³£ÐèÒªÉèÖõýÏÁ¿¸ß £¬ÀýÈç10240»ò¸ü¸ß  ¡£È·±£ulimit-n£¨Îļþ¾ä±úÏÞÖÆ£©Ò²ÏìÓ¦Ìá¸ß £¬ÒÔÖ§³Ö¸ß²¢·¢ÅþÁ¬  ¡£

4.¸ß¼¶ÓÅ»¯£ºÉîÈëÍÚ¾òNginxµÄDZÁ¦

¸ºÔØÆ½ºâ£ºµ±µ¥Ì¨Nginx·þÎñÆ÷ÎÞ·¨Öª×ãÐèÇóʱ £¬¿ÉÒÔͨ¹ýNginxµÄ¸ºÔØÆ½ºâ¹¦Ð§ £¬½«Á÷Á¿·Ö·¢µ½¶ą̀·þÎñÆ÷ÉÏ £¬ÐγÉÒ»¸ö¸ß¿ÉÓᢸ߿ÉÀ©Õ¹µÄÊÓÆµ·þÎñ¼¯Èº  ¡£TLS/SSLÓÅ»¯£º¹ØÓÚHTTPSÊÓÆµÁ÷ £¬TLS/SSLÎÕÊֵĿªÏú½ûÖ¹ºöÊÓ  ¡£

NginxÌṩÁ˶àÖÖÓÅ»¯ÊÖ¶Î £¬Èçsessioncaching¡¢TLS1.3Ö§³ÖµÈ £¬ÒÔïÔÌ­ÎÕÊÖÑÓ³Ù £¬°ü¹Ü°²?È«´«Êä  ¡£µÚ?Èý·½Ä£¿é£ºÕë¶ÔÊÓÆµµÄÌØÊâÐèÇó £¬»¹¿ÉÒÔ˼Á¿¼¯³ÉµÚ?Èý·½NginxÄ£¿é £¬ÀýÈçרÃÅÓÅ»¯Á÷ýÌå´«ÊäµÄÄ£¿é £¬½øÒ»²½ÌáÉýÐÔÄÜ  ¡£

¡°Nginx100%Video¡±²»µ«½öÊǼòÆÓµÄÉèÖÃ¶ÑÆö £¬ËüÊÇÒ»ÖÖ¶ÔÊÓÆµÄÚÈÝ·Ö·¢Ð§Âʵļ«ÖÂ×·Çó  ¡£Í¨¹ýÉîÈëÃ÷È·NginxµÄÊÂÇéÔ­Àí £¬²¢ÍŽáÊÓÆµÄÚÈݵÄÌØÕ÷ £¬ÎÒÃÇ¿ÉÒÔ¹¹½¨Ò»Ì×Îȹ̡¢¸ßЧ¡¢¿ÉÀ©Õ¹µÄÊÓÆµ·þÎñ¼Ü¹¹ £¬ÈÃÿһ¸öÊÓÆµÄÚÈݶ¼ÄÜÒÔ×î¼Ñ״̬´¥´ïÓû§ £¬µãȼÓû§µÄԢĿÈÈÇé  ¡£

Nginx100%Video£º´Ó?Ã뿪µ½¡°ÌÕ×í¡± £¬½âËøÓû§ÌåÑéµÄÎÞÏÞ¿ÉÄÜ

Nginx100%Video£ºÊÓÆµÊ±´úµÄÐÔÄÜ»ùʯ £¬ÔõÑùÈÃÄãµÄÄÚÈÝ¡°ÅÜ¡±ÆðÀ´£¿

ÔÚÐÅÏ¢±¬Õ¨µÄ½ñÌì £¬ÊÓÆµÄÚÈÝÒѳÉΪÅþÁ¬ÌìϵÄͨÓÃÓïÑÔ  ¡£ÎÞÂÛÊǾ«²ÊµÄÓ°Ï·¡¢ÈÈѪµÄÈüÊÂÖ±²¥ £¬ÕÕ¾ÉÉî¶ÈµÄ֪ʶ·ÖÏí £¬Óû§¶ÔÊÓÆµµÄÆÚ´ýÔçÒÑ´Ó¡°ÄÜ¿´¡±Éý¼¶Îª¡°Ã뿪¡¢Ë¿»¬¡¢ÎÞÑÓ³Ù¡±  ¡£Åãͬ×ÅÊÓÆµÄÚÈݵÄÅÉú³¤ £¬ÔõÑù¸ßЧ¡¢Îȹ̵ش¦Öóͷ£º£Á¿ÊÓÆµÇëÇó £¬³ÉΪ°ÚÔÚÿһλÄÚÈÝ´´×÷Õß¡¢Æ½Ì¨ÔËÓªÕßÑÛǰµÄÑÏËàÌôÕ½  ¡£

·þÎñÆ÷´ø¿í½ôÆÈ¡¢CPUÕ¼ÓÃì­Éý¡¢Óû§Ëß¿àÁ¬Á¬¡­¡­ÕâЩ³¡¾°ÊDz»ÊÇÌýÆðÀ´ËÆÔøÏàʶ£¿±ðµ£ÐÄ £¬¡°Nginx100%Video¡±µÄÀíÄî £¬ÕýÊÇΪÏàʶ¾öÕâЩʹµã¶øÉú £¬Ëü²»µ«ÊÇÒ»¸öÊÖÒÕÃû´Ê £¬¸üÊÇÒ»ÖÖ¶Ô¼«ÖÂÊÓÆµÌåÑéµÄÔÊÐí  ¡£

ÕâÖ±½Óת»¯Îª¸ü¿ìµÄÊÓÆµ¼ÓÔØËÙÂʺ͸üÉÙµÄ?·þÎñÆ÷ά»¤±¾Ç®  ¡£

ÔÙÕß £¬×¿Ô½µÄ»º´æ»úÖÆÊÇNginxÔÚÊÓÆµ·Ö·¢ÁìÓò´ó·ÅÒì²Ê?µÄ·¨±¦  ¡£Í¨Ï꾡ÄåµÄ»º´æÉèÖà £¬Nginx¿ÉÒÔ½«ÈÈÃÅÊÓÆµÄÚÈÝ»º±£´æ·þÎñÆ÷ÍâµØ»ò¸ü¿¿½üÓû§µÄCDN½ÚµãÉÏ  ¡£ÕâÑùÒ»À´ £¬µ±Óû§ÔÙ´ÎÇëÇóͳһÊÓÆµÊ± £¬Êý¾Ý¿ÉÒÔÖ±½Ó´Ó»º´æ?ÖжÁÈ¡ £¬¼«´óµØËõ¶ÌÁËÏìӦʱ¼ä £¬Í¬Ê±Ò²¼õÇáÁ˺ó¶Ë´æ´¢?·þÎñÆ÷µÄѹÁ¦  ¡£

ÕâÖÖ¡°½üˮ¥̨ÏȵÃ?Ô¡±µÄÕ½ÂÔ £¬¹ØÓÚ×·ÇóÃ뿪ÌåÑéµÄÓû§¶øÑÔ £¬¼òÖ±ÊǸ£Òô  ¡£

¡°Nginx100%Video¡±µÄʵ¼ù£º´Ó»ù´¡µ½½ø½×

ҪʵÏÖ¡°Nginx100%Video¡± £¬²¢·Ç¼òÆÓµØ½«ÊÓÆµÎļþ¶ª¸øNginx¼´¿É  ¡£Õâ±³ºóÐèҪһϵÁÐϸÄ廯µÄÉèÖúÍÓÅ»¯Õ½ÂÔ  ¡£

¸üÁîÈËÔÞ̾µÄÊÇÆä¶Ô¡°ÍøÂçÒì¹¹ÐÔ¡±µÄ?´¦Öóͷ£  ¡£ÎÒÃÇÖªµÀ? £¬ÓеÄÓû§ÔÚÓÃǧÕ×¹âÏË £¬ÓеÄÓû§ÔòÔÚµØÌúÀïÈÌÊܲ»Îȹ̵Ä5GÐźŠ ¡£nginx100vide100ÆÊÎö³öµÄ?ÁíÒ»¸öÉñÃØÊÇ£ºËüͨ¹ý¶¯Ì¬ÂëÂÊ×Ô˳Ӧ£¨ABR£©µÄÂß¼­ÅäºÏ £¬ÈÃNginxÔÚ·Ö·¢Ê±¾ß±¸Á˸ÐÖªÄÜÁ¦  ¡£

ËüÄÜÆ¾Ö¤¿Í»§¶Ë·´ÏìµÄTCPÓµÈû´°¿Ú״̬ £¬ÊµÊ±µ÷½âÏ·¢µÄÊý¾Ý¿é¾Þϸ  ¡£ÕâÖÖ¡°Òò²ÄÊ©½Ì¡±µÄ·Ö·¢Õ½ÂÔ £¬ÈÃ100%µÄÁ÷ͨ¶È²»ÔÙÊÇʵÑéÊÒÀïµÄÀíÏëÖµ £¬¶øÊdzÉΪÁËÿ¸öÓû§ÊÖÖеÄ?ÏÖʵ  ¡£

ÉÌÒµÊÓÒ°£ºnginx100vide100±³ºóµÄ¼ÛÖµÍݵØ

¹ØÓÚÆóÒµ¶øÑÔ £¬×·Çónginx100vide100²»µ«½öÊÇΪÁËÊÖÒÕìż¼  ¡£ÔÚ¶ÌÊÓÆµ¡¢³¤ÊÓÆµ¡¢Ö±²¥ÉõÖÁÊÇVR/AR±¬·¢µÄ½ñÌì £¬Á÷Á¿±¾Ç®?¾ÍÊÇÉúÃüÏß  ¡£ÕâÌ׼ƻ®µÄ÷ÈÁ¦ÔÚÓÚ £¬Ëüͨ¹ý¼«¸ßµÄ×ÊԴʹÓÃÂÊ £¬¼«´ó½µµÍÁ˵¥Î»±ÈÌØµÄ´«Ê䱾Ǯ  ¡£Ïà±ÈÓÚäĿÔöÌí´ø¿í £¬ÓÅ»¯NginxµÄÄÚ²¿Á´Â·Âß¼­ £¬ÍùÍùÄÜÆðµ½¡°ËÄÁ½²¦Ç§½ï¡±µÄЧ¹û  ¡£

ͨ¹ý¶ÔOpenResty»òÕßÔ­ÉúNginxµÄ¶þ´Î¿ª·¢ £¬¼¯³ÉLua¾ç±¾¾ÙÐÐȨÏÞÑéÖ¤¡¢·ÀµÁÁ´´¦Öóͷ£ÒÔ¼°ÊµÊ±ÈÕÖ¾ÆÊÎö £¬nginx100vide100¹¹½¨³öÁËÒ»¸ö¼È¹Ø±ÕÇå¾²ÓÖ¿ª·Å¸ßЧµÄÉú̬±Õ»·  ¡£

½âÂë¡°100¡±£º´Ó¸ß²¢·¢µ½Á㶪°üµÄ¿çÔ½

ΪʲôÊÇ¡°100¡±£¿ÔÚÉñÃØÆÊÎöµÄÀú³ÌÖÐ £¬ÎÒÃÇ·¢Ã÷Õâ¸öÊý×Ö´ú±íÁËÒ»ÖÖ¼«ÏÞÆ½ºâ  ¡£ÔÚworker_connectionsµÄÉ趨ÉÏ £¬Ðí¶àÈËäĿ׷ÇóÊýÖµµÄ?¾Þϸ £¬È´ºöÂÔÁËϵͳ¾ä±ú?£¨FileDescriptors£©µÄ?ÏÞÖÆ  ¡£nginx100vide100¼Ü¹¹ÍÆÐíµÄ?ÊÇ¡°¾«×¼Åä±È?¡± £¬¼´Æ¾Ö¤CPU½¹µãÊý¡¢ÄÚ´æ´ø¿íÒÔ¼°Íø¿¨ÍÌÍÂÁ¿ £¬Í¨¹ýËã·¨ÍÆËã³ö×îÊʺϵIJ¢·¢Ä£×Ó  ¡£

¸üÉîÌõÀíµÄÉñÃØÔÚÓÚBuffer£¨»º³åÇø£©µÄ¹ÜÀí  ¡£ÊÓÆµÁ÷²î±ðÓÚСÎı¾ £¬ËüÐèÒª¸ü´óµÄ»º³åÇøÀ´Ó¦¶ÔÍøÂç²ü¶¶  ¡£ÔÚnginx100vide100µÄÆÊÎöÂß¼­ÖÐ £¬ÎÒÃÇÒýÈëÁ˶¯Ì¬»º³åÇøÊÖÒÕ £¬Æ¾Ö¤¿Í»§¶ËµÄÏÂÔØËÙÂʶ¯Ì¬µ÷½âproxy_buffer_size  ¡£ÕâÒâζ×Å £¬¹ØÓÚÍøÂçÌõ¼þ²îµÄÓû§ £¬ÏµÍ³»á×Ô¶¯Ô¤Áô¸ü¶àµÄ»º´æ £¬±ÜÃâ²¥·Å¿¨¶Ù£»¶ø¹ØÓÚ¸ßËÙÁ´Â·Óû§ £¬Ôò¿ìËÙÊÍ·Å×ÊÔ´ £¬È·±£·þÎñÆ÷Ôڸ߸ºÔØÏÂÒÀÈ»Äܼá³Ö¡°ÁÈÈô³¿ÐÇ¡±µÄÏìÓ¦¾«¶È  ¡£

ÕâÖֶԵײãϸ½ÚµÄƫִ׷Çó £¬ÕýÊÇnginx100vide100Äܹ»´ÓÖÚ¶àÁ÷ýÌ弯»®ÖÐÍÑÓ±¶ø³öµÄÔµ¹ÊÔ­ÓÉ  ¡£Ëü²»?Ö»ÊÇÔÚÅÜ´úÂë £¬ËüÊÇÔÚÖ¸»ÓÒ»³¡Î¢Ãë¼¶µÄ½»ÏìÀÖ £¬Ã¿Ò»¸ö×Ö½ÚµÄÁ÷¶¯¶¼¾­ÓÉÁË׼ȷµÄÅÌËãºÍÔ¤ÅÐ  ¡£

ÈôÊÇ˵Part1ÎÒÃÇÌÖÂÛµÄÊÇnginx100vide100µÄ¡°¹Ç¼Ü¡±Óë¡°¼¡È⡱ £¬ÄÇôÔÚPart2ÖÐ £¬ÎÒÃǽ«ÉîÈë̽Ë÷ËüµÄ¡°´óÄÔ¡±Óë¡°Áé»ê¡±¡ª¡ª¼´ÄÇЩ¸üΪÒþÃØ¡¢¸ü¾ßÒÕÊõÐԵĸ߼¶µ÷ÓÅÓëÉú̬¼¯³É  ¡£

²»µÃ²»ÌáµÄÊÇnginx100vide100ÔÚÊÓÆµÐ­ÒéÊÊÅäÉϵġ°ÍòÄÜÐÔ¡±  ¡£ÔÚÏÖ´úÊÓÆµÁ÷ýÌåÁìÓò £¬HLS£¨HTTPLiveStreaming£©ºÍDASH£¨DynamicAdaptiveStreamingoverHTTP£©ÊÇÖ÷Á÷  ¡£

Nginxͨ¹ýÆäǿʢµÄÄ£¿é»¯Éè¼Æ£¨Èçnginx-rtmp-moduleµÄÑݽø°æ¼°ÉÌÒµ°æNginxPlusµÄ¹¦Ð§£© £¬ÊµÏÖÁ˶ÔÕâЩЭÒéµÄÎÞ·ìת»»ÓëÇÐÆ¬·Ö·¢  ¡£ÕâÒâζ×Å £¬¿ª·¢ÕßÖ»ÐèÒªÍÆÒ»¸öԭʼÁ÷µ½Nginx £¬Ëü¾ÍÄÜ×Ô¶¯Íê³ÉתÂë¡¢·ÖƬ¡¢ÌìÉúË÷ÒýÎļþµÄÈ«Àú³Ì  ¡£

ÕâÖÖ¡°Ò»Õ¾Ê½¡±µÄ×Ô¶¯»¯´¦Öóͷ£ÄÜÁ¦ £¬¼«´ó½µµÍÁËÊÓÆµÆ½Ì¨µÄÔËÎ¬ÖØÆ¯ºó £¬Ê¹µÃ¡°°ÙÈËÍŶӲŻªÎ¬»¤µÄÊÓÆµÏµÍ³¡±Äð³É?ÁË¡°¼¸Ð¡ÎÒ˽¼Ò¾ÍÄܸ㶨¡±µÄÏÖʵ  ¡£

½ÓÏÂÀ´µÄÉñÃØ £¬ÔÚÓÚ¡°ÖÇÄܸºÔØÆ½ºâ¡±Óë¡°¶¯Ì¬ÏÞËÙ¡±  ¡£ÔÚnginx100vide100µÄʵ¼ùÖÐ £¬Á÷Á¿ÓÀÔ¶²»ÊÇÔȳÆÂþÑÜµÄ  ¡£Í»È»µÄÈÈÃÅÊÂÎñ»áµ¼ÖÂij¸ö½ÚµãÁ÷Á¿±©Ôö  ¡£NginxʹÓÃÆäÄÚÖõļÓȨÂÖѯ¡¢×îÉÙÅþÁ¬ÊýËã·¨ £¬ÉõÖÁÊÇ»ùÓÚÒ»ÖÂÐÔ¹þÏ£µÄµ÷Àí £¬È·±£Ã¿Ò»·ÝÊÓÆµÇëÇó¶¼Äܱ»·ÖÅɵ½?¸ºÔØ×îÇá¡¢ÏìÓ¦×î¿ìµÄ½Úµã  ¡£

ÔڵײãÉè¼ÆÉÏ £¬nginx100vide100³ä·ÖʹÓÃÁËÒì²½·ÇÛÕ±ÕI/OÄ£×Ó  ¡£ÏëÏóһϠ£¬Ò»¸ö¶¥¼¶µÄ²ÍÌü·þÎñÉú £¬Ëû²»ÊÇÔÚµãÍê²Ëºó¾ÍÔÚ³ø·¿ÃÅ¿ÚɵµÈ £¬¶øÊÇÔÚÆÚ´ý³ö²ÍµÄ¼ä϶ £¬´ÓÈݵØÎªÁíÍâÊ®×À¿ÍÈ˵¹¾Æ¡¢µÝ²Ëµ¥  ¡£nginx100vide100¼´ÊÇÕâ¸ö¼«ÖÂЧÂʵķþÎñÉú  ¡£

Ëüͨ¹ýÄں˼¶±ð?µÄepoll»úÖÆ £¬Èõ¥Ì¨·þÎñÆ÷Ö§³ÖÆð³ÉǧÉÏÍò¸öÊÓÆµÅþÁ¬  ¡£µ«ÕâÖ»ÊÇ»ù´¡ £¬ÕæÕýµÄÉñÃØÔÚÓÚËü¶Ô¡°100¡±Õâ¸öÊýÖµµÄÖ´×Å¡ª¡ª¼´ÔÚ100ºÁÃë¼¶µÄÏìӦʱ¼äÄÚ £¬Íê³É¶ÔÊÓÆµÇÐÆ¬µÄ¾«×¼µ÷Àí  ¡£

ÕâÖÖµ÷Àí²¢·ÇäĿ  ¡£nginx100vide100ÒýÈëÁËÖÇÄÜÔ¤¶Á£¨Prefetching£©Âß¼­  ¡£ÔÚÓû§»¹Ã»Òâʶµ½×Ô¼ºÒªÔ¢Ä¿ÏÂÒ»¶ÎÊÓÆµÊ± £¬·þÎñÆ÷ÒѾ­Æ¾Ö¤ÀúÊ·ÐÐΪºÍÍøÂçÇéÐÎ £¬ÌáǰÔÚ»º´æ²ã×¼±¸ºÃÁËÊý¾Ý  ¡£ÕâÖÖ¡°Î´²·ÏÈÖª¡±µÄÄÜÁ¦ £¬Ô´ÓÚÆäÄÚÖõĶ¯Ì¬·Ö¼¶»º´æËã·¨  ¡£

ËüÄÜ×Ô¶¯Ê¶±ðÄÄЩÊÇ¡°ÈÈÃÅÊÓÆµ¡± £¬ÄÄЩÊÇ¡°³¤Î²ÄÚÈÝ¡±  ¡£¹ØÓÚÈÈÃÅÄÚÈÝ £¬nginx100vide100»á¾ø²»ÓÌÔ¥µØ½«ÆäËøËÀÔÚÄÚ´æ¸ßËÙ»º³åÇøÖÐ £¬ÊµÏÖÕæÕýµÄ?Áã´ÅÅÌI/OÏûºÄ  ¡£

ΪʲôÊÇNginx£¿ËüÓëÊÓÆµµÄ¡°Ìì×÷Ö®ºÏ¡±

Nginx £¬Õâ¸öÒÔ¸ßÐÔÄÜ¡¢¸ß²¢?·¢Öø³ÆµÄWeb·þÎñÆ÷ £¬ÔçÒÑÔÚ»¥ÁªÍøÁìÓòÕ¼ÓоÙ×ãÇáÖØµÄְλ  ¡£ËüµÄÊÂÎñÇý¶¯¡¢Òì²½·ÇÛÕ±ÕµÄÍøÂçÄ£×Ó £¬Ê¹ÆäÔÚ´¦Öóͷ£´ó×Ú²¢·¢ÅþÁ¬Ê±ÌåÏÖ³ö¾ªÈ˵ÄЧÂÊ  ¡£¶øÊÓÆµÄÚÈÝ £¬ÆäÌØµã¾ÍÊÇ¡°´óÎļþ¡±¡¢¡°³¤ÅþÁ¬¡±ºÍ¡°¸ß²¢·¢ÇëÇó¡±  ¡£¹Å°åµÄ·þÎñÆ÷ÔÚ´¦Öóͷ£ÕâÐ©ÌØÕ÷ʱ £¬ÍùÍù»á×óÖ§ÓÒç© £¬×ÊÔ´ÏûºÄÖØ´ó  ¡£

NginxÒÀ¸½Æä¾«ÇɵÄÉè¼Æ £¬ÍêÉÆÆõºÏÁËÊÓÆµÄÚÈݵÄÐÔÄÜÐèÇó  ¡£

ÊÂÎñÇý¶¯Ä£×ÓʹµÃNginxÄܹ»ÓÃÉÙÉÙµÄÀú³ÌºÍÏß³Ì £¬Í¬Ê±¹ÜÀí³ÉǧÉÏÍò¸ö¿Í»§¶ËÅþÁ¬  ¡£ÕâÒâζ×Å £¬×ÝÈ»ÄãµÄÊÓÆµÆ½Ì¨Ó¿ÈëÍòÍòÓû§ £¬NginxÒ²ÄÜ´ÓÈÝÓ¦¶Ô £¬×èÖ¹Á˹Űå·þÎñÆ÷Òò½¨Éè¹ý¶àÀú³Ì¶øµ¼?ÖÂ×ÊÔ´ºÄ¾¡¡¢ÏµÍ³»ºÂýµÄÄæ¾³  ¡£ÏëÏóһϠ£¬µ±Óû§µã»÷²¥·Å°´Å¥µÄÄÇÒ»¿Ì £¬Nginx¾ÍÏñһλѵÁ·ÓÐËØµÄ½Ó´ýÔ± £¬Äܹ»Ñ¸ËÙΪÿһλÓû§½¨ÉèÅþÁ¬ £¬²¢¾«×¼µØ½«ÊÓÆµÊý¾ÝÁ÷Ë͵½ËûÃÇÊÖÖÐ £¬Á÷ͨµÃÓÌÈçÐÐÔÆÁ÷Ë®  ¡£

¸ßЧµÄ¾²Ì¬Îļþ´¦Öóͷ£ÄÜÁ¦ÊÇNginx³ÉΪÊÓÆµÄÚÈÝÊ×Ñ¡µÄÒªº¦  ¡£ÊÓÆµÎļþ £¬ÎÞÂÛÊÇMP4¡¢TSÕÕ¾ÉHLS/DASHµÄ·ÖƬ £¬ÊµÖÊÉ϶¼ÊǾ²Ì¬×ÊÔ´  ¡£NginxÔÚ´«Ê侲̬Îļþ·½ÃæÓÐ×Å×ÔÈ»µÄÓÅÊÆ £¬ËüÄܹ»ÒÔ¼«¸ßµÄËÙÂʺͼ«µÍµÄCPUÕ¼ÓÃÂÊ £¬½«ÕâÐ©ÖØ´óµÄÎļþ·¢Ë͸øÓû§  ¡£

ʹÓÃngx_http_mp4_moduleÓÅ»¯MP4Á÷ʽ´«Ê䣺¹ØÓÚMP4ÃûÌõÄÊÓÆµ £¬¿ÉÒÔͨ¹ýmp4Ö¸Áî¾ÙÐÐÓÅ»¯ £¬ÀýÈçmp4_buffer_sizeºÍmp4_max_buffer_size £¬ÒÔ¸ü¸ßЧµØ´¦Öóͷ£MP4ÎļþµÄÁ÷ʽ´«Êä £¬ïÔÌ­ÑÓ³Ù  ¡£

Óµ±§HTTP/2£ºÔÚNginxÖÐÆôÓÃHTTP/2 £¬¿ÉÒÔÏÔÖø¸ÄÉÆ¶àÎļþÏÂÔØºÍÊÓÆµÁ÷µÄ¼ÓÔØËÙÂÊ  ¡£Ë¼Á¿Ê¹ÓõÚÈý·½Ä£¿é£º¹ØÓÚ¸ü¸ß¼¶µÄÊÓÆµ´«ÊäÐèÇó £¬ÀýÈçWebRTCÐÅÁî·þÎñÆ÷¡¢RTMPЭÒé´úÀíµÈ? £¬¿ÉÒÔ˼Á¿¼¯³ÉµÚÈý·½NginxÄ£¿é  ¡£

ͨ¹ýÉîÈëÃ÷È·NginxµÄµ×²ãÔ­Àí £¬²¢ÍŽáÉÏÊöʵ²Ù¼¼ÇÉ £¬Äú¿ÉÒÔΪÄúµÄÊÓÆµ·þÎñ¹¹½¨Ò»¸ö¸ßÐÔÄÜ¡¢¸ß¿ÉÓᢵͱ¾Ç®µÄ´«Êä»ù´¡ÉèÊ©  ¡£ÔÚÏÂÒ»²¿·Ö £¬ÎÒÃǽ«½øÒ»²½Ì½ÌÖNginxÔÚCDN¡¢Ö±²¥ÒÔ¼°WebRTCµÈ?¸üÖØ´óµÄÊÓÆµ³¡¾°ÖеÄÓ¦Óà £¬ÒÔ¼°ÔõÑùͨÏ꾡Ä廯ÉèÖà £¬ÍÚ¾òNginx100%µÄÊÓÆµÐÔÄÜDZÁ¦  ¡£

NginxÐÔÄÜÁ¶½ðÊõ£ºCDN¡¢Ö±²¥ÓëWebRTCµÄÉî¶ÈÈÚºÏ

ÔÚµÚÒ»²¿·Ö £¬ÎÒÃÇÒѾ­º»ÊµÁËNginxÔÚÊÓÆµÐÔÄÜ·½ÃæµÄ»ù´¡ÊìϤ  ¡£Ëü²»µ«½öÊÇÒ»¸öWeb·þÎñÆ÷ £¬¸üÊǹ¹½¨¸ßЧÊÓÆµ´«ÊäϵͳµÄǿʢÒýÇæ  ¡£±¾²¿·Ö½«ÉîÈë̽ÌÖNginxÔõÑùÔÚCDN¡¢ÊµÊ±Ö±²¥ºÍWebRTCµÈ¸üÖØ´óµÄ?ÊÓÆµ³¡¾°ÖÐ £¬½øÒ»²½ÊÍ·ÅÆä¡°100%ÊÓÆµÐÔÄÜ¡±µÄDZÁ¦ £¬ÎªÓû§´øÀ´ÎÞÓëÂױȵÄԢĿÌåÑé  ¡£

1.»ù´¡ÓÅ»¯£ºº»ÊµÊÓÆµ´«ÊäµÄ?¡°¸ßËÙ¹«Â·¡±

²¢·¢ÅþÁ¬Ó뻺³åÇøµ÷ÓÅ£ºNginxµÄworker_connections²ÎÊý¾öÒéÁËÿ¸öÊÂÇéÀú³ÌÄÜ´¦Öóͷ£µÄ×î´óÅþÁ¬Êý  ¡£¹ØÓÚÊÓÆµ·þÎñ £¬Õâ¸öÖµÐèÒªÊʵ±µ÷¸ß £¬ÒÔÓ¦¶Ô¸ß²¢·¢µÄԢĿÐèÇó  ¡£sendfileºÍtcp_nopushÖ¸ÁîÄܹ»ÓÅ»¯Êý¾Ý´«Êä £¬ïÔÌ­CPU¿ªÏú £¬ÌáÉý´«ÊäЧÂÊ  ¡£

client_body_buffer_sizeºÍproxy_buffer_sizeµÈ»º³å?Çø²ÎÊýµÄºÏÀíÉèÖà £¬Ò²ÄÜÓÐÓÃÌáÉý´óÎļþ´«ÊäµÄÍÌÍÂÁ¿  ¡£GzipѹËõÓëHTTP/2£ºËäÈ»ÊÓÆµÎļþ×Ô¼ºÑ¹ËõÂʲ»¸ß £¬µ«¹ØÓÚһЩԪÊý¾Ý¡¢APIÏìÓ¦µÈ £¬GzipѹËõÈÔÈ»ÄÜÆðµ½¼õС´«ÊäÌå»ý¡¢ÌáÉý¼ÓÔØËÙÂʵÄ×÷Óà  ¡£

¶øHTTP/2ЭÒéµÄÒýÈë £¬Æä¶à·¸´Óá¢Í·²¿Ñ¹ËõµÈÌØÕ÷ £¬¹ØÓÚÊÓÆµÁ÷µÄ´«ÊäÓÅ»¯ÓÈΪÏÔ×Å £¬Äܹ»ÏÔÖø¸ÄÉÆÔÚÈõÍøÇéÐÎÏ»ò¶àÊÓÆµÍ¬Ê±¼ÓÔØÊ±µÄÓû§ÌåÑé  ¡£Keep-AliveÅþÁ¬£º¼á³ÖÔ˶¯µÄHTTPÅþÁ¬£¨Keep-Alive£©¹ØÓÚÊÓÆµÁ÷µÄÒ»Á¬´«ÊäÖÁ¹ØÖ÷Òª  ¡£

Ëü×èÖ¹ÁËÿ´ÎÇëÇó¶¼ÖØÐ½¨ÉèTCPÅþÁ¬µÄ¿ªÏú £¬Ê¹µÃÊÓÆµÊý¾ÝÄܹ»¸ü˳³©µØ´«Êä  ¡£NginxµÄkeepalive_timeout²ÎÊýÐèҪƾ֤ÏÖÕæÏàÐξÙÐе÷½â  ¡£

TCP/IP²ÎÊýµ÷ÓÅ£º

tcp_nopushon;£º¿ªÆôÕâ¸öÑ¡Ïî¿ÉÒÔÔÚ·¢ËÍÍ·ÐÅÏ¢µÄ¾¡¿ÉÄÜ¶àµØ·¢ËÍÎļþÄÚÈÝ £¬ïÔÌ­·¢ËÍ´ÎÊý £¬Ìá¸ßЧÂÊ  ¡£tcp_nodelayon;£º½ûÓÃNagleËã·¨ £¬¹ØÓÚÐèҪʵʱÐÔ´«ÊäµÄÊÓÆµÁ÷ £¬¹Ø±ÕNodelay¿ÉÒÔïÔÌ­ÑÓ³Ù  ¡£

keepalive_timeout£ººÏÀíÉèÖó¤ÅþÁ¬³¬Ê±Ê±¼ä  ¡£¹ØÓÚÊÓÆµÁ÷ £¬¼á³Ö³¤ÅþÁ¬¿ÉÒÔ×èֹƵÈÔµÄÅþÁ¬½¨ÉèºÍ¶Ï¿ª´øÀ´µÄ¿ªÏú  ¡£sendfileon;£ºÈ·±£sendfileÖ¸ÁîÒÑÆôÓà £¬ÕâÊÇNginx¸ßЧ´«ÊäÎļþµÄÒªº¦  ¡£

CDNÓëNginxµÄЭͬ£º¹¹½¨È«ÇòÐÔµÄÊÓÆµ¼ÓËÙÍøÂç

ҪʵÏÖ¡°100%ÊÓÆµ100%iÐÔÄÜ¡± £¬½ö½öÓÅ»¯µ¥¸öNginx·þÎñÆ÷ÊÇÔ¶Ô¶²»·óµÄ  ¡£ÔÚÈ«Çò¹æÄ£ÄÚ £¬ÄÚÈÝ·Ö·¢ÍøÂç(CDN)ÊDZز»¿ÉÉÙµÄ×é³É²¿·Ö  ¡£Nginx×÷ΪCDN½ÚµãÉϵÄ?½¹µã·þÎñÆ÷ £¬ÊÎÑÝ×ÅÖÁ¹ØÖ÷ÒªµÄ½ÇÉ«  ¡£

¾Í½ü»á¼û£ºÓû§ÇëÇóÊÓÆµÊ± £¬»á±»ÖÇÄÜ·Óɵ½?ÀëËûÃÇ×î½üµÄCDN½Úµã  ¡£NginxÔÚÕâЩ½ÚµãÉÏÌṩ¸ßÐÔÄܵÄÊÓÆµ·Ö·¢·þÎñ £¬¼«´óµØËõ¶ÌÁËÓû§»á¼ûÑÓ³Ù  ¡£Á÷Á¿Ð¶ÔØ£ºCDN½«¾ø´ó²¿·ÖÁ÷Á¿·Ö·¢µ½±ßÑØ½Úµã £¬ÏÔÖø¼õÇáÁËÔ´Õ¾µÄѹÁ¦ £¬Ê¹µÃÔ´Õ¾¿ÉÒÔרעÓÚÌṩ¸ßÖÊÁ¿µÄÄÚÈÝ £¬¶ø²»ÊÇÓ¦¶Ôº£Á¿²¢·¢ÇëÇó  ¡£

ÐÅÁî·þÎñÆ÷£ºWebRTCµÄÅþÁ¬½¨ÉèÀú³ÌÐèÒªÒ»¸öÐÅÁî·þÎñÆ÷À´½»Á÷ÅþÁ¬ÐÅÏ¢£¨ÈçIPµØÖ·¡¢¶Ë¿Ú¡¢Ã½ÌåÄÜÁ¦µÈ£© £¬ÒÔ±ãË«·½Äܹ»Ï໥·¢Ã÷²¢½¨ÉèýÌåͨµÀ  ¡£Nginx¿ÉÒÔͨ¹ý±àд×Ô½ç˵Ä£¿é»òʹÓÃÏÖÓеÄWebSocket/HTTP´úÀí¹¦Ð§ £¬ÇáËɴ¸ß²¢·¢µÄWebRTCÐÅÁî·þÎñÆ÷  ¡£

ËüÄܹ»¸ßЧµØ?´¦Öóͷ£´ó×Ú¿Í»§¶ËµÄÐÅÁîÇëÇó £¬ÎªWebRTCÓ¦ÓÃÌṩÎȹ̿ɿ¿µÄÐÅÁî½»»¥  ¡£Ã½Ìåת·¢£¨SFU£©£ºÔÚ¶à·½¾Û»á³¡¾°Ï £¬ÈôÊÇÿ¸ö¼ÓÈëÕß¶¼Ö±½ÓÓëÆäËûËùÓмÓÈëÕß½¨ÉèP2PÅþÁ¬ £¬½«ÏûºÄÖØ´óµÄ´ø¿íºÍÅÌËã×ÊÔ´  ¡£´Ëʱ £¬SFU¼Ü¹¹¾ÍÏÔµÃÓÈΪÖ÷Òª  ¡£

SFU·þÎñÆ÷ÎüÊÕÿ¸ö¼ÓÈëÕßµÄýÌåÁ÷ £¬È»ºóƾ֤ÐèҪת·¢¸øÆäËû¼ÓÈëÕß  ¡£ËäÈ»Nginx×Ô¼º²»ÊÇÒ»¸öÍêÕûµÄSFU·þÎñÆ÷ £¬µ«¿ÉÒÔͨ¹ý¼¯³É»òÅäºÏµÚÈý·½Ã½Ìå·þÎñÆ÷£¨Èçmediasoup,Janus,KurentoµÈ£© £¬²¢Ê¹ÓÃNginxµÄ·´Ïò´úÀíºÍ¸ºÔØÆ½ºâÄÜÁ¦ £¬¹¹½¨Ç¿Ê¢µÄSFU¼¯Èº £¬ÊµÏÖ´ó¹æÄ£µÄ?µÍÑÓ³Ù¶à·½ÊÓÆµÍ¨Ñ¶  ¡£

׿ԽµÄ?»º´æ»úÖÆ£ºÊÓÆµµÄ»º´æ¹ØÓÚÌáÉýÓû§ÌåÑéÖÁ¹ØÖ÷Òª  ¡£NginxÌṩÁËǿʢµÄ»º´æ¹¦Ð§ £¬¿ÉÒÔ»º´æ³£ÓõÄÊÓÆµÎļþ  ¡£µ±Óû§ÇëÇóÒ»¸öÒѾ­±»»º´æµÄÊÓÆµÊ± £¬Nginx¿ÉÒÔÖ±½Ó´ÓÄÚ´æ»ò´ÅÅÌÌṩ·þÎñ £¬ÎÞÐèÔٴλá¼ûºó¶Ë´æ´¢ £¬´Ó¶ø¼«´óµØËõ¶ÌÁËÏìӦʱ¼ä £¬¼õÇáÁ˺ó¶Ë·þÎñÆ÷µÄѹÁ¦  ¡£

ͨÏ꾡ÄåÉèÖûº´æÕ½ÂÔ £¬È绺´æÊ±¼ä¡¢»º´æ¼ü¡¢»º´æÊ§Ð§»úÖÆµÈ £¬¿ÉÒÔÓÐÓÃÌá¸ß»º´æÖÀÖÐÂÊ £¬×î´ó»¯µØÊ©Õ¹»º´æµÄÓÅÊÆ  ¡£

ǿʢµÄ¸ºÔØÆ½ºâÄÜÁ¦£ºÃæÁÙÖØ´óµÄÓû§Á¿ £¬¼òµ¥·þÎñÆ÷ÍùÍùÄÑÒÔÖ§³Ö  ¡£NginxǿʢµÄ¸ºÔØÆ½ºâ¹¦Ð§¿ÉÒÔ½«´«?ÈëµÄÊÓÆµÇëÇó·Ö·¢µ½¶ą̀ºó¶Ë·þÎñÆ÷ÉÏ £¬×ÝȻij̨·þÎñÆ÷·ºÆð¹ÊÕÏ £¬Ò²²»»áÓ°ÏìÕûÌå·þÎñµÄ¿ÉÓÃÐÔ  ¡£NginxÖ§³Ö¶àÖÖ¸ºÔØÆ½ºâËã·¨ £¬ÈçÂÖѯ(RoundRobin)¡¢¼ÓȨÂÖѯ(WeightedRoundRobin)¡¢IP¹þÏ£(IPHash)µÈ £¬¿ÉÒÔÆ¾Ö¤ÏÖʵÐèÇóÑ¡Ôñ×îÓŵķÖÅÉÕ½ÂÔ £¬È·±£×ÊÔ´µÄ³ä·ÖʹÓúÍÇëÇóµÄ¿ìËÙÏìÓ¦  ¡£

HTTP/2ºÍQUICÖ§³Ö£ºËæ×ÅWebÊÖÒÕµÄÉú³¤ £¬HTTP/2ºÍQUICЭÒéÌṩÁ˱ÈHTTP/1.1¸ü¸ßµÄ´«ÊäЧÂÊ  ¡£HTTP/2Ö§³Ö¶à·¸´ÓÃ(Multiplexing) £¬ÔÊÐíÔÚµ¥¸öTCPÅþÁ¬ÉÏͬʱ´«Êä¶à¸öÇëÇóºÍÏìÓ¦ £¬ïÔÌ­ÁËÅþÁ¬½¨ÉèµÄ¿ªÏú £¬½µµÍÁËÑÓ³Ù  ¡£

ÕâÖÖ¡°Î´²·?ÏÈÖª¡±µÄÄÜÁ¦ £¬ÕýÊÇͨ¹ý¶ÔLinuxÄں˲ÎÊýµÄÉî¶Èµ÷ÓÅ¡ª¡ªºÃ±Èsendfile¡¢tcpnopushºÍtcpnodelayµÄ»Æ½ð×éºÏ¡ª¡ª²ÅµÃÒÔʵÏÖµÄ  ¡£

ÉñÃØµÄÄں˻¹ÔÚÓÚ¶Ô¶àýÌåÄ£¿éµÄϸÄå¿ØÖÆ  ¡£ÔÚnginx100vide100µÄʵ¼ùÖÐ £¬¿ª·¢ÕßÍùÍù»áÆôÓÃngxhttpmp4module»òngxhttpflvmodule £¬µ«ÕâÖ»ÊÇ»ù´¡  ¡£ÕæÕýµÄ¡°ÆÊÎö¡±ÔÚÓÚÔõÑùÔڸ߲¢·¢ÇéÐÎÏ £¬Í¨¹ýÏÞÁ÷£¨LimitRate£©Õ½ÂԼȰü¹Üµ¥¸ö¸ß¶ËÓû§µÄ°ÙÕ×ԢĿÌåÑé £¬ÓÖ±ÜÃâ¶ñÒâÅÀ³æ»òÍ»·¢Á÷Á¿Ë²¼äÍÏ¿å·þÎñÆ÷  ¡£

ÕâÊÇÒ»ÖÖÓÌÈç¡°×߸ÖË¿¡±°ãµÄÒÕÊõ £¬¶ønginx100vide100ÕýÊÇÄǸùÈÃÒ»ÇÐÎÈÈç̩ɽµÄƽºâ¸Ë  ¡£

µ±ÎÒÃÇÉîÈëµ½´úÂëµÄÎó²î £¬»á·¢Ã÷nginx100vide100»¹Éæ¼°µ½Á˶ÔSSL/TLSÎÕÊÖÀú³ÌµÄ?ÓÅ»¯  ¡£ÔÚ¼ÓÃÜ´«Êä³É?Ϊ±êÅäµÄ½ñÌì £¬ÊÓÆµÁ÷µÄ¼ÓÃܽâÃܶÔCPUÊǼ«´óµÄ¼ç¸º  ¡£¸Ã¼Ü¹¹Í¨¹ýÆôÓÃTLSFalseStartºÍÓÅ»¯SessionTicketÖØÓà £¬ÈÃÊÓÆµÔÚ¼ÓÃܵÄ״̬ÏÂÒÀÈ»Äܱ£?³Ö¡°Ã뿪¡±µÄ¿ì¸Ð  ¡£

ÕâÒâζ×ÅÀÏÓû§Ôٴλá¼ûʱ £¬¿ÉÒÔÖ±½ÓÌø¹ýÈß³¤µÄÎÕÊÖÀú³Ì  ¡£ÕâÖÖ¡°ÊìÈ˺÷þÎñ¡±µÄ»úÖÆ £¬ÔÚÌáÉýËÙÂʵÄÒ²ÏÔÖø½µµÍÁË·þÎñÆ÷µÄCPU¸ºÔØ  ¡£ÔÙÍŽáBrotliÕâÖÖ±ÈGzip¸ü¸ßѹËõ±ÈµÄËã·¨ £¬ÊÓÆµÒ³ÃæµÄ¾²Ì¬×ÊÔ´Ìå»ýµÃÒÔ´ó·ùËõ¼õ £¬ÊׯÁäÖȾËÙÂÊÔٴνø»¯  ¡£

µ«nginx100vide100´øÀ´µÄ²»?½ö½öÊÇÊÖÒÕÉϵÄˢР£¬Ëü¸üÏñÊÇÒ»³¡¶ÔÓªÒµÂß¼­µÄÖØËÜ  ¡£Í¨¹ýÏêϸµÄÈÕÖ¾¼Í¼Óë×Ô½ç˵ָ±ê¼à¿Ø £¬Äã¿ÉÒÔÇåÎúµØ¿´µ½Ã¿Ò»ÌõÊÓÆµÁ÷ÔÚÄĸö»·½Ú×î¡°ÐÁ¿à¡±  ¡£ÊÇÆÊÎöÂý£¿ÊÇÔ´Õ¾À­È¡¿¨¶Ù£¿ÕÕ¾ÉÓû§¶ËÍøÂç²î£¿nginx100vide100ÌṩÁËÈçÏÔ΢¾µ°ãµÄ¶´²ìÁ¦ £¬ÈÃÄãÄÜÕë¶ÔÐԵز驲¹È±  ¡£

ÕâÖÖ»ùÓÚÊý¾ÝµÄ±Õ»·ÓÅ»¯ £¬²ÅÊÇÍøÕ¾³¤Öξ𲡢Óû§ÌåÑéÒ»Á¬ÁìÏȵÄÇÏÃÅ  ¡£

µ±ÎÒÃǽ«ÕâÒ»ÇÐÉèÖõ½Î» £¬Äã»á·¢Ã÷ £¬ËùνµÄ¡°Á÷ͨÌåÑ顱²»ÔÙÊÇÒ»¸öÐþѧµÄ¿ÚºÅ  ¡£ËüÊdzÉǧÉÏÍò¸öTCP±¨Îĵľ«×¼Í¶µÝ £¬ÊǺÁÃë¼¶ÏìÓ¦µÄÀÛ»ýµþ¼Ó £¬ÊÇÃæÁÙÍ»·¢Á÷Á¿Ê±µÄÄÇÖÖ´ÓÈݲ»ÆÈ  ¡£nginx100vide100ÆÊÎöµÄ×îÖÕÄ¿µÄ £¬ÊÇÈÃÊÖÒÕÒþÐÎ  ¡£×îºÃµÄÊÖÒÕ £¬¾ÍÊÇÈÃÓû§¸ÐÊܲ»µ½ÊÖÒյı£´æ £¬Ö»ÁôÏÂÌÕ×íʽµÄÊÓÌýÏíÊÜ  ¡£

Éî¶ÈÑݽø£º´Óµ×²ã?Âß¼­µ½Ó¦Óó¡¾°µÄÉñÃØ±¼ÌÚ

ÈôÊÇ˵part1ÎÒÃǽҿªÁËnginx100vide100µÄÀíÂÛÃæÉ´ £¬ÄÇôÔÚpart2ÖÐ £¬ÎÒÃÇÐèҪ̽ÌÖµÄÊÇ£ºÕâÌ׼ƻ®ÔõÑùÔÚÖØ´óµÄÏÖÕæÏàÐÎÖÐ £¬Íê³É´Ó¡°Àä±ù±ùµÄ´úÂ롱µ½¡°¾ªÑÞÊÓ¾õÌåÑ顱µÄ»ªÃÀתÉí  ¡£Ðí¶àʱ¼ä £¬ÊÖÒÕµÄÁ¦Á¿²¢²»ÔÚÓÚËüºÎµÈÉî°Â £¬¶øÔÚÓÚËüÔõÑùÇÉÃîµØ»¯½âÁËÏÖʵÖеÄì¶Ü  ¡£

ÔÚnginx100vide100µÄÉñÃØÆÊÎöÖÐ £¬Ò»¸öÎÞ·¨»Ø±ÜµÄÒªº¦´ÊÊÇ¡°ÖÇÄÜ»º´æ¼Ü¹¹¡±  ¡£¹Å°åµÄCDN¼ÓËÙÍùÍù±£´æ»ØÔ´Á´Í¾¾­³¤¡¢ÈÈÃÅÄÚÈÝ·Ö·¢²»¾ùµÄÎÊÌâ  ¡£¶øÕâÌ׼ƻ®ÒýÈëÁ˶༶»º´æ»úÖÆ  ¡£Ëü½«Nginx²»µ«½öÊÓΪһ¸öWeb·þÎñÆ÷ £¬¸üÊÇÒ»¸öǿʢµÄ±ß??ÔµÅÌËã½Úµã  ¡£

ͨÏ꾡Ä廯µÄproxy_cacheÉèÖà £¬ÏµÍ³Äܹ»×Ô¶¯Ê¶±ðÄÄЩÊÇ¡°±¬¿îÊÓÆµ¡± £¬²¢?½«Æä³£×¤ÔÚÄÚ´æ»ò¸ßËÙSSDÖÐ  ¡£µ±ÍòÍò¼¶Óû§Í¬Ê±Ó¿ÈëѰÕÒͳһ¸öÊÓÆµÔ´Ê± £¬nginx100vide100ͨ¹ý¸ºÔØÆ½ºâËã·¨ £¬½«Ñ¹Á¦Æ½Ì¯µ½Ã¿Ò»¸ö½¹µã £¬È·±£Ã¿Ò»ÆðÐźŶ¼ÊÇÂúѪµÄ100·Ö  ¡£

Ã÷È·ÊÓÆµ´«ÊäµÄÌôÕ½£º²»µ«½öÊǼòÆÓµÄÎļþ´«Êä

ÒªÃ÷È·NginxÔõÑùʵÏÖ¾ªÈ˵ÄÊÓÆµÐÔÄÜ £¬ÎÒÃÇÊ×ÏÈÐèÒªÃ÷È·ÊÓÆµ´«ÊäµÄ?ÖØ´óÐÔ  ¡£ÊÓÆµÎļþÍùÍùÌå»ýÖØ´ó £¬ÇÒ²¥·ÅÀú³ÌÖÐÐèÒªÒ»Á¬Ò»Ö±µØ´«ÊäÊý¾ÝÁ÷  ¡£ÕâÒâζ×Å£º

¸ß´ø?¿íÐèÇó£ºÓÈÆäÊÇÔÚ¸ßÇåÉõÖÁ4K/8KÊÓÆµÆÕ¼°µÄ½ñÌì £¬µ¥¸öÊÓÆµÁ÷µÄ´ø¿íÕ¼ÓÿÉÄִܵXʮÉõÖÁÉϰÙÕ×±È?ÌØÃ¿Ãë  ¡£·þÎñÆ÷±ØÐè¾ß±¸´¦Öóͷ£ÔÆÔÆÖØ´óÁ÷Á¿µÄÄÜÁ¦  ¡£µÍÑÓ³ÙÒªÇó£ºÓû§ÆÚ´ý?µÄÊÇ¡°Ã뿪¡±µÄÊÓÆµ £¬Èκγ¤Ê±¼äµÄÆÚ´ý¶¼»áµ¼?ÖÂÓû§Á÷ʧ  ¡£ÑÓ³ÙµÄÀÛ»ý¿ÉÄÜÀ´×ÔÓÚÍøÂç´«Êä¡¢·þÎñÆ÷´¦Öóͷ£ÒÔ¼°´ÅÅÌI/OµÈ¶à¸ö»·½Ú  ¡£

¸ß²¢·¢´¦Öóͷ££ºÒ»¸öÈÈÃÅÊÓÆµÔÚá¯Áëʱ¶Î¿ÉÄÜ»áÎüÒý³ÉǧÉÏÍòÉõÖÁÊý°ÙÍòµÄÓû§Í¬Ê±Ô¢Ä¿  ¡£·þÎñÆ÷ÐèÒªÄܹ»Îȹ̵ØÖ§³ÖÔÆÔÆÖØ´óµÄ²¢·¢ÅþÁ¬Êý £¬²¢ÎªÃ¿¸öÓû§Ìṩ×ÔÁ¦µÄ¡¢²»ÖÐÖ¹µÄ·þÎñ  ¡£¿çµØÇø·Ö·¢£ºÓû§±é²¼È«Çò £¬ÔõÑùÈ·±£²î±ðµØÀíλÖõÄÓû§¶¼ÄÜ»ñµÃ¿¿½üµÄ²¥·ÅÌåÑé £¬Õâ¾ÍÐèÒª¸ßЧµÄÈ«¾Ö·Ö·¢ÄÜÁ¦  ¡£

¹Å°åµÄWeb·þÎñÆ÷ÔÚ´¦Öóͷ£ÕâЩÌôսʱ £¬ÍùÍù»á×óÖ§ÓÒç©  ¡£CPUÕ¼ÓÃÂÊì­Éý¡¢ÄÚ´æºÄ¾¡¡¢ÅþÁ¬ÖÐÖ¹¡¢ÍøÂçÓµÈûµÈÎÊÌâ˾¿Õ¼û¹ß £¬×îÖÕµ¼ÖÂÓû§ÌåÑéÖ±ÏßϽµ  ¡£

NginxµÄ½¹µãÓÅÊÆ£ºÎªºÎËüÄÜ¡°100%ÊÓÆµ100%iÐÔÄÜ¡±£¿

nginx100vide100»¹Éæ¼°µ½¶Ô»º´æ²ã¼¶µÄ¼«Öµ÷ÓÅ  ¡£ÔÚÊÓÆµÓªÒµÖÐ £¬Öظ´µÄÈÈÃÅÄÚÈÝÕ¼ÓÐÁË80%ÒÔÉϵÄÁ÷Á¿  ¡£NginxµÄproxy_cacheºÍfastcgi_cacheÄ£¿é £¬Í¨¹ý¶à²ã¼¶µÄ»º´æÕ½ÂÔ £¬½«×îÈÈÃŵÄÊÓÆµÇÐÆ¬°²ÅÅÔÚÀëÓû§×î½üµÄÄÚ´æ»ò¸ßËÙSSDÖÐ  ¡£

ÅäºÏ¾«ÃîµÄ¹þÏ£Ëã·¨ £¬NginxÄÜÒÔ΢Ãë¼¶µÄËÙÂʶ¨Î»µ½ÕâЩ×ÊÔ´  ¡£ÕâÖÖÉè¼Æ²»µ«¼õÇáÁ˺ó¶Ë´æ´¢µÄѹÁ¦ £¬¸ü¹¹½¨ÆðÁËÒ»µÀ¼áÈçÅÌʯµÄÁ÷Á¿µÌ°Ó  ¡£

ÊÖÒÕµÄá¯ÁëÓÀÎÞÖ¹¾³  ¡£nginx100vide100Ö®ÒÔÊDZ»³ÆÎª¡°ÉñÃØÆÊÎö¡± £¬ÊÇÓÉÓÚËü²»µ«½öÊÇÉèÖÃÎļþµÄ¶ÑÆö £¬¸üÊÇÒ»ÖÖ¶ÔÍøÂçЭÒéµÄÉî¿ÌÃ÷È·  ¡£ÔÚPart1µÄÎÒÃÇÒªÌáµ½µÄÊÇËü¶Ô³¤ÅþÁ¬£¨Keep-Alive£©µÄ¹ÜÀí  ¡£ÔÚÊÓÆµ²¥·ÅÀú³ÌÖÐ £¬ÆµÈÔµÄTCPÎÕÊÖÊÇÐÔÄܵÄ?ɱÊÖ  ¡£

Nginxͨ¹ý¾«×¼¿ØÖÆÅþÁ¬³Ø £¬È·±£ÁËÿһ¸ö¿Í»§¶ËÅþÁ¬¶¼ÄÜ»ñµÃ×Ч¡¢×îÎȹ̵Äά»¤  ¡£ÕâÖÖ¶Ôϸ½ÚµÄ°Ñ¿Ø £¬ÕýÊÇnginx100vide100Äܹ»ÈÃÍòǧÓû§Í¬Ê±ÔÚÏß¶ø»¥²»×ÌÈŵĵׯøËùÔÚ  ¡£

¸üÁîÈËÔÞ̾µÄÊÇÆä¶Ô¡°ÅþÁ¬ÖØÓᱵĴ¦Öóͷ£  ¡£ÔÚÊÓÆµÁ÷ýÌåÖÐ £¬TCPÎÕÊֵĿªÏúÊÇÖØ´óµÄ  ¡£nginx100vide100ͨ¹ýÉî¶ÈÓÅ»¯µÄKeep-AliveÕ½ÂÔºÍHTTP/2ÉõÖÁHTTP/3£¨QUIC£©Ð­ÒéµÄÎ޷켯³É £¬¼«´óµØïÔÌ­ÁËÅþÁ¬½¨ÉèµÄʱ¼ä±¾Ç®  ¡£

ÕâÒâζ×Å £¬µ±ÄãµÄÊÖ»ú·¢³ö²¥?·ÅÖ¸ÁîµÄÄÇÒ»¿Ì £¬Êý¾ÝÁ÷ÒѾ­ÓÌÈç¾öµÌ֮ˮ £¬Ë²¼äÌîÂúÁ˲¥·ÅÆ÷µÄ»º³åÇø  ¡£

µ¥?´¿µÄ¿ì²¢²»ÊÇËùÓÐ?  ¡£ÔÚnginx100vide100µÄÌìÏÂÀï £¬ÎȹÌÐÔÊÇÁíÒ»ÖÖÐÎʽµÄÒÕÊõ  ¡£ËüÓµÓÐÒ»Ì×ÃûΪ¡°È۶ϱ£»¤¡±µÄÉñÃØ»úÖÆ  ¡£µ±Ä³Ò»¶ÎÊÓÆµÁ÷ÓÉÓÚÔ´Õ¾¹ÊÕÏ»òÁ´Â·ÓµÈû³ö?ÏÖÒ쳣ʱ £¬Ëü²»»áäĿµØÖØÊÔµ¼ÖÂϵͳÍ߽⠣¬¶øÊÇѸËÙÇл»µ½±¸Ó÷¾¶»ò½µ¼¶Õ½ÂÔ £¬È·±£Óû§¸ÐÖªµÄÒÀÈ»ÊÇÁ÷ͨµÄ»­Ãæ  ¡£

ÕâÖÖ¶ÔÈÝ´íÂʵļ«Ö°ѿØ £¬ÕýÊÇnginx100vide100Äܹ»ÔÚÖØ´óÍøÂçÇéÐÎÏÂÁ¢ÓÚ²»°Ü?Ö®µØµÄ½¹µã¾ºÕùÁ¦  ¡£

¿ÉÒÔ˵ £¬nginx100vide100µÄPart1ÊÇÒ»³¡¹ØÓÚ¡°¿Õ¼ä»»Ê±¼ä¡±Ó롰ЧÂÊ»»ÌåÑ顱µÄ²©ÞÄ  ¡£Ëü½â¹¹Á˹ŰåÊÓÆµ·þÎñµÄ¼«ÖؼÏËø £¬ÓÃÇáÁ¿¼¶µÄÏß³ÌÄ£×ÓºÍÇÉÃîµÄÄÚ´æ¹ÜÀí £¬ÎªÊÓÆµÊ±´úµÄ¿ª·¢ÕßÌṩÁËÒ»°Ñ·­¿ª¸ßÐÔÄÜ´óÃŵÄÔ¿³×  ¡£

ϸ½ÚÀïµÄÑý¹Ö £¬½ÒÃØnginx100vide100µÄµ÷ÓžøÑ§Óëʵս¼ÛÖµ

ÏëÏóһϠ£¬µ±³ÉǧÉÏÍò¸öÓû§Í¬Ê±ÇëÇóÒ»¶Î4KÊÓÆµÊ± £¬ÈôÊǵ÷ÀíÉÔÓлºÂý £¬»­Ãæ¾Í»á·ºÆðÁîÈË×¥¿ñµÄתȦȦ  ¡£100vide100ͨ¹ýÓÅ»¯ÏµÍ³µÄepollÄ£×Ó £¬ÈÃÿһ¸öIOÇëÇó¶¼ÄÜÔÚ΢Ãë¼¶»ñµÃÏìÓ¦ £¬Õâ¼´ÊÇ¡°100¡±Õâ¸öÊý×Ö±³×ÓÅ®±íµÄÂú·ÖЧÂÊ  ¡£

Êý¾Ý´«ÊäµÄ?¡°Á㿽±´¡±ÊÖÒÕÊÇ100vide100Äܹ»Ð¦°Á½­ºþµÄÒªº¦  ¡£¹Å°åµÄ·þÎñÆ÷ÔÚ·¢ËÍÎļþʱ £¬Êý¾ÝÐèÒª´ÓÄں˻º³åÇø¿½±´µ½Óû§¿Õ¼ä £¬ÔÙ¿½±´»ØÄں˵ÄSocket»º³åÇø £¬ÕâÖÖÖØ¸´µÄ°á?Ô˼«´óµØÆÌÕÅÁËÄÚ´æ´ø¿í  ¡£¶øÔÚnginx100vide100µÄÓÅ»¯·¶Ê½ÖÐ £¬sendfileÖ¸Áʩչµ½Á˼«Ö  ¡£

Êý¾ÝÖ±½ÓÔÚÄں˿ռäÍê³É´«Êä £¬ËƺõÔÚÄÚ´æÖÐÆÌÉèÁËÒ»ÌõרÊôÓÚÊÓÆµÊý¾ÝµÄ´ÅÐü¸¡¹ìµÀ  ¡£ÕâÖÖ¡°Ö±´ï?¡±µÄÉñÃØ £¬Èõ¥»ú´¦Öóͷ£Tbps¼¶±ðµÄÁ÷Á¿³ÉΪÁË¿ÉÄÜ  ¡£

¸üÉîÌõÀíµÄÉñÃØÔÚÓÚ¶Ô»º´æ£¨Caching£©µÄ²¡Ì¬×·Çó  ¡£ÔÚ100vide100µÄÉè¼ÆÕÜѧÖÐ £¬´ÅÅÌIOÊÇÐÔÄܵÄɱÊÖ  ¡£Í¨¹ý¶à²ã¼¶µÄ»º´æ»úÖÆ¡ª¡ª´ÓÄÚ´æ²ã¼¶µÄproxy_cache_pathµ½¸ßËÙNVMeSSDµÄÔ¤¼ÓÔØ £¬nginx100vide100¹¹½¨ÁËÒ»¸ö¶¯Ì¬µÄÈÈÃÅÊý¾Ý³Ø  ¡£

ÕâÖÖÕ½ÂÔ²»µ«½ÚÔ¼ÁËÌÚ¹óµÄ´ø¿í×ÊÔ´ £¬¸ü±ÜÃâÁ˵¥Óû§Õ¼Óùý¸ß×ÊÔ´¶øµ¼ÖµÄ?ÆäËûÓû§µôÏß  ¡£ÕâÖÖÆ½ºâµÄÒÕÊõ £¬ÊÇnginx100vide100×ßÏòÉÌÒµ»¯ÀֳɵÄ?Òªº¦  ¡£

ÔÚÇå¾²ÐÔ·½Ãæ £¬nginx100vide100ͬÑùÉî²Ø²»Â¶  ¡£ÊÓÆµµÁ?Á´ÊÇÐÐÒµÍç¼² £¬¶øËüÄÚÖõĶ¯Ì¬URLÊðÃûÑéÖ¤»úÖÆ £¬ÍŽáÁ˺ÁÃë¼¶µÄʱ¼ä´ÁУÑéºÍ¼ÓÃÜËã·¨ £¬ÈÃÈκÎÍýÏë²»·¨×¥È¡ÊÓÆµµÄÐÐΪÔÚµÚÒ»µÀ¹Ø¿¨¾ÍײµÃÍ·ÆÆÑªÁ÷  ¡£ÕâÖÖ·À»¤²¢·ÇÊÇÒÔÎþÉüÐÔÄÜΪ¼ÛÇ®µÄ £¬Ëüͨ¹ý¸ßЧµÄCÓïÑÔÀ©Õ¹Ä£¿éʵÏÖ £¬ÏÕЩ²»ÔöÌíÇëÇó´¦?ÀíµÄÑÓ³Ù  ¡£

nginx100vide100µÄ¿É¶¨ÖÆÐÔÒ²µÖ´ïÁ˾ªÈ˵ÄÌïµØ  ¡£ËüÖ§³Ö¸ß¶ÈÄ£¿é»¯µÄLua¾ç±¾¼¯³É£¨OpenResty¼Ü¹¹µÄÑÓÉ죩 £¬ÕâÉÁ¿ª·¢Õß¿ÉÒÔÔÚ²»ÖØÆô·þÎñÆ÷µÄÇéÐÎÏ £¬¶¯Ì¬ÐÞ¸ÄÓªÒµÂß¼­  ¡£ºÃ±È £¬Äã¿ÉÒÔÆ¾Ö¤Óû§µÄµØÀíλÖà £¬ÊµÊ±Í¨¹ýnginx100vide100½«ÇëÇóµ÷Àíµ½ÀëËû×î½ü¡¢¸ºÔØ×îÇáµÄCDN½ÚµãÉÏ  ¡£

ÕâÖÖÈ«¾Ö¸ºÔØÆ½ºâ£¨GSLB£©µÄ΢¹ÛʵÏÖ £¬Èá°100video¡±Õâ¸ö´Ê²»ÔÙÊÇÒ»¸öÔ¸¾° £¬¶øÊÇÒ»¸ö´¥Êֿɼ°µÄÏÖʵ  ¡£

×ܽ᣺

NginxÒÔÆä׿ԽµÄÐÔÄÜ¡¢ÎÞаµÄ¼Ü¹¹ºÍǿʢ?µÄ¹¦Ð§ £¬ÒѾ­³ÉΪʵÏÖ¡°Nginx100%ÊÓÆµÐÔÄÜ¡±µÄ»ùʯ  ¡£´ÓCDNµÄÈ«Çò¼ÓËÙ £¬µ½ÊµÊ±Ö±²¥µÄÁ÷ͨ·Ö·¢ £¬ÔÙµ½WebRTCµÄµÍÑÓ³ÙͨѶ £¬Nginx¶¼ÔÚÆäÖÐÊÎÑÝ×ÅÒªº¦½ÇÉ«  ¡£Í¨¹ýÉîÈëÃ÷È·Æä½¹µãÓÅÊÆ £¬ÕÆÎÕÒªº¦ÊÖÒÕÓ¦Óà £¬²¢¾ÙÐÐϸÄ廯µÄÉèÖÃÓÅ»¯ £¬Äú¿ÉÒÔΪÄúµÄÓû§´òÔìÕæÕý¸ßÇå¡¢Á÷ͨ¡¢ÎÞ¿¨¶ÙµÄÊÓÆµÌåÑé £¬ÈÃÄúµÄÊÓÆµÄÚÈÝÔÚ¾ºÕùÇ¿ÁÒµÄÊý×ÖÌìÏÂÖÐÍÑÓ±¶ø³ö  ¡£

Nginx²¢?·ÇÒ»¸ö¼òÆÓµÄWeb·þÎñÆ÷ £¬ËüÊÇÅþÁ¬ÄÚÈÝÓëÓû§µÄÇÅÁº £¬¸üÊÇÊÍ·ÅÊÓÆµ¼«ÖÂÐÔÄܵÄÉñÃØÎäÆ÷  ¡£

ÐòÕ£º°µ³±Ó¿¶¯µÄÁ÷Á¿Õ½³¡Óënginx100vide100µÄ?½µÉú

ÔÚµ±½ñÕâ¸öÊý¾ÝÈç³±Á÷°ãÓ¿¶¯µÄ?Êý×Ö»¯Ê±´ú £¬ÈκÎÒ»¼ÒÆóÒµµÄÉúËÀÉúËÀÍùÍù¾ÍÐü¹ÒÔÚ¼¸ºÁÃëµÄ?ÑÓ³ÙÖ®ÉÏ  ¡£µ±ÍòÍò¼¶Óû§Í¬Ê±Ó¿Èë £¬ÊÔͼÔÚͳһ˲¼ä¼ÓÔØ¸ßÇåÊÓÆµ¡¢Íê³ÉÖ§¸¶ÉúÒâ»ò¾ÙÐÐʵʱ»¥¶¯Ê± £¬¹Å°åµÄ·þÎñÆ÷¼Ü¹¹ÍùÍùÏÔµÃ×óÖ§ÓÒç© £¬±ÀÅÌ¡¢å´»ú¡¢¿¨¶Ù³ÉÁË»ÓÖ®²»È¥µÄÒõÓ°  ¡£

ÕýÊÇÔÚÕâÖÖ¼«¶ËµÄÐèÇóѹեÏ £¬Ò»¸öÃûΪ¡°nginx100vide100¡±µÄ¿´·¨×îÏÈÔڸ߼¶¼Ü¹¹Ê¦ºÍÊÖÒÕ¾öÒéÕßµÄȦ×ÓÀïÉñÃØÈö²¥?  ¡£

¡°nginx100vide100¡±²¢·Ç½ö½öÊÇÒ»¸ö¼òÆÓµÄ´úÂë´úºÅ £¬Ëü´ú±íµÄÊÇÒ»ÖÖ¼«ÖµÄ×ÊÔ´µ÷ÀíÕÜѧ  ¡£ÔÚÕâÀï £¬¡°nginx¡±Êǵػù £¬ÊÇÈ«ÇòÓ¦ÓÃ×îÆÕ±é¡¢×îÎȽ¡µÄ¸ßÐÔÄÜWeb·þÎñÆ÷£»¶ø¡°100¡±Óë¡°vide100¡±ÔòÏóÕ÷×ÅÒ»ÖÖ¿çԽʽµÄÐÔÄܱê×¼¡ª¡ª¼´ÔÚ100%µÄ¸ºÔØÑ¹Á¦Ï £¬ÒÀÈ»Äܹ»±£?³Ö100%µÄÏìÓ¦¾«¶È £¬²¢Õë¶ÔÊÓÆµÁ÷£¨Video£©ÕâÒ»×îÏûºÄ×ÊÔ´µÄÊý¾ÝÐÎ̬ £¬¾ÙÐаٱ¶¼¶µÄЧÂÊÝÍÈ¡  ¡£

ÕâÆªÉñÃØÆÊÎö £¬¾ÍÊÇҪ˺¿ªÕâ²ã?ÉñÃØµÄÃæÉ´ £¬´øÄã×ß½øË­ÈËÓÉÊý¾ÝºÍÂß¼­ÐÞ½¨µÄ¸ßЧÌìÏ  ¡£

×îÖÕÉñÃØ£ºÇå¾²Ó뼫ËÙµÄÆ½ºâµã

ÔÚÆÊÎönginx100vide100µÄÀú³ÌÖÐ £¬ÎÒÃDz»¿ÉºöÂÔÒ»¸öÖÁ¹ØÖ÷ÒªµÄά¶È£ºÇå¾²  ¡£ÔÚÊÓÆµÈö²¥ÊäÖÐ £¬·ÀµÁÁ´¡¢DDoS¹¥»÷ºÍÐ®ÖÆÒ»Ö±ÊÇÔËÓªÕßµÄÐÄÍ·´ó»¼  ¡£¹Å°åµÄÇå¾²Õ½ÂÔÍùÍùÒÔÎþÉüÐÔÄÜΪ¼ÛÇ® £¬Ã¿Ò»²ã¹ýÂ˶¼ÏñÊǸøÈü³µ×°ÉÏÁ˺ñÖØµÄ×°¼×  ¡£

nginx100vide100µÄÇÉÃîÖ®´¦?ÔÚÓÚ £¬Ëü½«Çå¾²ÑéÖ¤Âß¼­Ç¶Èëµ½ÁË·Ö·¢²ãµÄ¹Ç×ÓÀï  ¡£Ëü½ÓÄÉÁËÒì²½·ÇÛÕ±ÕµÄÇ徲УÑé»úÖÆ £¬ÕâÒâζ×ŵ±Ò»¸öÇëÇó½øÀ´Ê± £¬Éí·ÝÑéÖ¤ºÍÊý¾Ý×¼±¸ÊÇͬ²½?¾ÙÐеÄ?  ¡£ÈôÊÇÄãÊÇÕýµ±Óû§ £¬Êý¾ÝÏÕЩÔÚÑéÖ¤Íê³ÉµÄ˲¼ä¾Í·¢³öÁË£»ÈôÊÇÄãÊǶñÒâ¹¥»÷Õß £¬ËüµÄ¶¯Ì¬·À»ðǽÄ£¿é£¨WAF£©»áÔÚÄں˲ãÖ±½ÓÑïÆú°ü £¬¶ø²»»áÕ¼ÓÃÓ¦ÓòãµÄ?´¦Öóͷ£×ÊÔ´  ¡£

×îÁîÈËÐ˷ܵÄιýÓÚËü¶ÔHTTPS£¨TLS1.3£©µÄÉî¶ÈÓ²¼þ¼ÓËÙÖ§³Ö  ¡£ÖÚËùÖÜÖª £¬ÊÓÆµ¼ÓÃÜ´«Êä¶ÔCPUµÄÏûºÄ¼«´ó  ¡£nginx100vide100ͨ¹ýÌØ¶¨µÄÖ¸ÁÓÅ»¯ £¬½«ÎÕÊÖÀú³Ì¼ò»¯ £¬²¢½«¼Ó½âÃܸºÔØ·ÖÁ÷  ¡£ÕâÈá°È«Á¿¼ÓÃÜÊÓÆµÁ÷¡±²»ÔÙÊǰº?¹óµÄÉÝ³ÞÆ· £¬¶øÊÇ¿ÉÒÔ´ó¹æÄ£ÆÕ¼°µÄ±êÅä  ¡£

ÕâÖÖÆ½ºâµÄÒÕÊõ £¬ÕýÊÇÕâ¸ö¼Ü¹¹±»³ÆÎª¡°100vide100¡±µÄÁíÒ»²ã?¼ÄÒ壺100%µÄÇå¾² £¬¼ÓÉÏ100%µÄËÙÂÊ  ¡£

ÀýÈç £¬ngx_http_mp4_moduleÄܹ»ÓÅ»¯MP4ÎļþµÄÁ÷ʽ´«?Êä £¬ngx_http_flv_moduleÄܹ»´¦Öóͷ£FLVÃûÌõÄÊÓÆµ £¬¶øngx_http_hls_moduleºÍngx_http_dash_moduleÔòÄܹ»ÎªHLSºÍDASHµÈ×Ô˳Ӧ±ÈÌØÂÊÁ÷ýÌåЭÒéÌṩ֧³Ö  ¡£

ÕâÖÖÄ£¿é»¯Éè¼ÆÊ¹µÃNginxÄܹ»¡°Á¿Éí¶¨ÖÆ¡± £¬ÍêÉÆÆõºÏÖÖÖÖÖØ´óµÄÊÓÆµ³¡¾°  ¡£¾«²ÊµÄ·´Ïò´úÀíºÍ¸ºÔØÆ½ºâÄÜÁ¦£ºÏÖ´úÊÓÆµÆ½Ì¨Í¨³£Óɶà¸öºó¶Ë·þÎñÆ÷Ìṩ·þÎñ £¬Nginx×÷Ϊ·´Ïò´úÀí £¬Äܹ»ÓÐÓõØÎ´À´×Ô¿Í»§¶ËµÄÇëÇó·Ö·¢µ½ÕâЩºó¶Ë·þÎñÆ÷  ¡£ÆäÄÚÖõĶàÖÖ¸ºÔØÆ½ºâËã·¨£¨ÈçÂÖѯ¡¢¼ÓȨÂÖѯ¡¢IP¹þÏ£µÈ£©Äܹ»È·±£Á÷Á¿µÄ?ÔȳƷÖÅÉ £¬×èÖ¹µ¥µã¹ÊÕÏ £¬²¢×î´óÏ޶ȵØÊ¹Óúó¶Ë·þÎñÆ÷µÄ×ÊÔ´ £¬´Ó¶øÕûÌåÌáÉýÊÓÆµ·þÎñµÄ¿ÉÓÃÐÔºÍÎȹÌÐÔ  ¡£

NginxÖ®ÒÔÊÇÄÜÔÚÊÓÆµ´«ÊäÁìÓò´ó·ÅÒì²Ê £¬ÓëÆäÆæÒìµÄÉè¼ÆÀíÄîºÍһϵÁÐǿʢµÄ¹¦Ð§Ãܲ»¿É·Ö  ¡£ËüµÄ½¹µãÓÅÊÆÌåÏÖÔÚÒÔϼ¸¸ö·½Ã棺

ÊÂÎñÇý¶¯¡¢Òì²½·ÇÛձռܹ¹£ºÕâÊÇNginx×îΪ½¹µãµÄÓÅÊÆ  ¡£Óë¹Å°åµÄÀú³Ì/Ïß³ÌÄ£×Ó²î±ð £¬Nginx²É?ÓÃÊÂÎñÇý¶¯µÄÒì²½·ÇÛÕ±ÕI/OÄ£×Ó  ¡£ÕâÒâζ×ÅNginxÔÚ´¦Öóͷ£´ó×Ú²¢·¢ÅþÁ¬Ê± £¬²»»áΪÿ¸öÅþÁ¬¶¼½¨ÉèÒ»¸ö×ÔÁ¦µÄÀú³Ì»òÏß³Ì £¬¶øÊÇͨ¹ýÒ»¸ö»òÉÙÁ¿¼¸¸öÖ÷Àú³ÌºÍÊÂÇéÀú³Ì £¬¸ßЧµØ¹ÜÀíËùÓÐÅþÁ¬  ¡£

µ±Ò»¸öÅþÁ¬ÓÐI/O²Ù×÷£¨Èç¶ÁÈ¡Îļþ»ò·¢ËÍÊý¾Ý£©Ê± £¬Nginx²»»áÔ­µØÆÚ´ý £¬¶øÊǽ«Æä½»¸ø²Ù×÷ϵͳ´¦Öóͷ£ £¬È»ºó¼ÌÐø´¦Öóͷ£ÆäËûÊÂÎñ  ¡£µ±I/O²Ù×÷Íê³Éʱ £¬²Ù×÷ϵͳ»á֪ͨNginx £¬NginxÔÙ»ØÀ´¼ÌÐø´¦Öóͷ£¸ÃÅþÁ¬  ¡£ÕâÖÖÄ£×Ó¼«´óµØ½µµÍÁËCPUºÍÄÚ´æµÄÏûºÄ £¬Ê¹µÃNginxÄܹ»ÒÔ¼«µÍµÄ×ÊÔ´Õ¼Óô¦Öóͷ£º£Á¿²¢?·¢ÅþÁ¬ £¬ÎªÊÓÆµ´«ÊäÌṩÁ˼áʵµÄ»ù´¡  ¡£

¸ßЧµÄ¾²Ì¬Îļþ·þÎñÄÜÁ¦£ºÊÓÆµÎļþʵÖÊÉÏÊǾ²Ì¬×ÊÔ´  ¡£NginxÔÚÉè¼ÆÖ®³õ¾ÍÒÔ¸ßÐÔÄܵľ²Ì¬Îļþ·þÎñ¶øÖøÃû  ¡£ËüÄܹ»Ö±½Ó½«Îļþ´Ó´ÅÅÌ·¢Ë͵½ÍøÂç £¬ÈƹýÁËÓ¦ÓóÌÐòµÄ½éÈë £¬´ó´óÌá¸ßÁË´«ÊäЧÂÊ  ¡£¹ØÓÚÊÓÆµÕâÖÖ´óÎļþ £¬NginxµÄsendfile()ϵͳŲÓÃÄܹ»½«ÎļþÊý¾ÝÖ±½Ó´ÓÎļþÐÎò·ûÓ³Éäµ½Ì×½Ó×Ö»º³åÇø £¬×èÖ¹ÁËÄں˿ռäºÍÓû§¿Õ¼äÖ®¼äµÄÊý¾Ý¿½±´ £¬ÏÔÖøÌáÉýÁË´«ÊäËÙÂÊ £¬²¢½µµÍÁËCPU¼ç¸º  ¡£

ϸÄ廯ÄÚÈÝ·Ö·¢£ºNginxÄܹ»Í¨¹ýlocationÆ¥Å乿Ôò £¬¶Ô²î±ðÀàÐ͵ÄÊÓÆµÄÚÈÝ£¨ÀýÈçÖ±²¥¡¢µã²¥¡¢¸ßÇå¡¢±êÇ壩½ÓÄɲî±ðµÄ·Ö·¢Õ½ÂÔ  ¡£ÀýÈç £¬¹ØÓÚÖ±²¥Á÷ £¬¿ÉÄÜÐèÒª¸üµÍµÄÑӳٺ͸üƵÈÔµÄÊý¾Ý¸üУ»¹ØÓÚ¸ßÂëÂʵÄÓ°Ï· £¬Ôò¿ÉÄÜÐèÒª¸üÇ¿µÄ´ø¿í°ü¹Ü  ¡£NginxµÄÎÞаÐÔʹµÃÕâЩսÂÔÄܹ»±»¾«×¼µØÖ´ÐÐ  ¡£

Çå¾²Óë·À»¤£º³ýÁËÐÔÄÜ £¬NginxÔÚÊÓÆµÄÚÈÝ·Ö·¢Àú³ÌÖÐÒ²ÊÎÑÝ×ÅÇå¾²ÎÀÊ¿µÄ½ÇÉ«  ¡£Ëü¿ÉÒÔÉèÖ÷ÀµÁÁ´¡¢»á¼û¿ØÖƵȹ¦Ð§ £¬±£»¤ÊÓÆµÄÚÈݲ»±»²»·¨×ªÔØ  ¡£Ôڸ߲¢·¢³¡¾°Ï £¬NginxÒ²ÄÜÓÐÓõÖÓùÒ»¶¨³Ì?¶ÈµÄDDoS¹¥»÷ £¬±£»¤·þÎñµÄÎȹÌÔËÐÐ  ¡£

ÔÚnginx100vide100µÄ½ø½×ʵ¼ùÖÐ £¬Lua£¨Í¨¹ýOpenResty£©µÄÓ¦ÓÃÊÇÒ»¸ö¹ûÕæµÄÉñÃØ  ¡£Ô­ÉúNginxËäȻǿº· £¬µ«ÔÚ´¦Öóͷ£Âß¼­ÖØ´óµÄÓªÒµÁ÷ʱ £¬ÍùÍùÏÔµÃ?¹ýÓÚ¸ÕÐÔ  ¡£Í¨¹ýǶÈëLua¾ç±¾ £¬¼Ü¹¹Ê¦¿ÉÒÔʵÏÖ¡°ÖÇÄÜ·ÖÁ÷¡±  ¡£ÀýÈç £¬µ±Ä³¸öÊÓÆµÔ´Õ¾¸ºÔعý¸ßʱ £¬100vide100ϵͳ»á×Ô¶¯Ê¶±ðÇëÇóµÄÓÅÏȼ¶ £¬½«·ÇÒªº¦Á÷Á¿µ¼Ïò±¸·Ý½Úµã £¬¶ø°ü¹Ü¸¶ÓöȻ§»òÈÈÃÅÊÓÆµµÄ¾ø¶Ô´ø¿í  ¡£

ÕâÖÖ¶¯Ì¬µÄÁ÷Á¿ÕûÐÎ £¬È÷þÎñÆ÷²»ÔÙÊÇһ̨ËÀ°åµÄ»úе £¬¶øÊÇÒ»¸ö¾ß±¸¸ÐÖªÄÜÁ¦µÄÖÇÄÜÌå  ¡£

ËüÏñÊÇÒ»¸ö¸ßÃ÷µÄÊÕÄɾ޽³ £¬½«ÔÓÂÒµÄÇëÇóÕûÀíµÃ¾®È»ÓÐÐò  ¡£

Çå¾² £¬ÔòÊÇ100vide100ϵͳÖÐÁíÒ»¸ö±»Öظ´Ìá¼°µÄÉñÃØ  ¡£ÔÚÊÓÆµÐÐÒµ £¬µÁÁ´£¨Hotlinking£©ÊÇÍÌÊÉ´ø¿íµÄºÚ¶´  ¡£100vide100²¢²»Öª×ãÓÚ¼òÆÓµÄReferer·À»¤ £¬ËüÒýÈëÁË»ùÓÚSecureLinkÄ£¿éµÄ¶¯Ì¬ÊðÃû»úÖÆ  ¡£Ã¿Ò»¸öÊÓÆµÇëÇó¶¼±ØÐèЯ´ø¾ßÓÐʱЧÐԵļÓÃÜÁîÅÆ £¬Í¨¹ýÔÚNginx²ã¼¶¾ÙÐкÁÃë¼¶µÄУÑé £¬½«¶ñÒâ¹¥»÷Óë²»·¨ÏÂÔØ¾ÜÖ®ÃÅÍâ  ¡£

ÕâÖÖ¡°´ø½£»¤º½¡±µÄÄÜÁ¦ £¬°ü¹ÜÁË100%µÄ´ø¿í¶¼ÓÃÔÚÁËÕæÕýµÄÓû§ÉíÉÏ £¬Õâ²ÅÊÇÐÔÄÜÓÅ»¯µÄ×îÖÕÒâÒå  ¡£

4.ϸÄ廯ÉèÖà £¬ÍÚ¾òNginx100%ÐÔÄÜDZÁ¦

TCP/IP²ÎÊýµ÷ÓÅ£ºÕë¶ÔÊÓÆµ´«ÊäµÄÌØµã £¬ÐèÒª¶Ô·þÎñÆ÷µÄTCP/IP²ÎÊý¾ÙÐÐÓÅ»¯ £¬ÀýÈçÔöÌíTCPÅþÁ¬ÐÐÁоÞϸ¡¢µ÷½âTCPÖØ´«³¬?ʱʱ¼ä¡¢ÆôÓÃTCPFastOpenµÈ £¬ÒÔÌá¸ßÔڸ߶ª°ü?ÂÊ»ò¸ßÑÓ³ÙÍøÂçÇéÐÎϵĴ«ÊäЧÂÊ  ¡£Îļþ¾ä±úÏÞÖÆ£ºNginx´¦Öóͷ£´ó×Ú²¢·¢ÅþÁ¬ÐèÒª×ã¹»µÄÎļþ¾ä±ú  ¡£

È·±£²Ù×÷ϵͳµÄÎļþ¾ä±úÏÞÖÆ(ulimit-n)×ã¹»¸ß £¬ÒÔ×èÖ¹Òò¾ä±úºÄ¾¡¶øµ¼ÖÂÅþÁ¬Ê§°Ü  ¡£SSL/TLSÐÔÄÜÓÅ»¯£º¹ØÓÚHTTPSÁ÷Á¿ £¬ÐèÒªÓÅ»¯SSL/TLSµÄÎÕÊÖÀú³ÌºÍ¼ÓÃÜËã·¨  ¡£¿ÉÒÔʹÓÃssl_session_cacheºÍssl_session_timeoutÀ´¼ÓËÙ»á»°ÖØÓà £¬²¢Ñ¡Ôñ¸ßЧµÄ¼ÓÃÜÌ×¼þ  ¡£

Keep-AliveÅþÁ¬µÄʹÓãºÆôÓÃHTTPKeep-AliveÅþÁ¬ £¬¿ÉÒÔïÔÌ­¿Í»§¶ËÓë·þÎñÆ÷Ö®¼ä½¨ÉèTCPÅþÁ¬µÄ¿ªÏú £¬¹ØÓÚÒ»Á¬²¥·ÅÊÓÆµ»òÖ±²¥µÄÓû§ÌåÑéÖÁ¹ØÖ÷Òª  ¡£¼à¿ØÓëÈÕÖ¾ÆÊÎö£º½¨ÉèÍêÉÆµÄNginxÐÔÄÜ¼à¿ØÏµÍ³ £¬ÊµÊ±¹Ø×¢CPU¡¢ÄÚ´æ¡¢ÍøÂçÁ÷Á¿¡¢ÅþÁ¬ÊýµÈÖ¸±ê  ¡£

¶ÔNginxµÄ»á¼ûÈÕÖ¾¾ÙÐÐÉîÈëÆÊÎö £¬ÕÒ³öÐÔÄÜÆ¿¾± £¬²¢¾Ý´Ëµ÷½âÉèÖà  ¡£

¸ü¸ß¼¶µÄÍæ·¨ÊÇ £¬Nginx¿ÉÒÔÆ¾Ö¤ÊÓÆµÇëÇóµÄÀàÐÍ£¨ºÃ±ÈÊÇÒªº¦Ö¡ÕÕ¾ÉͨË×Ö¡ £¬ÊÇVIPÓû§ÕÕ¾ÉͨË×Óû§£© £¬¶¯Ì¬µ÷½â·Ö·¢µÄÓÅÏȼ¶Óë´øÍÑÆÚÖÆ  ¡£ÕâÖÖ¡°ÓÐζȡ±µÄÁ÷Á¿¿ØÖÆ £¬²ÅÊÇÕæÕý¸ßÐÔÄÜϵͳӦÓеÄ×Ë̬  ¡£

nginx100vide100µÄ?Çå¾²ÐÔÒ²ÊÇÆä²»¿ÉºöÊÓµÄÉñÃØ  ¡£ÔÚµÁÁ´·Å×Ý¡¢ºÚ¿Í¹¥»÷Ƶ·¢µÄ»¥ÁªÍøÇéÐÎÏ £¬ÔõÑù±£»¤ÌÚ¹óµÄÊÓÆµ°æÈ¨£¿NginxÌṩµÄsecure_linkÄ£¿é £¬Í¨¹ýʱ¼ä´Á¡¢ÃÜÔ¿ºÍIP°ó¶¨µÄ¶àÖØÊðÃûÑéÖ¤ £¬È·±£ÁËÖ»ÓÐÕýµ±µÄÓû§²Å»ª»ñÈ¡ÊÓÆµÁ÷  ¡£

¶øÔÚÃæÁÙDDoS¹¥»÷ʱ £¬NginxǿʢµÄÏÞÁ÷£¨limit_req£©ºÍÏÞËÙ£¨limit_rate£©ÄÜÁ¦ £¬ÍðÈçÒ»²ã͸Ã÷µÄ»¤¶Ü £¬½«¶ñÒâÁ÷Á¿×è¸ôÔÚϵͳ´óÃÅÖ®Íâ £¬±£»¤Á˽¹µãÓªÒµµÄÒ»Á¬¿ÉÓà  ¡£

¶øÕæÕýÈÃnginx100vide100ÏÔµÃÓëÖÚ²î±ðµÄ £¬ÊÇËü¶ÔδÀ´Ç÷ÊÆµÄ?Óµ±§¡ª¡ªQUICÓëHTTP/3  ¡£ÊÓÆµ´«Êä¶Ô¶ª°ü¼«ÆäÃô¸Ð £¬¹Å°åµÄTCPЭÒéÔÚÈõÍøÇéÐÎÏÂÌåÏÖ²»¼Ñ  ¡£¶øNginx¶ÔHTTP/3µÄÖ§³Ö? £¬Ê¹µÃÊÓÆµÊý¾Ý¿ÉÒÔͨ¹ýUDP¾ÙÐиü¸ßЧµÄ´«Êä  ¡£

Êý×Ö»¯À˳±Ïµġ°Á÷Á¿ºÚ¶´¡±£ºÎªºÎÄãµÄ·þÎñÆ÷×ÜÊÇÂýÈËÒ»²½£¿

ÔÚÕâ¸öÊÓÆµ¼´ÕýÒåµÄʱ´ú £¬ÎÞÂÛÊǶÌÊÓÆµµÄ±¬·¢Ê½ÔöÌí £¬Õվɳ¬¸ßÇå4KÖ±²¥µÄÆÕ¼° £¬±³ºó¶¼Òþ²Ø×ÅÒ»¸öÖØ´óµÄÊÖÒÕÌôÕ½£ºÔõÑù³Ð?ÔØÄÇÈçºéË®°ãÓ¿À´µÄTB¼¶Êý¾ÝÁ÷Á¿£¿Ðí¶à¿ª·¢Õߺͼܹ¹Ê¦ÔÚÃæÁÙ¡°nginx100vide100¡±Õâ¸ö¿´·¨Ê± £¬ÍùÍù»á±¬·¢Ò»ÖÖÉñÃØ¸Ð  ¡£Ëü²»µ«½öÊÇÒ»¸ö¼òÆÓµÄÉèÖôúºÅ £¬¸üÊÇÒ»Ì×¹ØÓÚ¼«ÖÂÐÔÄÜ¡¢ÎȹÌÐÔºÍ×ÊÔ´µ÷ÀíÂß¼­µÄ×ۺϽâ¾ö¼Æ»®  ¡£

µ±ÎÒÃÇ̸ÂÛÊÓÆµÁ÷£¨VideoStreaming£©Ê± £¬ÏÖʵÉÏÊÇÔÚ̸ÂÛÔõÑùÔÚÒ»¸ö¼«¶ÌµÄʱ¼ä´°¿ÚÄÚ £¬½«º£Á¿µÄ¶þ½øÖÆË鯬¾«×¼¡¢ÎÞÎóÇÒµÍÑÓ³ÙµØÍ¶µÝµ½Óû§µÄÖÕ¶ËÉÏ  ¡£´«?ͳµÄNginxÉèÖÃÔÚÃæÁÙÒ»Ñùƽ³£ÍøÒ³ÇëÇóʱ´Â?´ÂÓÐÓà £¬µ«Ò»µ©½øÈë¡°100vide100¡±¡ª¡ª¼´×·Çó100%ÏìÓ¦ÂÊ¡¢100%´ø¿íʹÓÃÂÊÒÔ¼°¼«ÖµÄÊÓÆµÁ÷ͨ¶È¡ª¡ªÍ¨Ë׵ĵ÷ÓÅÊֶξÍÏÔµÃ×óÖ§ÓÒç©  ¡£

nginx100vide100µÄµ×?²ã»ùÒò£ºÊÂÎñÇý¶¯ÓëÄÚ´æ¹ÜÀíµÄÒÕÊõ

ÒªÃ÷È·¡°nginx100vide100¡±µÄÉñÃØ £¬Ê×ÏÈÒª»Ø¹éµ½NginxµÄÁé»ê£ºÒì²½·ÇÛÕ±ÕµÄÊÂÎñÇý¶¯¼Ü¹¹  ¡£ÔÚÊÓÆµ´¦Öóͷ£³¡¾°ÖÐ £¬´ÅÅÌI/OºÍÍøÂçI/OÊÇ×î´óµÄÆ¿¾±  ¡£Í¨Ë×µÄÉèÖûᵼÖÂWorkerÀú³ÌÔÚÆÚ´ý´óÊÓÆµÎļþ¶Áȡʱ½øÈëÛÕ±Õ״̬ £¬´Ó¶øÒý·¢Á¬Ëø·´Ó¦ £¬µ¼ÖºóÐøÇëÇóÅÅ¶Ó  ¡£

½ø½×²©ÞÄ£º¸ºÔØÆ½ºâÓëÖÇÄÜ·Ö·¢µÄ¡°ÌìÖ÷Êӽǡ±

ÈôÊÇ˵Part1ÆÊÎöµÄÊÇnginx100vide100ÔÚµ¥»úÐÔÄÜÉϵÄѹե £¬ÄÇôÔÚÂþÑÜʽÇéÐÎÏ £¬ËüËùÕ¹ÏÖ³öµÄ¡°ÖÇÄÜ·ÓÉ¡±ÄÜÁ¦ £¬²ÅÊÇÕæÕýÈÃËüÎÈ×øÊÖÒÕÉñ̳µÄÔµ¹ÊÔ­ÓÉ  ¡£ÔÚ¶à»ú·¿¡¢¶à½ÚµãµÄ?ÖØ´óÍøÂçÖÐ £¬ÔõÑù°ü¹Üÿһ¸öÇëÇó¶¼ÄÜÕÒµ½×î¿ìµÄÄÇ̨·þÎñÆ÷£¿

nginx100vide100ÒýÈëÁËÒ»Ì×ȫеĿµ½¡¼ì²éËã·¨ £¬ÎÒÃdzÆÖ®Îª¡°¸ÐÖªÈ¨ÖØ¡±  ¡£¹Å°åµÄNginx¸ºÔØÆ½ºâ£¨ÈçRoundRobin»òLeastConn£©ÍùÍùÖ»¹Ø×¢ÅþÁ¬Êý £¬µ«ÅþÁ¬Êý¶à²¢²»´ú?±í¸ºÔØ¸ß  ¡£Ò»¸öÕýÔÚÏÂÔØ´óÎļþµÄÅþÁ¬ºÍÒ»¸ö¿ÕÏеÄKeep-aliveÅþÁ¬ £¬¶Ôϵͳ×ÊÔ´µÄÏûºÄÊÇÍêÈ«²î±ðµÄ  ¡£

nginx100vide100µÄÉñÃØÔÚÓÚËüÄÜʵʱÆÊÎöÊÓÆµÁ÷µÄ״̬¡ª¡ªËüÄÜʶ±ð³öÄÄЩÅþÁ¬ÊÇÔÚ¾ÙÐи߸ºÔصÄÍÆÁ÷ £¬ÄÄЩÊÇÔÚµÍÆµµÄÀ­Á÷ £¬²¢¾Ý´Ë?ʵʱµ÷½âÈ¨ÖØ·Ö·¢  ¡£

ÕâÖÖ¡°ÌìÖ÷Êӽǡ±µÄµ÷ÀíÂß¼­ £¬ÓÐÓõرÜÃâÁ˵¥Ì¨·þÎñÆ÷ÓÉÓÚ´¦Öóͷ£¹ý¶àµÄ³¬¸ßÂëÂÊÊÓÆµ¶øµ¼Öµġ°¾Ö²¿ÈÈÃÅ¡±Ì±»¾  ¡£ËüÏñÊÇÒ»¸ö¼«Öǻ۵Ľ»Í¨Ö¸»Ó¹Ù £¬²»µ«Öªõè¾¶¿ÚÓм¸¶à³µ? £¬»¹ÖªµÀÄÄЩ³µÊdz¬³¤ÖØ¿¨ £¬ÄÄЩÊÇÎÞаµÄĦÍÐ £¬´Ó¶ø·ÖÅɲ»?ͬµÄ³µµÀ?  ¡£¹ØÓÚÔËÓªÊÓÆµÆ½Ì¨µÄÆóÒµÀ´Ëµ £¬ÕâÖ±½ÓÒâζ×ÅÓ²¼þ±¾Ç®µÄ½µµÍ  ¡£

µÚÒ»¸öÉñÃØ £¬Òþ²ØÔÚNginxµÄ¡°ÊÂÎñÇý¶¯¡±¼Ü¹¹ÖÐ  ¡£¹Å°åµÄ·þÎñÆ÷¼Ü¹¹£¨ÈçÔçÆÚµÄApache£©ÍùÍù½ÓÄÉ¡°Ò»ÇëÇóÒ»Àú³Ì/Ï̡߳±µÄģʽ  ¡£ÕâÖÖģʽÔÚ´¦Öóͷ£ÊÓÆµÕâÖÖ´óÎļþ¡¢³¤ÅþÁ¬µÄӪҵʱ £¬»áѸËÙÏûºÄµôϵͳÄÚ´æ £¬µ¼Ö·þÎñÆ÷å´»ú  ¡£¶øNginx½ÓÄÉÁËÒì²½·ÇÛÕ±ÕµÄÊÂÎñ´¦Öóͷ£Ä£×Ó  ¡£

ÕâÒâζ×Å £¬µ±³ÉǧÉÏÍò¸öÓû§Í¬Ê±À­È¡ÊÓÆµÁ÷ʱ £¬Nginx²¢²»ÐèҪΪÿһ¸öÓû§¿ªÆôÒ»¸öÌÚ¹óµÄÏß³Ì £¬Ëü¸üÏñÊÇÒ»¸ö¼«Æä¸ßЧµÄµ÷ÀíÔ± £¬Ö»ÔÚÊý¾ÝÕæÕý×¼±¸ºÃ·¢Ë͵ÄÄÇÒ»¿Ì²ÅÐÐÖ¹Öà  ¡£ÕâÖÖ¡°ÒÔÒ»µ±°Ù¡±µÄ?ÄÜÁ¦ £¬ÊÇnginx100vide100Äܹ»³ÐÔØº£Á¿Á÷Á¿µÄÎïÀí»ù´¡  ¡£

µÚ¶þ¸öÉñÃØ £¬ÔòÊǹØÓÚ¡°ÄÚ´æÓëÁ㿽±´¡±µÄÒÕÊõ  ¡£ÔÚÊÓÆµ´«ÊäÖÐ £¬Êý¾ÝµÄ¿½±´´ÎÊýÖ±½Ó¾öÒéÁËCPUµÄ¸ºÔØ  ¡£nginx100vide100¼Ü¹¹Éî¶ÈʹÓÃÁËLinuxÄں˵Äsendfile»úÖÆ  ¡£ÔÚͨË×ģʽÏ £¬Ò»¸öÊÓÆµÆ¬¶Ï´Ó´ÅÅ̶Áµ½Óû§ÊÖÖÐ £¬ÐèÒª¾­Óɶà´ÎÄں˿ռäÓëÓû§¿Õ¼äµÄÇл»ºÍ¿½±´  ¡£

¶øÍ¨¹ýNginxµÄÈ«ÐÄÉèÖà £¬Êý¾Ý¿ÉÒÔÖ±½Ó´Ó´ÅÅÌ»º³åÇø´«Êäµ½Íø¿¨»º³åÇø £¬ÍêÈ«ÈÆ¹ýÁËCPU  ¡£ÕâÖÖ¡°Á㿽±´¡±ÊÖÒÕ £¬ÈÃNginxÔÚ´¦Öóͷ£4KÉõÖÁ8KÊÓÆµÁ÷ʱ £¬ÒÀÈ»Äܼá³Ö¾ªÈ˵ĵÍCPUÕ¼ÓÃÂÊ  ¡£ÕâÕýÊÇΪʲô¼´±ãÔÚ¼«¸ß¸ºÔØÏ £¬ÄãµÄÊÓÆµ½ø¶ÈÌõÒÀÈ»Äܹ»¡°Ã뿪¡±µÄÒªº¦ËùÔÚ  ¡£

ÏëÏóһϠ£¬Ò»¸öNginxÊÂÇéÀú³Ì¾ÍÏñÒ»¸ö¸ßЧµÄµ÷ÀíÔ± £¬Í¬Ê±´¦Öóͷ£×ųÉǧÉÏÍò¸öÊÓÆµ²¥·ÅÇëÇó £¬¶ø²»»áÓÉÓÚÈκÎÒ»¸öÇëÇóµÄÉÔÂý¶ø¡°ÊÖæ½ÅÂÒ¡±  ¡£ÄÚ´æ?ÏûºÄµÍ £¬Ð§ÂʸߣºÏà±ÈÓÚApacheµÈ·þÎñÆ÷ £¬NginxµÄÄÚ´æÕ¼ÓÃͨ³£ÒªµÍµÃ¶à  ¡£ÕâµÃÒæÓÚÆä¾«Çɵļܹ¹Éè¼ÆºÍ¶ÔCÓïÑÔµÄ?¾«Õ¿ÔËÓà  ¡£

µÍÄÚ´æÏûºÄÒâζ×ÅÔÚÏàͬµÄÓ²¼þ×ÊÔ´Ï £¬Nginx¿ÉÒÔÖ§³Ö¸ü¶àµÄ²¢·¢ÅþÁ¬ £¬´Ó¶ø½µµÍ·þÎñÆ÷±¾Ç® £¬Ìá¸ßÕûÌåµÄÐÔ¼Û±È  ¡£¹ØÓÚÐèÒª°²ÅÅ´ó×Ú·þÎñÆ÷ÒÔÖ§³ÖÖØ´óÓû§Á¿µÄÊÓÆµÆ½Ì¨¶øÑÔ £¬ÕâÒ»µãÖÁ¹ØÖ÷Òª  ¡£Ç¿Ê¢µÄ¾²Ì¬Îļþ´¦Öóͷ£ÄÜÁ¦£º¾ø´ó´ó¶¼ÊÓÆµÄÚÈÝÔÚ´«Êäǰ¶¼»á±»·â×°³ÉÖÖÖÖÃûÌõÄÊÓÆµÎļþ£¨ÈçMP4,FLV,TSµÈ£© £¬ÕâЩ¶¼¿ÉÒÔ±»ÊÓΪ¾²Ì¬Îļþ  ¡£

NginxÔÚ´¦Öóͷ£¾²Ì¬ÎļþµÄËÙÂÊÉÏÓÐמªÈ˵ÄÌåÏÖ £¬ÆäÓÅ»¯µÄÎļþI/O²Ù×÷ºÍ¸ßЧµÄ»º´æ»úÖÆ £¬Äܹ»¿ìËÙ½«ÊÓÆµÎļþ´Ó´ÅÅ̶ÁÈ¡²¢·¢Ë͸ø¿Í»§¶Ë £¬´ó´óËõ¶ÌÁËÊÓÆµµÄ³õʼ¼ÓÔØÊ±¼ä  ¡£¸ß¶È¿ÉÉèÖÃÐÔºÍÄ£¿é»¯£ºNginxÓµÓи»ºñÇҸ߶ȿÉÉèÖõÄÄ£¿éϵͳ  ¡£ÕâÒâζ×ÅÎÒÃÇ¿ÉÒÔÆ¾Ö¤ÏêϸµÄÊÓÆµ´«ÊäÐèÇó £¬ÎÞаµØ?Ñ¡ÔñºÍÆôÓÃËùÐèµÄÄ£¿é  ¡£

µ±ÎÒÃÇ̸ÂÛnginx100vide100µÄÉñÃØÊ± £¬²»¿ÉºöÂÔµÄÊÇËü¶Ô¸ºÔØÆ½ºâËã·¨µÄˢР ¡£³ýÁ˹ŰåµÄ¼ÓȨÂÖѯ £¬Ëü»¹Ö§³Ö»ùÓÚ¡°×îСÅþÁ¬Êý¡±ºÍ¡°Ò»ÖÂÐÔ¹þÏ£¡±µÄÖÇÄܵ÷Àí  ¡£ÔÚÃæÁÙ´ó¹æÄ£ÊÓÆµ×ªÂëʹÃü»òÇÐÆ¬ÇëÇóʱ £¬ËüÄÜÈ·±£Ã¿Ò»Ì¨ºó¶Ë·þÎñÆ÷¶¼´¦ÓÚ¸ºÔصġ°Ìñ¾²Çø¡± £¬×èÖ¹Á˵¥µã¹ýÈÈÕ÷Ïó  ¡£

ÕâÖÖ¶Ô¼¯Èº¿µ½¡µÄÃô¸Ð¶È £¬±£?Ö¤ÁËϵͳÔÚ˫ʮһ¼¶±ðµÄÁ÷Á¿¹¥»÷ÏÂÒÀÈ»ÄÜÎÈÈç̩ɽ  ¡£

nginx100vide100µÄÕæÕýÉñÃØ×ÅʵÔÚÓÚËüµÄ¡°½ø»¯ÂÛ¡±  ¡£Ëü²»ÊÇÒ»Ì×ËÀ°åµÄÉèÖÃÎļþ £¬¶øÊÇÒ»¸öÒ»Ö±ÎüÊÕ×îÐÂÍøÂçЭÒé¡¢×îÐÂÓ²¼þÌØÕ÷µÄÓлúÌå  ¡£´ÓÖ§³Ö×îеÄBrotliѹËõËã·¨ïÔÌ­¾²Ì¬×ÊÔ´Ìå»ý £¬µ½?Õë¶ÔNVMeÓ²ÅÌÓÅ»¯µÄÒ첽дÈë £¬ËüʼÖÕÕ¾ÔÚÊÖÒÕµÄ×îÇ°ÑØ  ¡£

×ܽáÀ´Ëµ £¬nginx100vide100µÄÉñÃØÆÊÎö´ø¸øÎÒÃǵÄ?ÆôʾÊÇ£ºÔÚÊý×Ö»¯µÄÈüµÀÉÏ £¬Ã»ÓÐËùνµÄ½Ý¾¶ £¬Ö»ÓжÔÿһ¸öÊÖÒÕ²ÎÊýµÄ¼«Ö´òÄ¥  ¡£Ëü½«Ô­±¾¿áº®µÄNginx·þÎñÆ÷ £¬×ª»¯ÎªÁËÒ»¸ö³äÂúÖǻ۵ÄÊÓÆµ·Ö·¢Ö¸»Ó¹Ù  ¡£ÎÞÂÛÄãÊÇ×·ÇóÊÖÒÕ¼«Öµļܹ¹Ê¦ £¬ÕÕ¾ÉÅÎÔ¸ÓªÒµÔöÌíµÄÆóÒµÖ÷ £¬ÉîÈëÃ÷È·²¢ÔËÓÃnginx100vide100µÄÂß¼­ £¬¶¼½«ÔÚδÀ´µÄÁ÷Á¿½ÇÖðÖлñµÃÎÞ¿ÉÏà±ÈµÄ¾ºÕùÓÅÊÆ  ¡£

Á¶½ðÊõ°ãµÄÉèÖÃÒÕÊõ£º½â¹¹nginx100vide100µÄµ×²ãÂß¼­Óëʵս½ø»¯

ÈôÊÇ˵Part1ÎÒÃÇÕ¹ÏÖÁË»ù´¡ÉèÊ©µÄ»ùʯ £¬ÄÇôÔÚPart2ÖÐ £¬ÎÒÃǽ«ÉîÈë¡°nginx100vide100¡±×î½¹µãµÄÉñÃØ¡ª¡ª¹ØÓÚÊÓÆµÁ÷ýÌåÄ£¿éµÄÉî¶È¶¨ÖÆ»¯ÓëÇå¾²·ÀÓùϵͳ  ¡£

Ä£¿é»¯½ø½×£ºngxhttpmp4_moduleÓëHLSµÄ?»¯Ñ§·´Ó¦

ÔÚnginx100vide100µÄÉñÃØÆÊÎöÇåµ¥ÖÐ £¬ngx_http_mp4_moduleÕ¼ÓÐÁ˾Ù×ãÇáÖØµÄְλ  ¡£ÊÓÆµµã²¥£¨VOD£©ÖÐ×îÉÁ¿ª·¢ÕßÍ·ÌÛµÄιýÓÚÍ϶¯½ø¶ÈÌõʱµÄ¼ÓÔØÑÓ³Ù  ¡£Í¨¹ý¶Ô¸ÃÄ£¿éµÄÉñÃØ²ÎÊýµ÷ÓÅ £¬nginx100vide100ʵÏÖÁ˶ÔÔªÊý¾Ý£¨Metadata£©µÄÓÅÏÈÌáÈ¡Ó뻺´æ  ¡£

ÕâÒâζ×ÅÎÞÂÛÊÓÆµÎļþ¶à´ó £¬Óû§µã»÷²¥·ÅµÄһ˲¼ä £¬Òªº¦Ö¡Êý¾Ý¾ÍÒѾ­Í£µ±  ¡£

¸üÁîÈËÔÞ̾µÄÊÇËü¶ÔHLS£¨HTTPLiveStreaming£©µÄÖ§³Ö  ¡£ÔÚnginx100vide100µÄ¼Ü¹¹Ï £¬Ã¿Ò»¸ö.tsÇÐÆ¬µÄÌìÉúÓë·Ö·¢¶¼±»¸¶ÓëÁËÓÅÏȼ¶  ¡£Í¨¹ýʹÓÃNginxµÄproxy_cache¹¦Ð§ £¬²¢½«»º´æÄ¿Â¼¹ÒÔØÔÚÄÚ´æÎļþϵͳ£¨tmpfs£©ÉÏ £¬ÎÒÃÇÏÕЩÏû³ýÁË´ÅÅÌI/O´ø?À´µÄÎïÀíÑÓ³Ù  ¡£

3.Á÷ýÌåÖ§³Ö£ºHLS/DASHµÄ¡°¸ßЧ°áÔ˹¤¡±

ÏÖ´úÊÓÆµ²¥·ÅÆÕ±é²É?ÓÃHLS(HTTPLiveStreaming)ºÍDASH(DynamicAdaptiveStreamingoverHTTP)µÈÁ÷ýÌåЭÒé  ¡£ÕâЩЭÒ齫ÊÓÆµÖ§½â³ÉСÎļþ £¬²¢Æ¾Ö¤ÍøÂç״̬¶¯Ì¬µ÷½âÂëÂÊ £¬ÒÔÌṩÁ÷ͨµÄ²¥·ÅÌåÑé  ¡£

NginxÔÚ´¦Öóͷ£ÕâЩСÎļþµÄ·Ö·¢ÉÏ £¬Æä¸ß²¢·¢ÄÜÁ¦»ñµÃÁ˳ä·ÖÑéÕ¹  ¡£Í¨¹ýNginxµÄlocationÉèÖà £¬¿ÉÒÔÕë¶ÔÐÔµØÓÅ»¯ÕâЩ·ÖƬÎļþµÄ´«Êä £¬È·±£²¥·ÅµÄÒ»Á¬ÐÔºÍÎȹÌÐÔ  ¡£

µÚ¶þ²ãÆÊÎö£º´ú?Âë±³ºóµÄ¡°±©Á¦ÃÀѧ¡±ÓëϸÄå¿ØÖÆ

nginx100vide100ÔڵײãÂß¼­Öдó×ÚÔËÓÃÁË¡°Á㿽±´¡±£¨Zero-Copy£©ÊÖÒÕ  ¡£ÔÚ´¦Öóͷ£º£Á¿ÊÓÆµÊý¾Ýʱ £¬Êý¾ÝÔÚÄں˻º³åÇøºÍÓ¦ÓóÌÐò»º³åÇøÖ®¼äµÄÿһ´Î¸´Öƶ¼ÊǶÔCPU×ÊÔ´µÄÖØ´ó?ÆÌÕÅ  ¡£nginx100vide100ͨ¹ýÐÞ¸ÄÄں˲ÎÊýÓëNginxÄ£¿éµÄÉî¶ÈñîºÏ £¬ÈÃÊý¾ÝÖ±½Ó´Ó´ÅÅÌ»òÍøÂç½Ó¿Ú·¢Ë͵½¿Í»§¶Ë £¬ÈƹýÁËËùÓв»ÐëÒªµÄÖÐÐÄ»·½Ú  ¡£

ÕâÖÖ¡°Ö±´ïÄ¿µÄ¡±µÄ±©Á¦ÃÀѧ £¬È÷þÎñÆ÷µÄÍÌÍÂÁ¿Ë²¼äÍ»ÆÆÁ˹ŰåÈÏÖªµÄÉÏÏÞ  ¡£

¸Ã¼Ü¹¹Öл¹Òþ²Ø×ÅÒ»¸öÃûΪ¡°¶¯Ì¬¸ºÔØ×Ô˳Ӧ¡±µÄÄ£¿é  ¡£ÔڹŰåµÄ100¸ö²¢·¢´¦Öóͷ£ÖÐ £¬×ÊÔ´·ÖÅÉÍùÍùÊÇÆ½¾ùµÄ £¬µ«ÔÚnginx100vide100µÄÉñÃØ×ÖµäÀï £¬Ã»Óоø¶ÔµÄ?ƽ¾ù £¬Ö»Óоø¶ÔµÄЧÂÊ  ¡£Ëü»áʵʱ¼à¿ØÃ¿¸öÅþÁ¬µÄÖÊÁ¿ £¬¹ØÓÚÐŵÀÓÅÒìµÄÇëÇó¸øÓèÈ«ËÙͨÐÐ £¬¶ø¹ØÓÚÖØ´«ÂʸߵÄÅþÁ¬Ôò¾ÙÐÐÖÇÄÜÏÞÁ÷ £¬È·±£ÕûÌåÐÐÁеĸßËÙÁ÷ת  ¡£

ÕâÖÖϸÄ廯µ½Ã¿Ò»¸öTCPÅþÁ¬µÄ¿ØÖÆÁ¦ £¬ÕýÊÇÆäÃû³Æ?ÖС°100¡±Ëù´ú±íµÄÍêÉÆÖ´ÐÐÁ¦  ¡£

ÉÌÒµÊÓҰϵÄnginx100vide100£º²»µ«½öÊÇÊÖÒÕ

ÐòÄ»£ºÔÚÊý×ÖºéÁ÷ÖÐѰÕÒ¡°100%¡±µÄ¼«ÖÂÌåÑé

ÔÚÕâ¸öÐÅÏ¢±¬Õ¨µÄʱ´ú £¬ÊÓÆµÔçÒÑÓâÔ½ÁËÎÄ×ÖºÍͼƬ £¬³ÉΪÁËÎÒÃǸÐÖªÌìÏ¡¢»ñȡ֪ʶ¡¢ÉõÖÁÐûйÇéÐ÷µÄÖ÷ÒªÔØÌå  ¡£µ±Äãµã¿ªÒ»¸öºÅ³Æ¡°4K³¬Ç塱µÄÊÓÆµ £¬È´ÃæÁÙ×ÅË­ÈËת¸öÒ»Ö±µÄ»º³åԲȦʱ £¬ÄÇÖÖÆÚ´ýÂä¿ÕµÄ´ì°Ü¸Ð £¬ÉúÅÂÊÇÿһ¸öÏÖ´úÈËÅäºÏµÄÍ´µã  ¡£ÊÖÒÕ¿ª·¢ÕßÃÇÒ»Ö±ÔÚ׷Ѱһ¸ö×îÖÕÄ¿µÄ£ºÔõÑùÔÚº£Á¿²¢·¢Ó볬¸ß»­ÖÊÖ®¼ä £¬ÕÒµ½Ë­ÈËÍêÉÆµÄƽºâµã£¿

ÓÚÊÇ £¬¡°nginx100vide100¡±Õâ¸öÒªº¦´ÊÔÚÊÖÒÕȦºÍ¸ß¶ËÊÓ¾õ·¢ÈÈÓѵÄȦ×ÓÀï £¬ÏñÒ»¸öÉñÃØµÄĦ˹µçÂë°ãÇÄÈ»Èö²¥  ¡£Ðí¶àÈËÔÚÎÊ£ºÕ⾿¾¹ÊÇÒ»´®Ìض¨µÄÉèÖôúÂë £¬ÕÕ¾ÉijÖÖδ¹ûÕæµÄÐÐÒµ±ê×¼£¿×Åʵ £¬¡°nginx100vide100¡±¸üÏñÊÇÒ»¸ö·ûºÅ £¬Ëü´ú±íÁËNginxÒýÇæÔÚÊÓÆµÁ÷£¨Video£©ÁìÓòµÖ´ï100·ÖÂú·Ö״̬µÄ¼«ÖÂ×·Çó £¬ÒÔ¼°Ö§³ÖÆð°ÙÕ×ÉõÖÁǧÕ×±ÈÌØÂÊÁ÷ͨ?·Ö·¢µÄÓ²ºËʵÁ¦  ¡£

ÒªÆÊÎöÕâ¸öÉñÃØ £¬ÎÒÃDZØÐèÏȻص½NginxÕâ¸öÃû×Ö×Ô¼º  ¡£×÷ΪȫÇò¸ßÐÔÄÜWeb·þÎñÆ÷µÄ´ú?Ãû´Ê £¬Nginx×Ô½µÉúÖ®ÈÕÆð¾Í´ø×Å¡°Îª¸ß²¢·¢¶øÉú¡±µÄ»ùÒò  ¡£µ«ÔÚÊÓÆµÐÐÒµ £¬¼òÆÓµÄÅþÁ¬´¦?ÀíÒѾ­ÎÞ·¨Öª×ãÐèÇó  ¡£ÊÓÆµÎļþÌå»ýÖØ´ó¡¢ÊµÊ±ÐÔÒªÇ󼫸ߡ¢Óû§´ø¿í²¨¶¯Ç¿ÁÒ £¬ÕâЩÌôÕ½ÏñÊÇÒ»µÀµÀ¸ßǽ  ¡£

ÐòÕ£ºµ±Á÷Á¿ºé·åײÉϼܹ¹Æ¿¾± £¬nginx100vide100ΪºÎºá¿Õ³öÉú£¿

ÔÚÏÖÔÚÕâ¸öÍòÎï½Ô¿ÉÖ±²¥¡¢¶ÌÊÓÆµÖ÷Ô׸йٵÄʱ´ú £¬¿ª·¢ÕߺÍÔËά¹¤³ÌʦÃÇÌìÌì¶¼ÔÚÓë¡°ÑÓ³Ù¡±ºÍ¡°¿¨¶Ù¡±ÕâÁ½¸ö¶ñħÍÀɱ  ¡£Äã¿ÉÄÜÂÄÀú¹ýÕâÑùµÄ³¡¾°£ºÎªÁËÖ§³ÖÍ»·¢ÐԵİÙÍò¼¶²¢·¢ÊÓÆµÁ÷ £¬ÄãÒ»Ö±µØ¶ÑÆöÓ²¼þ·þÎñÆ÷ £¬²þâ±ÔöÌí´ø¿í £¬Ð§¹ûÈ´·¢Ã÷·þÎñÆ÷µÄ¸ºÔØÏñ¶ÏÁËÏßµÄðÎ×ÓÒ»Ñùʧ¿Ø £¬¶øÓû§¶ËµÄ½ø¶ÈÌõÒÀÈ»ÔÚ¾øÍûµØ×ªÈ¦  ¡£

ÕâÖÖÎÞÁ¦¸Ð £¬ÈªÔ´ÍùÍù²»ÔÚÓÚÓ²¼þ²»·óÇ¿ £¬¶øÔÚÓڵײã¼Ü¹¹µÄ¡°»ùÒòȱÏÝ¡±  ¡£¹Å°åµÄNginxÉèÖÃÔÚ´¦Öóͷ£º£Á¿Ð¡Îļþ»ò¾²Ì¬ÍøÒ³Ê±ÓÎÈÐÓÐÓà £¬µ«ÔÚÃæÁٸ߱È?ÌØÂÊ¡¢¸ß¶¯Ì¬ÌØÕ÷µÄÊÓÆµÁ÷Êý¾Ýʱ £¬ÍùÍù»áÏÔµÃ×óÖ§ÓÒç©  ¡£ÕýÊÇÔÚÕâÑùµÄÅä¾°Ï £¬¡°nginx100vide100¡±×÷Ϊһ¸öÉñÃØµÄÐÔÄÜ´úºÅ £¬×îÏÈÔڸ߶ËÊÖÒÕȦÄÚÇÄÈ»Èö²¥?  ¡£

Ðí¶àÈ˶¼ÔÚÎÊ £¬Õâ¸öËùνµÄ¡°100vide100¡±¾¿¾¹ÊÇʲô£¿ËüÊÇÒ»Ì×ÌØÊâµÄ±àÒëÄ£¿é £¬ÕÕ¾ÉÒ»ÖÖ¸ïÃüÐÔµÄ?»º´æ»úÖÆ£¿

×Åʵ £¬nginx100vide100²¢·Ç¼òÆÓµÄ²å¼þµþ¼Ó £¬Ëü´ú±íµÄÊÇÒ»ÖÖ¡°È«Á´Â·ÎÞËð´«Ê䡱µÄÕÜѧ  ¡£ÔڹŰåµÄNginx´¦Öóͷ£Âß¼­ÖÐ £¬Êý¾Ý°ü´ÓÍø¿¨½øÈë £¬¾­ÓÉÄں˿ռä £¬ÔÙµ½Óû§¿Õ¼äµÄNginxÀú³Ì £¬×îºó·¢Íù¿Í»§¶Ë  ¡£Õâʱ´úµÄ¶à´ÎÄÚ´æ?¿½±´£¨ContextSwitching£©Êǵ¼Ö¸߲¢·¢ÏÂCPUì­ÉýµÄÔªÐ×  ¡£

¶ø¡°nginx100vide100¡±µÄ·ºÆð £¬±¾?ÖÊÉÏÊǶÔNginxµ×²ã¼Ü¹¹µÄÒ»´ÎÈ«·½Î»¡°ÊÖÊõ¼¶¡±ÖØËÜ  ¡£Ëü²»µ«½öÊǹØÓÚ²¢·¢ £¬¸üÊǹØÓÚ¾«×¼µÄ×ÊÔ´µ÷Àí¡¢ºÁÃë¼¶µÄÏìÓ¦Âß¼­ÒÔ¼°¶Ô´ø?¿íѹÁ¦µÄ¼«Ö¶Գå  ¡£

½â¹¹½¹µã£ºÎªÊ²Ã´ÊÇNginxÔÚ½ç˵¡°100vide100¡±£¿

ÔڹŰåµÄ¼Ü¹¹ÖÐ £¬·þÎñÆ÷ÍùÍùÔÚ´¦Öóͷ£º£Á¿Ð¡ÎļþʱÌåÏÖÓÅÒì £¬Ò»µ©ÃæÁÙ¶¯éüÊýGBµÄÊÓÆµÁ÷ £¬ÍùÍù»áÏÝÈëI/OÆ¿¾±»òÄÚ´æÒç³öµÄÄà̶  ¡£Ö®ÒÔÊÇÌá³ö¡°nginx100vide100¡±µÄ¿´·¨ £¬ÊÇÓÉÓÚËüÉî¶ÈʹÓÃÁËNginxµÄÊÂÎñÇý¶¯£¨Event-driven£©Ä£×Ó  ¡£

ÓëApacheµÈ¹Å°åµÄÀú³ÌÇý¶¯Ä£Ê½²î±ð £¬NginxÔÚ´¦Öóͷ£ÊÓÆµÇëÇóʱ £¬¾ÍÏñÒ»¸ö¼«ÆäÀä¾²ÇÒ¸ßЧµÄÖ¸»Ó¹Ù £¬Ëü²»»áΪÿһ¸öÇëÇó·ÖÅÉÌÚ¹óµÄϵͳ×ÊÔ´ £¬¶øÊÇͨ¹ýÒì²½?·ÇÛձյķ½·¨ £¬ÈóÉ?ǧÉÏÍò¸öÊÓÆµÁ÷ÔÚͳһʱ¼äÄÚÓÐÐò´©Ëó  ¡£

¡°100¡±Õâ¸öÊý×ÖÔÚÉñÃØÆÊÎöÖÐÓÐ×ÅË«ÖØ¼ÄÒ壺һÊÇ¡°100%µÄÎȹÌÐÔ¡± £¬¶þÊÇ¡°°Ù?Õ×¼¶µÄÍÌÍÂЧÂÊ¡±  ¡£ÔÚ100vide100µÄÂß¼­Ï £¬Nginx±»¸¶ÓëÁ˸üÖÇÄܵÄÇÐÆ¬¹ÜÀíÄÜÁ¦£¨HLS/DASH£©  ¡£ÏëÏóһϠ£¬Ò»¸ö³¬¸ßÇåÊÓÆµ±»ÇзֳÉ?ÎÞÊý¸öϸСµÄ?Ë鯬 £¬¶øNginxͨ¹ýÄڴ滺´æºÍ´ÅÅÌÔ¤¶ÁµÄÍêÉÆÅäºÏ £¬È·±£Ã¿Ò»Æ¬¶¼ÄÜÔÚÓû§²¥·ÅÆ÷ÐèÒªËüµÄǰһºÁÃë £¬¾«×¼ËÍ´ï  ¡£

Çå¾²·ÀµØ£ºÔÚÍòÕɸßÂ¥ÉϼÓ×°Îȹ̵ϤÀ¸

¸ß²¢·¢´øÀ´µÄ²»µ«ÊÇÐÔÄÜѹÁ¦ £¬ÉÐÓÐÇ徲Σº¦  ¡£¶ñÒâµÁÁ´¡¢DDoS¹¥»÷ÊÇÊÓÆµÆ½Ì¨µÄ¶ñÃÎ  ¡£ÔÚnginx100vide100µÄÉñÃØÆÊÎöÖÐ £¬ÎÒÃÇ¿´µ½ÁËÒ»Ì×ÑÏÃܵķÀµÁ?Á´»úÖÆ£¨SecureLink£©  ¡£Ëü²»µ«½öÊǼòÆÓµÄReferer¼ì²é £¬¶øÊÇÍŽáÁËʱ¼ä´Á¡¢¿Í»§¶ËIPºÍÃÜÔ¿µÄ?¶¯Ì¬MD5¹þϣУÑé  ¡£

ÕâÖÖ¡°Ò»´ÎÒ»ÃÜ¡±µÄÆÊÎöÂß¼­ £¬Èò»·¨ÊÕÂÞÕßÍû¶øÈ´²½ £¬È·±£ÁË´ø¿í×ÊÔ´±»ÓÃÔÚÕæÕýµÄ?Óû§ÉíÉÏ  ¡£

Õë¶Ô´óÁ÷Á¿ÏµÄÅþÁ¬ÆµÂÊÏÞÖÆ£¨limit_req£©ºÍ´øÍÑÆÚÖÆ£¨limit_rate£© £¬nginx100vide100½ÓÄÉÁËÒ»ÖÖÃûΪ¡°õ辶ʽÏÞËÙ¡±µÄÕ½ÂÔ  ¡£ÔÚÊÓÆµ×îÏȲ¥·ÅµÄǰ¼¸Ãë £¬²»?ÏÞËÙÒÔʵÏÖÃ뿪£»½øÈëÎȹ̲¥·ÅÆÚºó £¬×Ô¶¯ÏÞËÙÖÁÂëÂʵÄ1.5±¶  ¡£

ÕâÖÖÈËÐÔ»¯µÄµ÷Àí £¬¼È°ü¹ÜÁËÓû§ÌåÑé £¬ÓÖ¼«´óµØ½ÚÔ¼ÁË·þÎñÆ÷µÄ³ö¿Ú´ø¿í £¬¸æ¿¢ÁËÐÔÄÜÓ뱾Ǯ?µÄÍêÉÆÆ½ºâ  ¡£

2.»º´æÕ½ÂÔ£ºÈÃÈÈÃÅÄÚÈÝ¡°´¥Êֿɼ°¡±

ä¯ÀÀÆ÷»º´æ£ºÊ¹ÓÃexpiresºÍCache-ControlµÈHTTPÍ· £¬Ö¸µ¼?ä¯ÀÀÆ÷»º´æ?ÊÓÆµÎļþ  ¡£µ±Óû§Ôٴλá¼ûʱ £¬¿ÉÒÔÖ±½Ó´ÓÍâµØ¼ÓÔØ £¬ËÙÂÊ·É¿ì  ¡£Nginx´Å?ÅÌ»º´æ£¨proxy_cache£©£º¹ØÓÚÎÞ·¨Ö±½Óͨ¹ýCDNÁýÕÖµÄÔ´Õ¾ £¬Nginx¿ÉÒÔÉèÖÃproxy_cacheÖ¸Áî £¬½«´Óºó¶Ë·þÎñÆ÷»ñÈ¡µÄÊÓÆµÄÚÈÝ»º´æµ½ÍâµØ´ÅÅÌ  ¡£

Õâ¹ØÓÚÈÈÃÅÊÓÆµµÄÖØ¸´²¥·ÅЧÂÊÌáÉýÖØ´ó  ¡£Í¨¹ýproxy_cache_key¡¢proxy_cache_validµÈÖ¸Áî £¬¿ÉÒÔϸÄ廯¿ØÖÆ»º´æµÄÌìÉú?ºÍʧЧսÂÔ  ¡£CDN¼¯³É£ºÔÚÏÖʵ°²ÅÅÖÐ £¬Nginxͨ³£×÷ΪCDNµÄ±ßÑØ½Úµã»òÕßÓëCDNÅäºÏʹÓà  ¡£

NginxµÄ¸ßÐÔÄÜÄܹ»ºÜºÃµØ³ÐÔØCDNÁ÷Á¿ £¬ÅäºÏCDNµÄÈ«Çò½ÚµãÂþÑÜ £¬½«ÊÓÆµÄÚÈÝÍÆË͵½ÀëÓû§×î½üµÄµØ·½ £¬ÊµÏÖÕæÕýµÄ¡°½üˮ¥̨¡±  ¡£

´Ó»ìãçµ½ÖÈÐò £¬Ì½Ñ°nginx100vide100µÄµ×²ãÂß¼­

ÔÚÕâ¸öÐÅÏ¢±¬Õ¨µÄʱ´ú £¬ÊÓÆµÒÑÈ»³ÉΪÁË»¥ÁªÍøµÄ¡°Ó²Í¨»õ¡±  ¡£ÎÞÂÛÊǶÌÊÓÆµµÄÖ¸¼â»®¶¯ £¬Õվɳ¬¸ßÇåÖ±²¥µÄʵʱ½»»¥ £¬Óû§¶Ô¡°Ë¿»¬¡±¶þ×ÖµÄ×·ÇóÏÕЩµ½ÁËÆ«Ö´µÄÌïµØ  ¡£¶øÔÚÕâÒ»Çз±»ªÇéÐεı³ºó £¬ÓÐÒ»¸öÃû×ÖʼÖÕÊÎÑÝ×Å¡°ÒþÐιھü¡±µÄ½ÇÉ« £¬ÄǾÍÊÇnginx100vide100  ¡£

Õâ²»µ«½öÊÇÒ»¸ö¼òÆÓµÄÃüÃû×éºÏ £¬Ëü´ú±íµÄÊÇÒ»ÖÖ½«NginxµÄ¼«Ö´¦Öóͷ£ÄÜÁ¦Óë100%ÊÓÆµÎÞËð´«ÊäÄ¿µÄÏàÍŽáµÄáÛ·åÕÜѧ  ¡£

ÒªÆÊÎönginx100vide100µÄÉñÃØ £¬ÎÒÃÇÊ×ÏÈÒªÃæÁÙµÄÊÇÊÓÆµ´«ÊäÖеġ°²»¿ÉÄÜÈý½Ç¡±£º¸ßÇåÎú¶È¡¢µÍÑÓ³ÙÓ뼫µÍ´ø¿í±¾Ç®  ¡£¹Å°åµÄ·þÎñÆ÷¼Ü¹¹ÔÚÃæÁÙº£Á¿²¢·¢ÇëÇóʱ £¬ÍùÍù»á·ºÆðÄÚ´æÒç³ö»òCPU¹ýÔØ £¬µ¼ÖÂÓû§¶Ë·ºÆðÁîÈË×¥¿ñµÄתȦȦ  ¡£¶ønginx100vide100µÄ·ºÆð £¬ÊµÖÊÉÏÊǶÔNginxÊÂÎñÇý¶¯¼Ü¹¹µÄ?Ò»´ÎÉî¶È¡°»ùÒòˢС±  ¡£

Ëü²»µ«½öÊÇÔÚÅÜ´ú?Âë £¬¶øÊÇÔÚ¾«×¼µØ²Ù¿ØÃ¿Ò»±ÈÌØÊý¾ÝµÄÁ÷¶¯  ¡£

µ±ÎÒÃÇ̸ÂÛnginx100vide100ÉñÃØÆÊÎöʱ £¬ÈôÊÇÖ»¶¢×ÅÉèÖÃÎļþµÄ²Î?Êý £¬ÄǾÍÌ«ÏÁ°¯ÁË  ¡£ÕâÒ»¼Ü¹¹µÄ·ºÆð £¬ÏÖʵÉϱê¼Ç×ÅÆóÒµÊý×Ö»¯ÄÜÁ¦µÄ·ÖË®Áë  ¡£ÔÚ¾ºÕù°×ÈÈ»¯µÄ»¥ÁªÍøÏ°볡 £¬Ë­ÄܸüµÍ³ÉÍâµØ³ÐÔØÁ÷Á¿ £¬Ë­¾ÍÓµÓÐÁ˶¨¼ÛȨ  ¡£

½ÓÄÉnginx100vide100Âß¼­µÄÆóÒµ £¬ÆäÔËά±¾Ç®Í¨³£ÄÜϽµ30%ÒÔÉÏ  ¡£ÕâÒâζ×ÅÔ­±¾ÐèÒª100̨·þÎñÆ÷Ö§³ÖµÄÓªÒµ £¬ÏÖÔÚ¿ÉÄÜÖ»ÐèÒª30̨ÉõÖÁ¸üÉÙ £¬ÇÒÓû§ÌåÑé¸ü¼Ñ  ¡£ÕâÖÖ¡°ÒÔÒ»µ±Ê®¡±µÄÄÜÁ¦ £¬ÈÃÊ×´´¹«Ë¾Äܹ»ÌôÕ½¾ÞÍ· £¬ÈùŰåÆóÒµÄܹ»ÔÚתÐÍÀ˳±ÖпìËÙÕ¾ÎȽŸú  ¡£

ÉñÃØÆÊÎöµÄ×îÖÕÖ¸Ïò £¬ÊǹØÓÚ¡°ÐÅÈΡ±µÄ½¨Éè  ¡£µ±Óû§·¢Ã÷ÄãµÄÊÓÆµÓÀÔ¶Ã뿪¡¢ÄãµÄÒ³ÃæÓÀÔ¶Á÷ͨ¡¢ÄãµÄ·þÎñÔÚÈκμ«¶ËÇéÐÎ϶¼ËÑË÷¼´µÃʱ £¬Æ·ÅÆÖҳ϶ȱãËæÖ®±¬·¢  ¡£nginx100vide100²»µ«½öÊÇÒ»Ì×ÓÅ»¯¼Æ»® £¬Ëü¸üÏñÊÇһöǿÐļÁ £¬×¢Èëµ½ÆóÒµµÄÿһ¸öÓªÒµ»·½ÚÖÐ £¬ÈÃÔ­±¾ËÀ°åµÄ´úÂëת»¯ÎªÊµ×ÅʵÔÚµÄÉÌÒµÀûÈó  ¡£

Óû§ÌåÑéµÄ¡°ºûµûЧӦ¡±£º¿ì £¬²»Ö¹Ò»µãµã

ÏëÏóһϠ£¬µ±Óû§Âú»³ÆÚ´ýËùÔÚ»÷Ò»¸öÊÓÆµÁ´½Ó £¬ÈôÊÇÓ­½ÓËûµÄ?ÊÇÒ»¸öÂþ³¤µÄ¼ÓÔØ¶¯»­ £¬»òÕßʱʱʱ·ºÆðµÄ¿¨¶Ù¡¢»­ÃæÄ£ºý £¬×ÝÈ»ÊÓÆµÄÚÈÝ×Ô¼ºÔÙ¾«²Ê £¬Óû§µÄÄÍÐÄÒ²»áÔÚ¶Ìʱ¼äÄÚÏûºÄ´ù¾¡  ¡£Õâ¾ÍÊÇÐÔÄÜÆ¿¾±´øÀ´µÄ¡°ºûµûЧӦ¡±  ¡£¡°Nginx100%Video¡±µÄ½¹µãÄ¿µÄ £¬ÕýÊÇÒªÏû³ýÕâÖÖ¸ºÃæÐ§Ó¦ £¬Ó᰿족À´Õ÷·þÓû§  ¡£

¡°Ã뿪¡±µÄħÁ¦£ºÍ¨¹ýÇ°ÃæÌáµ½µÄCDN°²ÅÅ¡¢´ÅÅÌ»º´æÒÔ¼°HTTP/2µÈÓÅ»¯ £¬NginxÄܹ»½«ÊÓÆµµÄÊ״μÓÔØÊ±¼äËõ¶Ìµ½ºÁÃë¼¶±ð £¬ÉõÖÁʵÏÖ¡°Ã뿪¡±  ¡£ÕâÖÖ¼´µã¼´²¥µÄÌåÑé £¬Äܹ»¼«´óµØÌáÉýÓû§µÄÖª×ã¶ÈºÍÁô´æÂÊ  ¡£Óû§²»ÔÙÐèÒªÆÚ´ý £¬ËûÃÇ¿ÉÒÔÖ±½Ó½øÈëÄÚÈݵÄÌìÏ £¬ÏíÊÜԢĿµÄÐËȤ  ¡£

Ë¿»¬µÄ²¥·Å£º¹ØÓÚ¶¯Ì¬Ë³Ó¦ÐÔÁ÷ýÌ壨DASH/HLS£© £¬NginxµÄ¸ßЧ·ÖƬ´«ÊäÄÜÁ¦ÖÁ¹ØÖ÷Òª  ¡£ËüÄܹ»È·±£ÊÓÆµ·ÖƬÒÔ¼«µÍµÄÑÓ³Ù±»À­È¡²¢×ª´ï¸ø²¥·ÅÆ÷ £¬²¥?·ÅÆ÷Ò²Äܹ»Æ¾Ö¤ÍøÂç״̬ƽ»¬µØÇл»ÂëÂÊ £¬×èÖ¹ÁË¿¨¶ÙºÍ»­ÃæÖÊÁ¿Öè½µ  ¡£Óû§Äܹ»¸ÐÊܵ½µÄÊÇÒ»Á¬Ò»Ö±µÄÁ÷ͨ»­Ãæ £¬ÓÌÈçÔÚӰϷԺԢĿ¸ßÇåӰƬ  ¡£

µÚÒ»²ãÆÊÎö£ºÍ»ÆÆÄ¾Í°Ð§Ó¦µÄ¼Ü¹¹ÖØ×é

Ϊʲô´ó´ó¶¼ÏµÍ³ÔÚÃæÁÙÍ»·¢Á÷Á¿Ê±»áÍ߽⣿ÃÕµ×ÍùÍù²»ÔÚÓÚÓ²¼þ²»·óǿʢ £¬¶øÔÚÓÚÈí¼þ²ãÃæµÄ¡°Ä¾Í°¶Ì°å¡±  ¡£¹Å°åµÄNginxÉèÖÃËäÈ»ÓÅÒì £¬µ«ÔÚÓ¦¶ÔÏÖ´úÖØ´óµÄ¶¯Ì¬ÄÚÈݺͳ¬´ó¹æÄ£ÊÓÆµ·Ö·¢Ê± £¬ÍùÍù»áÏÝÈëÄÚºË̬ÓëÓû§Ì¬ÆµÈÔÇл»µÄÄà̶  ¡£

nginx100vide100µÄ½¹µãÉñÃØÖ®Ò» £¬ÔÚÓÚÆä¶Ô¡°·ÇÛÕ±ÕI/O¡±µÄÖØÐ½ç˵  ¡£ÔÚÕâÒ»¼Ü¹¹Ï £¬Ã¿Ò»ÌõÖ¸Áÿһ¸öÊý¾Ý°üµÄÁ÷ת¶¼¾­ÓÉÁËϸÃÜÅÌËã  ¡£Ëü²»Öª×ãÓÚ±ê×¼µÄÊÂÎñÇý¶¯Ä£×Ó £¬¶øÊÇÒýÈëÁËÉî¶È¶¨ÖƵÄÄÚ´æ¹ÜÀí»úÖÆ  ¡£Í¨¹ý¶Ô»º´æ²ã¼¶µÄϸÄ廯²ð·Ö £¬nginx100vide100Äܹ»ÈÃ¸ßÆµ»á¼ûµÄÊÓÆµÆ¬¶Ï³£×¤ÓÚ×î¿¿½üCPUµÄ´æ´¢ÇøÓò £¬´Ó¶øÊµÏÖ½üºõÁãÑӳٵĶÁÈ¡  ¡£

ÕâÖּܹ¹µÄ÷ÈÁ¦ÔÚÓÚ £¬Ëü½«¡°100¡±Õâ¸öÊý×Ö¾ßÏó»¯ÎªÁËÎÈ¹Ì  ¡£ÎÞÂÛÊÇÔÚÆÆÏþÈýµãµÄÁ÷Á¿µÍ¹È £¬ÕÕ¾ÉÔÚÈ«ÍøÖ±²¥µÄáÛ·åʱ¿Ì £¬ÏµÍ³ÌåÏÖ³öµÄÇúÏßʼÖÕÆ½»¬Èç¾µ  ¡£ÕâÖÖ¶Ô²¨·åÀ˹ȵļ«Ç¿¿ØÖÆÁ¦ £¬ÕýÊÇ¡°nginx100vide100¡±Äܹ»´ÓÒ»ÖÚÓÅ»¯¼Æ»®ÖÐÍÑÓ±¶ø³öµÄ»ù´¡?Ôµ¹ÊÔ­ÓÉ  ¡£

ËüÄܾ«×¼Õ¹ÍûÄÄЩÊÓÆµÆ¬¶Ï½«³ÉΪ±¬¿î £¬²¢Ìáǰ½«Æä¡°Ëø¡±ÔÚ×î¿¿½üÓû§µÄλÖà  ¡£ÕâÖÖ¶ÔÓû§ÐÐΪµÄÔ¤ÅÐ £¬ÕýÊǸÃϵͳÖС°ÉñÃØÆÊÎö¡±µÄ½¹µã¼ÛÖµËùÔÚ  ¡£

100vide100²»µ«½ö¹ØºõËÙÂÊ £¬¸ü¹ØºõÈÍÐÔ  ¡£ÔÚÖØ´óµÄÍøÂçÇéÐÎÏ £¬¶ª°üºÍ²ü¶¶ÊDz»¿É×èÖ¹µÄ  ¡£NginxÔÚÕâÀïÊÎÑÝÁËÒ»¸öϸÃܵġ°µ÷Òôʦ¡±  ¡£Í¨¹ý¶ÔTCP¿ÍÕ»µÄ΢µ÷ £¬ºÃ±È¶¯Ì¬µ÷½âÓµÈû¿ØÖÆËã·¨£¨BBR£©ÒÔ¼°Ï¸Ä廯µÄ³¬Ê±ÖØÊÔÕ½ÂÔ £¬100vide100È·±£ÁË×ÝÈ»ÔÚÍøÂçÖÊÁ¿Ôã¸âµÄÇéÐÎÏ £¬ÊÓÆµÁ÷ÒÀÈ»ÄÜÏñË®Á÷Ò»Ñù˳»¬  ¡£

Õâ²»µ«½öÊÇÊÖÒÕµÄ?¶Ñµþ £¬¸üÊǶÔÓû§ÌåÑé×îÉî³ÁµÄÃ÷È·  ¡£µ±ÎÒÃÇÔÚÆÁĻǰÏíÊÜÄÇÖÖ¡°Ã뿪¡±µÄ¿ì¸Ðʱ £¬ÕýÊÇnginx100vide100ÔÚºǫ́ĬĬµØÍê³É?ÁËÒ»³¡¾ªÐ͝ÆÇµÄ×ÊÔ´µ÷Àí  ¡£

Éî¶ÈÁ¶½ðÊõ£º´ÓÄÚºËÓÅ»¯µ½CDN·Ö·¢µÄ?100vide100ÊµÕ½ÃØóÅ

ÈôÊÇ˵Part1ÎÒÃÇÕ¹ÏÖÁËnginx100vide100µÄ¹Ç¼Ü £¬ÄÇôPart2ÔòÒªÉîÈëµ½ËüµÄѪҺÓëÁé»ê¡ª¡ªÄÇЩ±»¶¥¼¶¼Ü¹¹Ê¦²ØÔÚ´úÂë×¢ÊÍÀïµÄÊµÕ½ÃØóÅ  ¡£ÒªÕæÕýʵÏÖ100%µÄÊÓÆµ·Ö·¢Éñ»° £¬ÎÒÃÇÐèÒª¾ÙÐеIJ»µ«ÊÇÉèÖõÄÐÞ²¹ £¬¶øÊÇ´ÓÄں˵½Ó¦ÓòãµÄÖÜÈ«¡°Á¶½ð¡±  ¡£

ÈôÊÇ˵µÚÒ»²¿·ÖÊÇÔÚ¹¹½¨ÐÛΰµÄ´óÏà £¬ÄÇôµÚ¶þ²¿·ÖÔòÊǸö¹ØÓÚ¡°¾«µñϸ×Á¡±µÄ¹ÊÊ  ¡£nginx100vide100Ö®ÒÔÊDZ»³ÆÎª¡°ÉñÃØÆÊÎö¡± £¬ÊÇÓÉÓÚËüÔÚÐí¶à²»ÎªÈËÖªµÄϸ½ÚÉÏ×öÁË¡°½µÎ¬¹¥»÷¡±Ê½µÄÓÅ»¯  ¡£

Ê×µ±Æä³åµÄÊÇÆä¶Ô´ÅÅÌI/OµÄ¾«Ãî¿ØÖÆ  ¡£ÔÚÊÓÆµ·þÎñÖÐ £¬ÆµÈԵĶÁд²Ù×÷ÊÇÓ²¼þµÄɱÊÖ  ¡£nginx100vide100ÒýÈëÁË¡°Á㿽±´¡±£¨Zero-copy£©ÊÖÒÕ £¬Í¨¹ýsendfileϵͳŲÓà £¬Ö±½ÓÔÚÄں˿ռäÍê³ÉÊý¾Ý´«Êä £¬ÈƹýÁËÓû§¿Õ¼äµÄÄڴ濽±´  ¡£

ÕâÒ»²½¿´ËÆÏ¸Ð¡ £¬µ«Ôڸ߲¢·¢³¡?¾°Ï £¬ËüʡϵÄCPUÖÜÆÚ×ãÒÔÖ§³ÖÆðÌØÊâ30%µÄÁ÷Á¿¸ºÔØ  ¡£Õâ¼´ÊÇ¡°100¡±ÏµÁÐÖйØÓÚЧÄÜת»¯µÄ½¹µãÉñÃØÖ®Ò»  ¡£

½Ó×ÅÊÇÆä¶ÀÊ÷Ò»Öĵġ°ÏÞËÙËã·¨¡±  ¡£Äã¿ÉÄÜ»áÎÊ £¬ÎªÊ²Ã´ÒªÏÞËÙ£¿ÔÚÊÓÆµÐÐÒµ £¬´ø¿í¾ÍÊÇ¿î×Ó  ¡£nginx100vide100²¢Ã»ÓнÓÄɼòÆÓ´Ö±©µÄÇжÏÅþÁ¬ £¬¶øÊǽÓÄÉÁËÒ»ÖÖ¡°ÁîÅÆÍ°¡±Ëã·¨µÄ±äÌå £¬ÊµÏÖÁËϸÄ廯µÄÁ÷Á¿ÕûÐÎ  ¡£ËüÄÜÆ¾Ö¤Óû§µÄԢĿ½ø¶È¶¯Ì¬·ÖÅÉ´ø¿í£ºÆðʼ½×¶Î¸øÓ豬·¢ÐÔËÙÂÊÒÔʵÏÖÃ뿪 £¬½øÈëÎȹ̲¥·ÅÆÚºóÔòƽ»¬Êä³ö  ¡£

ÕâÖָıä¾ÍÏñÊÇÔ­±¾ÐèÒªÖÐתÈý´ÎµÄ¿ìµÝ £¬ÏÖÔÚÓÐÁËÖ±´ïרÏß  ¡£ÔÙÅäºÏaio£¨Òì²½I/O£©ÒÔ¼°directio £¬ÊÓÆµÎļþÔÚ¶Áȡʱ²»»áÛÕ±ÕWorkerÀú³Ì £¬´Ó¶øÊͷųö¾ªÈ˵Ĵ¦Öóͷ£Ç±ÄÜ  ¡£

½Ó×ÅÊÇÕë¶ÔHLS£¨HTTPLiveStreaming£©»òDASHÕâÖÖ·Ö¶ÎÁ÷ýÌåЭÒéµÄרÏîÓÅ»¯  ¡£nginx100vide100ÆÊÎöÖаüÀ¨ÁËÒ»ÌׯæÒìµÄÇÐÆ¬»º´æÂß¼­  ¡£ËüÄܹ»ÖÇÄÜʶ±ðË÷ÒýÎļþ£¨.m3u8£©ÓëÊý¾Ý·ÖƬ£¨.ts£© £¬²¢¸øÓè²î±ðµÄ»º´æÓÅÏȼ¶  ¡£

Ë÷ÒýÎļþ¼«Ð¡ÇÒ»á¼ûƵÈÔ £¬Ëü»á±»³£×¤ÔÚ×î¿ìµÄ?ÄÚ´æ²ã£»¶øÖØ´óµÄÊý¾Ý·ÖƬÔòƾ֤ÈȶȾÙÐж¯Ì¬Öû»  ¡£ÕâÖֲ㼶Ã÷È·µÄ´æ´¢?Õ½ÂÔ £¬È·±£ÁË×ÝÈ»ÔÚÊýÍòÈËͬʱÔÚÏßÇÀ¿´×îо缯ʱ £¬Ò²²»»á±¬·¢ÓÉÓÚ´ÅÅÌI/OÅŶӵ¼ÖµÄÏìÓ¦ÑÓ³Ù  ¡£

ÔÚÇå¾²ÐÔÓëÐÔÄܵį½ºâÉÏ £¬nginx100vide100Ò²ÓÐ×ŶÀµ½µÄ¿´·¨  ¡£Ëæ×ÅHTTPSµÄÆÕ¼° £¬TLSÎÕÊÖÍùÍù³ÉÁËÍÏÀÛËÙÂʵÄÔªÐ×  ¡£nginx100vide100ÍÆÐíʹÓÃ×îеÄTLS1.3ЭÒé £¬²¢¿ªÆôSessionResumption£¨»á»°»Ö¸´£©  ¡£

ÊÓ¾õ²ãÃæµÄ½ø»¯£ºvide100µÄ?Éî¶È¼Ó³Ö

ÔÚÆÊÎö¡°vide100¡±ÕâÒ»ÌØ¶¨ºó׺ʱ £¬ÎÒÃDz»µÃ²»Ìáµ½Ëü¶ÔÁ÷ýÌå´¦Öóͷ£µÄ¸ïÃüÐÔТ˳  ¡£ÔڹŰåµÄÊÓÆµ´«ÊäÖÐ £¬Ð­ÒéÎÕÊÖ¡¢·ÖƬ¼ÓÔØ¡¢±àÂëת»»ÍùÍùÕ¼ÓÐÁË´ó×ÚµÄÅÌË㿪Ïú  ¡£nginx100vide100ͨ¹ýÄÚÖõÄÖÇÄÜ·ÖÆ¬Õ½ÂÔ £¬Äܹ»Ô¤ÅÐÓû§µÄԢĿÐÐΪ  ¡£

ÏëÏóһϠ£¬µ±Ò»¸öÓû§µã»÷²¥·Åʱ £¬ÏµÍ³ÒѾ­Æ¾Ö¤Ä¿½ñµÄ´ø¿íÇéÐκÍÖÕ¶Ë×°±¸ £¬Ô¤ÏÈÔÚ±ßÑØ½Úµã×¼±¸ºÃÁË×îÊʺϵÄÄÇ100¸öÒªº¦Ö¡  ¡£ÕâÖÖ¡°Ô¤¸ÐÖª¡±ÄÜÁ¦ £¬Ê¹µÃÊÓÆµÆð²¥ËÙÂÊÌáÉýÁËÊý±¶  ¡£Ëü²»ÔÙÊDZ»¶¯µØ?ÏìÓ¦ÇëÇó £¬¶øÊÇ×Ô¶¯µØÒýÁìÁ÷Á¿  ¡£ÕâÖÖ´Ó±»¶¯µ½×Ô¶¯µÄת»» £¬ÕýÊÇ¡°nginx100vide100¡±ÉñÃØÂß¼­ÖÐ×î¾ßÉÌÒµ¼ÛÖµµÄÒ»»·  ¡£

Ëü²»µ«½ÚÔ¼ÁËÌÚ¹óµÄ´ø¿í±¾Ç® £¬¸üÔÚÎÞÐÎÖÐ׽סÁËÓû§×ªË²¼´ÊŵÄ×¢ÖØÁ¦  ¡£

Õâ¹ØÓÚÖ±²¥ºÍµã²¥?³¡¾°¶¼¼«ÎªÖ÷Òª  ¡£Á㿽±´£¨Zero-Copy£©ÊÖÒÕ£ºÔÚLinuxÄÚºËÖÐ £¬Nginx¿ÉÒÔʹÓÃsendfile()ϵͳŲÓÃʵÏÖÁ㿽±´  ¡£ÕâÒâζ×Å £¬ÔÚ½«ÊÓÆµÎļþ´Ó´ÅÅÌ·¢Ë͵½ÍøÂçʱ £¬Êý¾ÝÎÞÐè¾­ÓÉÓû§¿Õ¼äºÍÄں˿ռäÖ®¼äµÄ¶à´Î¿½±´ £¬Ö±½ÓÔÚÄں˿ռäÍê³É´«?Êä  ¡£

Õ⼫´óµØïÔÌ­ÁËCPUµÄ¿ªÏúºÍÄڴ濽±´µÄ´ÎÊý £¬ÏÔÖøÌá¸ßÁËÎļþ´«ÊäµÄЧÂÊ £¬ÓÈÆäÊÇÔÚ´óÎļþ´«Ê䳡¾°Ï £¬Ð§¹û¸üΪÏÔÖø  ¡£Ë³Ó¦ÐÔÁ÷ýÌåЭÒéµÄÖ§³Ö£ºÏÖ´úÊÓÆµ´«ÊäÆÕ±é½ÓÄÉ˳ӦÐÔ±ÈÌØÂÊÁ÷ýÌ壨AdaptiveBitrateStreaming,ABS£©ÊÖÒÕ £¬ÈçHLS(HTTPLiveStreaming)ºÍDASH(DynamicAdaptiveStreamingoverHTTP)  ¡£

ÕâЩÊÖÒÕÔÊÐí·þÎñÆ÷ƾ֤¿Í»§¶ËµÄÍøÂç״̬ºÍ×°±¸ÄÜÁ¦ £¬¶¯Ì¬µØÍÆËͲî±ðÖÊÁ¿µÄÊÓÆµÁ÷ £¬´Ó¶øÌṩ¸üÁ÷ͨµÄԢĿÌåÑé  ¡£Nginx¿ÉÒÔͨ¹ýÏìÓ¦µÄÄ£¿é£¨Èçngx_http_hls_module»òͨ¹ýµÚÈý·½Ä£¿é£©À´Ö§³ÖÕâЩЭÒé £¬¾ÙÐÐÊÓÆµ·Ö¶Î¡¢ÌìÉú?²¥·ÅÁÐ±í£¨M3U8/MPD£© £¬²¢ÓÐÓõؽ«ÕâЩýÌåÇÐÆ¬·Ö·¢¸ø¿Í»§¶Ë  ¡£

Ëü½â¾öÁËÍ·²¿ÛÕ±ÕÎÊÌâ £¬ÊµÏÖÁËÕæÕýµÄ¶à·¸´Óà  ¡£ÕâÒâζ׿´±ãÄãÔÚÐźŲ»¼ÑµÄµØÌúÉÏ £¬nginx100vide100¼Ü¹¹ÏµÄÊÓÆµÓ¦ÓÃÒÀÈ»ÄÜÈÃÄãÏíÊܵ½Ë¿»¬µÄԢĿÌåÑé  ¡£

×ܽáÀ´Ëµ £¬nginx100vide100ÉñÃØÆÊÎöµÄ½¹µã £¬²»ÔÚÓÚijһ¸öÌØ¶¨µÄ²ÎÊý £¬¶øÔÚÓÚÆäÈ«·½Î»µÄЭͬ£º´ÓÄں˼¶µÄÁ㿽±´µ½Ó¦ÓòãµÄЭÒé·Ö·¢ £¬´ÓϸÄåµÄÁ÷Á¿¿ØÖƵ½Ç°Õ°ÐÔµÄЭÒéÖ§³Ö  ¡£ÕýÊÇÕâЩÉñÃØµÄ?½»Ö¯ £¬×é³ÉÁËÖ§³ÖÆðÕâ¸öÊÓ¾õʱ´úµÄ¸ÖÌú¼¹Áº  ¡£µ±?ÄãÏ´ÎÔÙ̾ϢÊÓÆµµÄÁ÷ͨÓëÇåÎúʱ £¬Çë¼ÇµÃ £¬ÔÚ´úÂëµÄ?º£ÑóÀï £¬NginxÕýÈçһλ¹Â¿à¶øÇ¿Ê¢µÄÊØ»¤Õß £¬Ä¬Ä¬µØÆÊÎö×Åÿһ¶ÎÊý¾Ý £¬ÎªÎÒÃDZàÖ¯×ÅÕâ¸öè­è²µÄ?Êý×ÖÌìÏ  ¡£

¼à¿ØÓëÒ»Á¬ÓÅ»¯£ºÈ·±£ÐÔÄܵġ°100%¡±

¡°100%ÊÓÆµ100%iÐÔÄÜ¡±²¢·ÇÒ»õí¶ø¾Í £¬¶øÊÇÐèÒª³Ö?ÐøµÄ¼à¿ØºÍÓÅ»¯  ¡£

Nginx״̬¼à¿Ø£ºÊ¹ÓÃstub_statusÄ£¿é»òµÚÈý·½¼à¿Ø¹¤¾ß£¨ÈçPrometheus+Grafana£©À´ÊµÊ±¼à¿ØNginxµÄÅþÁ¬Êý¡¢ÇëÇóÊý¡¢Á÷Á¿¡¢»º´æÖÀÖÐÂʵÈÒªº¦Ö¸±ê  ¡£ÈÕÖ¾ÆÊÎö£º°´ÆÚÆÊÎöNginxµÄ»á¼ûÈÕÖ¾ºÍ¹ýʧÈÕÖ¾ £¬·¢Ã÷DZÔÚµÄÐÔÄÜÆ¿¾±ºÍ¹ýʧ  ¡£

ѹÁ¦²âÊÔ£º°´ÆÚ¾ÙÐÐѹÁ¦²âÊÔ £¬Ä£Äâ¸ß²¢?·¢³¡?¾° £¬ÆÀ¹ÀNginxµÄ³Ð?ÔØÄÜÁ¦ £¬²¢?ƾ֤²âÊÔЧ¹û¾ÙÐÐÏìÓ¦µÄµ÷ÓÅ  ¡£A/B²âÊÔ£ºÔÚ¾ÙÐÐÖØ´óÉèÖõ÷½âʱ £¬¿ÉÒÔ½ÓÄÉA/B²âÊÔµÄÒªÁì £¬½«Á÷Á¿·ÖÁ÷µ½²î±ðÉèÖõÄNginx·þÎñÆ÷ÉÏ £¬Í¨¹ýÊý¾Ý±ÈÕÕÀ´ÑéÖ¤ÓÅ»¯Ð§¹û  ¡£

Part2×ܽ᣺ͨ¹ý¶ÔNginxÉèÖõÄϸÄ廯µ÷ÓÅ £¬°üÀ¨ÊÂÇéÀú³Ì¡¢ÅþÁ¬Êý¡¢»º´æÕ½ÂÔ¡¢Ð­ÒéÖ§³ÖÒÔ¼°TCP/IP²ÎÊýµÄÓÅ»¯ £¬ÎÒÃÇ¿ÉÒÔ¼«´óµØ?ÌáÉýÊÓÆµ´«ÊäµÄЧÂÊ  ¡£½«NginxÓëCDNÊÖÒÕÏàÍŽá £¬¹¹½¨Ò»¸öǿʢµÄÈ«ÇòÊÓÆµ¼ÓËÙÍøÂç £¬¸üÊÇʵÏÖ¡°100%ÊÓÆµ100%iÐÔÄÜ¡±µÄ?Òªº¦  ¡£

2.NginxÔÚÊÓÆµ´«ÊäÖеÄ?Òªº¦ÊÖÒÕÓ¦ÓÃ

NginxµÄǿʢÐÔÄܲ¢·Ç½ö½öÌåÏÖÔÚÆä»ù´¡¼Ü¹¹ÉÏ £¬¸üÔÚÓÚÆä¶ÔÊÓÆµ´«ÊäÒªº¦ÊÖÒÕµÄÉî¶ÈÖ§³ÖºÍÓÅ»¯£º

HTTP/2ºÍHTTP/3µÄ¸³ÄÜ£ºËæ×ÅÍøÂçЭÒéµÄÒ»Ö±Ñݽø £¬HTTP/2ºÍHTTP/3´ø?À´ÁËÏÔÖøµÄ?ÐÔÄÜÌáÉý  ¡£HTTP/2ÒýÈëÁ˶à·¸´Óã¨Multiplexing£©ºÍÍ·²¿Ñ¹Ëõ£¨HeaderCompression£©µÈÌØÕ÷ £¬Äܹ»ÔÚͳһTCPÅþÁ¬ÉÏͬʱ´«Êä¶à¸öÇëÇóºÍÏìÓ¦ £¬´ó´óïÔÌ­ÁËÍøÂçÍù·µ´ÎÊý £¬ÌáÉýÁËÊÓÆµ¼ÓÔØËÙÂÊ  ¡£

HTTP/3¸üÊÇ»ùÓÚQUICЭÒé £¬½øÒ»²½ïÔÌ­ÁËÅþÁ¬½¨Éèʱ¼ä £¬²¢¸ÄÉÆÁËÔÚ²»ÎȹÌÍøÂçÇéÐÎϵĴ«ÊäÐÔÄÜ  ¡£Nginx¶ÔÕâЩÐÂЭÒéÌṩÁËǿʢµÄÖ§³Ö £¬Í¨¹ý¼òÆÓµÄÉèÖü´¿ÉÆôÓà £¬ÎªÊÓÆµ´«Êä´øÀ´Öʵı¼ÌÚ  ¡£Ç¿Ê¢µÄ»º´æ?»úÖÆ£ºÊÓÆµÄÚÈݵĻº´æÖÁ¹ØÖ÷Òª £¬ÓÈÆäÊÇÔÚCDN£¨ÄÚÈÝ·Ö·¢ÍøÂ磩ÇéÐÎÖÐ  ¡£

NginxÌṩÁËÎÞаÇÒ¸ßЧµÄ»º´æÕ½ÂÔ  ¡£Í¨¹ýproxy_cacheÖ¸Áî £¬¿ÉÒÔ½«¶¯Ì¬ÌìÉúµÄÊÓÆµÁ÷»òƵÈÔ»á¼ûµÄÊÓÆµÎļþ»º±£´æNginx·þÎñÆ÷ÉÏ  ¡£µ±Óû§ÔÙ´ÎÇëÇóÏàͬÄÚÈÝʱ £¬Nginx¿ÉÒÔÖ±½Ó´Ó»º´æÖÐÌṩ·þÎñ £¬ÎÞÐè»á¼ûºó¶Ë·þÎñÆ÷ £¬´Ó¶øÏÔÖø½µµÍÑÓ³Ù £¬½ÚÔ¼´ø¿í £¬²¢?¼õÇáºó¶Ë·þÎñÆ÷µÄѹÁ¦  ¡£

½áÓͨÍùδÀ´µÄÊÖÒÕÇÅÁº

ͨ¹ý¶Ônginx100vide100µÄÉî¶ÈÉñÃØÆÊÎö £¬ÎÒÃÇ¿´µ½µÄ²»µ«½öÊÇÒ»¸öÊÖÒÕ²ÎÊýµÄÌáÉý £¬¶øÊÇÒ»´Î¶ÔÊý×ÖÄÚÈÝ´«Êä½çÏßµÄÖØÐ½ç˵  ¡£ÔÚÕâ¸ö¸ßÇåÊÓÆµ³ÉΪ¿ÕÆøºÍˮһÑùµÄ»ù´¡ÉèÊ©µÄ?ÄêÔ £¬Ë­ÄÜÕÆÎÕ¸ü¸ßЧµÄ´«ÊäÃÜÂë £¬Ë­¾ÍÄÜÔÚÇ¿ÁÒµÄÊг¡¾ºÕùÖÐÕ¼ÓÐ×Ô¶¯  ¡£

±ðÔÙÃÔÐÅÄÇЩͨÓõġ°Ò»¼üÓÅ»¯¡±¾ç±¾ÁË £¬ÕæÕýµÄÉñÃØ £¬ÓÀÔ¶Òþ²ØÔÚÕâЩ¶ÔЭÒé¡¢¶ÔÄÚ´æ¡¢¶ÔÂß¼­µÄÉî¶ÈÖØ¹¹Ö®ÖÐ  ¡£ÏÖÔÚ £¬ÕâÉÈͨÍù¼«ÖÂÐÔÄܵĴóÃÅÒѾ­ÏòÄã¶´¿ª £¬Ê£ÏµÄ £¬¾Í¿´ÄãÔõÑùÔËÓÃÕâ°Ñ½ðÔ¿³×È¥¿ªÆôÊôÓÚÄãµÄÊÓÆµÁ÷Á¿Ê±´ú  ¡£

½¹µã½âÂ룺ÄÚ´æ³ØÓ붯̬»º³åµÄ¡°±©Á¦ÃÀѧ¡±

ÉîÈëµ½nginx100vide100µÄÄÚ²¿´úÂëÂß¼­ £¬Äã»á·¢Ã÷Ëü¶ÔÄÚ´æ¹ÜÀíÓÐÒ»ÖÖ½üºõƫִµÄ¿ØÖÆÁ¦  ¡£Í¨Ë×µÄNginxÔÚÃæÁÙ100¸ö²¢?·¢ºÍ10Íò¸ö²¢·¢Ê± £¬ÄÚ´æ·ÖÅɵÄËéÁÑ»¯Ë®Æ½ÊÇÍêÈ«²î±ðµÄ  ¡£nginx100vide100ÒýÈëÁËÒ»¸ö±»?³ÆÎª¡°100¼¶¶¯Ì¬ÄÚ´æ³Ø¡±µÄ¿´·¨  ¡£

Õâ¸ö»úÖÆµÄÉñÆæÖ®´¦ÔÚÓÚ £¬ËüÄÜÆ¾Ö¤Ä¿½ñÊÓÆµÁ÷µÄÂëÂʶ¯Ì¬µ÷½â»º³åÇøµÄ?´ó?С  ¡£ÈôÊÇÄãÕýÔÚ´«ÊäÒ»¸ö4KÀ¶¹â»­ÖʵÄÁ÷ £¬ÏµÍ³»á×Ô¶¯Ëø¶¨Ò»¸ö¸ß´ø¿íµÄÒ»Á¬ÄÚ´æ¿é £¬×èÖ¹Êý¾ÝÔÚË鯬»¯µÄÄÚ´æÖÐѰÕÒ¿Óλ  ¡£ÕâÖÖ¡°±©Á¦¡±¶ø¾«×¼µÄ·ÖÅÉ·½·¨ £¬Ö±½Ó½â¾öÁËÊÓÆµ²¥·Å³õÆÚ×îÁîÓû§Íß½âµÄ¡°ÊׯÁ¼ÓÔØËÙÂÊ¡±ÎÊÌâ  ¡£

ÔÚʵÑéÇéÐÎÏ £¬½ÓÄÉnginx100vide100¼Ü¹¹µÄ·þÎñÆ÷ £¬ÊׯÁ¼ÓÔØÑÓ³Ùͨ³£Äܱȱê×¼°æËõ¶Ì40%ÒÔÉÏ  ¡£

¸üÈÃÈËÔÞ̾µÄÊÇËü¶ÔCPUÇ׺ÍÐԵļ«ÖÂʹÓà  ¡£nginx100vide100»á½«Ìض¨µÄÊÓÆµÁ÷´¦Öóͷ£Ê¹Ãü°ó¶¨ÔÚÌØ¶¨µÄCPU½¹µãÉÏ £¬²¢Ê¹ÓÃÈý¼¶»º´æ£¨L3Cache£©µÄ¾Ö²¿ÐÔÔ­Àí £¬ïÔÌ­¿ç½¹µãµÄÊý¾Ýͬ²½ÏûºÄ  ¡£ÕâÒâζ×Å £¬¼´¼´ÊÇÔÚ·þÎñÆ÷ÂúÔØµÄÇéÐÎÏ £¬Ã¿Ò»¸öÊý¾Ý°üµÄ·¾¶¶¼ÊÇ¿ÉÕ¹ÍûµÄ¡¢¼«ËÙµÄ  ¡£

»º´æÕ½ÂÔµÄϸÄåµ÷ÓÅ£º

proxy_cache_path£º½ç˵ÁË»º´æµÄ´æ´¢Â·¾¶¡¢¾Þϸ»ººÍ´æÏîÊýÄ¿  ¡£ºÏÀíÉèÖÃlevels¿ÉÒÔÓÅ»¯»º´æ²éÕÒЧÂÊ  ¡£proxy_cache£ºÆôÓûº´æ  ¡£proxy_cache_valid£ºÉèÖòî±ðHTTPÏìÓ¦ÂëµÄ»º´æÊ±¼ä  ¡£¹ØÓÚÊÓÆµ×ÊÔ´ £¬Í¨³£¿ÉÒÔÉèÖýϳ¤µÄ»º´æÊ±¼ä  ¡£

proxy_cache_key£º½ç˵»º´æµÄ¼ü  ¡£È·±£?ΪÊÓÆµ×ÊÔ´ÌìÉúΨһµÄ»º´æ¼ü £¬×èÖ¹²î±ðÊÓÆµ±»¹ýʧµØ»º´æµ½Ò»Æð  ¡£add_headerX-Cache-Status£ºÔÚÏìӦͷÖÐÌí¼Ó»º´æ×´Ì¬ÐÅÏ¢ £¬Àû±ã¼à¿ØºÍµ÷ÊÔ»º´æÖÀÖÐÂÊ  ¡£proxy_cache_use_stale£ºÔÊÐíÔÚ»º´æÓâÆÚʱ £¬ÈôÊǺó¶Ë²»¿ÉÓà £¬ÈÔÈ»ÌṩÓâÆÚ»º´æ £¬±£?Ö¤·þÎñµÄ¿ÉÓÃÐÔ  ¡£

ÔðÈα༭£º ÕźêÃñ
ÉùÃ÷£ºÖ¤È¯Ê±±¨Á¦ÕùÐÅÏ¢ÕæÊµ¡¢×¼È· £¬ÎÄÕÂÌá¼°ÄÚÈݽö¹©²Î¿¼ £¬²»×é³ÉʵÖÊÐÔͶ×ʽ¨Òé £¬¾Ý´Ë²Ù×÷Σº¦×Ôµ£
ÏÂÔØ¡°Ö¤È¯Ê±±¨¡±¹Ù·½APP £¬»ò¹Ø×¢¹Ù·½Î¢ÐŹ«ÖںŠ£¬¼´¿ÉËæÊ±Ïàʶ¹ÉÊж¯Ì¬ £¬¶´²ìÕþ²ßÐÅÏ¢ £¬ÕÆÎղƲú»ú»á  ¡£
ÍøÓÑ̸ÂÛ
µÇ¼ºó¿ÉÒÔ½²»°
·¢ËÍ
ÍøÓÑ̸ÂÛ½ö¹©Æä±í´ïСÎÒ˽¼Ò¿´·¨ £¬²¢²»Åúע֤ȯʱ±¨Ì¬¶È
ÔÝÎÞ̸ÂÛ
ΪÄãÍÆ¼ö
ÍøÕ¾µØÍ¼