BBSˮľÇ廪վ¡Ã¾«»ªÇø
·¢ÐÅÈË: fzhang (ÀÏÌú), ÐÅÇø: Linux
±ê Ìâ: Re: ÔÙÂÛ"¶ÔlinuxµÄÖÊÁ¿ÖÊÒÉ"
·¢ÐÅÕ¾: BBS ˮľÇ廪վ (Fri Jul 30 22:05:49 1999)
¡¾ ÔÚ nudtbegger (¾üÈË) µÄ´ó×÷ÖÐÌáµ½: ¡¿
¡Ã Òì²½IO×î´óµÄʵÏÖ±³¾°Ó¦¸ÃÊÇÍøÂçÓ¦Óðɣ¬ÌرðÊÇSERVER£¨WEB£¬FTP£¬
¡Ã 1µÈ´ý¶à¸öʼþµÄÄÜÁ¦£¬SELECTÊÇLINUXʵÏÖµ¥Ï̶߳ԶàÇëÇóµÄΨһ·½·¨£¬
¡Ã £¨Èô²»¶Ô£¬ÇëÖ¸³ö£©¡£ÏµÍ³ÓÃSELECTÔÚʼþµ½À´£¨eg.µ±Ò»¸öREQUESTµ½À´Ê±£©
¡Ã ֪ͨËùÓеĵȴýͬһʼþµÄỊ̈߳¬µ«ÊÇÈ´Ö»ÓÐÒ»¸öÏß³ÌÄÜ´¦Àí¡£ÕâÑùÓм¸¸ö
¡Ã ¿ªÏú£¬1£¬»½ÐѵöÏß³ÌҪͬ²½£¬×îºóÖ»ÄÜÓÉÒ»¸öÏß³ÌÀ´Íê³É·þÎñ¡£2£¬ÓÐ
¡Ã ²»ÉÙÏ̱߳¾À´Ö»ÒªË¯Ãß¾ÍÐУ¬½á¹ûÈ´±»»½ÐÑ£¬ËäÈ»ºÜ¿ì¾ÍÓÖ½Ó×ŵȴý£¬µ«ÊÇ
¡Ã CPUʱ¼äÓÖÏûºÄ²»ÉÙ¡£ÓÐÁËÕâÁ½´óÏÞÖÆ£¬ÎÒµÄÒ»¸öʦÐÖ¸æËßÎÒ˵£¬Ò»°ã¶¼ÊÇ
¡Ã ÓÃÒ»¸öÏß³ÌÊØºî£¬µ±À´ÁËREQUEST£¬¾Í֪ͨÁíÒ»¸öÏß³ÌÊØºî£¬×Ô¼º´¦Àí£¬»òÕß
¡Ã ֪ͨÁíÒ»¸öÏ߳ʴ¦Àí£¬×Ô¼º½Ó×ÅÊØºî¡£ÕâÑùÈÔÈ»Ôö¼ÓÁË¿ªÏú¡£Èç¹ûLINUX
¡Ã ÏóNTÄÇÑù£¬ÌṩÄܹ»Ö»»½ÐÑÒ»¸öÏ̵߳ĺ¯Êý£¬ÎÞÒɽ«Ìá¸ß´¦ÀíREQUESTµÄЧÂÊ¡£
Yes, it is true in Linux2.2, but will not in 2.4(we can expect it this fall):
The Linux model of network sockets is one common across most UNIX variants
which adhere to the standards. This is not to say that the standard doesn't
have some deficiencies. Under Linux 2.2, if you have a number of processes
all waiting on an event from a network socket (a web port, for instance)
they will all be woken up when activity is detected. So, for every web page
request, a number of web server processes will suddenly wake up and try and
get at the request... only one will succeed. The losers of the herd will put
themselves back to sleep and wait for the next connection. Linux is a terribly
efficient system and manages to wake up all these processes, give the resource
to one of them, and put the remainder back to sleep very quickly, however
benchmarks have shown that we could be more efficient if we eliminated the
"stampede effect." Thus, the Linux minds cast about for a solution and decided
to implement "wake one" under Linux. This change allows programs to let Linux
know that they should be the only one to be woken up in the case of activity.
It is expected that by the time Linux 2.4 ships, Apache and other similar se
rvers will begin using this new functionality to increase the efficiency of
what they do.
¡Ã 2Òì²½IOµÄÄÜÁ¦¡£ÕæÕýµÄÒì²½IOºÍ·Ç×èÈûIOÊDz»Í¬µÄ£¬LINUXÏÂʵÏֵľÍ
¡Ã ÊÇ·Ç×èÈûIO¡£LINUXÏÂÒ»¸öÍøÂçÏß³ÌÖ´ÐÐÁË·Ç×èÈûIO¶Á£¬´ÓÁ¬½ÓÖжÁÈ¡CLIENT
¡Ã µÄÊý¾Ý£¬µ«ÊÇ£¬ÕâʱCLIENTµÄÊý¾Ý»¹Î´µ½£¬¸ÃÏ߳̿ÉÒÔÖ´ÐÐÆäËûµÄ¹¤×÷£¬µ«ÊÇ£¬
¡Ã ¸ÃÏß³ÌÔÚÊý¾Ýµ½À´Ê±»¹ÒªÖ´ÐÐÒ»´Î¶Á£¬·ñÔò¾ÍµÃ²»µ½Êý¾Ý£¬Èç¹û²»ÖªµÀʲô
¡Ã ʱºòÊý¾ÝÄܵ½£¬½«Ñ»·µÈ´ý¡£µ«ÊÇÔÚÕæÕýµÄÒì²½IOÖУ¬Çé¿ö²»ÊÇÕâÑù£¬Ïß³Ì
¡Ã Ö´ÐÐÒ»Ìõ¶Áºó£¬¾Í²»ÒªÔÚ¶Á£¬ÏµÍ³ÔÚÊý¾Ýµ½À´Ê±»á֪ͨÏ̡߳
ÖжÏÂð?ÄÇÊÇÒì²½Çý¶¯µÄ,Linux²»Ò²¿ÉÒÔÂð?
µ«²Ù×÷ϵͳ¿ÉÒÔʹµÃÓû§³ÌÐò¾ßÓÐ×èÈûÓïÒåµÄ
£
¡Ã ´ó¼Ò¶¼ÊìÖªWAITMULTIOBJECTºÍGETOVLAPPEDº¯Êý£¬ÎҾͲ»¶à˵ÁË¡£
¡Ã 3³¤Ê±¼äÒÔÀ´£¬ÎÒ¸öÈ˸оõ¾ÍÊÇLINUXµÄÖØÈëÐÔ²»ºÃ£¬µ±È»£¬ºÜ¶àÈ˶¼¸æËß
¡Ã ÎÒ˵ҪÓ÷¢Õ¹µÄÑ۹⿴ÎÊÌ⣬µ«ÊÇ£¬ÎÒ¾õµÃ»¹ÊÇ·¢Õ¹µÄÌ«Âý¡£ÖØÈëÐÔ²»ºÃ´ø
¡Ã À´µÄÖ±½ÓÎÊÌâ¾ÍÊǶദÀíÆ÷½â¾ö²»ºÃ£¬Õâ¸öÎÊÌâLINUXÉçÇø¶¼ÒѾ³ÐÈÏ£¬ÎÒ
¡Ã ²»ÔÙ¶à˵¡£ÎÒÖ»¼ÓÒ»ÌõNTµÄÀý×Ó¡£NT4µÄдº¯ÊýÔÚÍøÂçIOÖÐÖ»ÓкÜÉÙµÄÔÚ
¡Ã Íø¿¨driverµÄº¯Êý²»¿ÉÖØÈ룬µ«ÊÇ£¬¾ÍÊÇÕâ¸öÎÊÌ⣬ʹµÄNTÔÚ4´¦ÀíÆ÷µÄSERVER
¡Ã ÖкÍSOLARISÏà±È´¦ÓÚÏ·磬MSѸËÙµÄÍÆ³öÁËSP4£¬ºÍNT2000£¬½â¾öÁËÕâ¸öÎÊÌâ¡£
ÕæÓÐÒªÇóµÄ»°,LinusÍÆ³öµÄ»á¸ü¿ìµÄ
¡Ã LINUXµÄÄ¿±ê£¬ÎÒ¸öÈ˵Ŀ´·¨ÊÇLINUX¿Ï¶¨ÊÇÏëÔÚ´óÐÍ·þÎñÆ÷ÉÏºÍÆäËûOS
¡Ã ¾ºÕùµÄ£¬µ«ÊǾÍLINUXĿǰµÄ״̬£¬»¹ÎÞ·¨ºÍNTºÍSUNOSÏà±È¡£PC WEEK×ö
¡Ã µÄNT VS LINUX£¬µ±ÔÚ¶àCPU£¬¶àÍø¿¨µÄÇé¿öÏ£¬LINUX¸ù±¾²»ÄܺÍNT±È£¬
¡Ã ÔÚIT·¢Õ¹Èç´ËѸÃ͵ĽñÌ죬MSµÄ×ö·¨ÊǰÑ×ÊÔ´ºÄ¹â£¬ÕâÑù£¬Ó²ÅÌ£¬
¡Ã Äڴ淢չѸÃÍ£¬²Å»áÈç´ËµÄ±ãÒË£¬Èç¹ûNT2000ÔçµãÍÆ³ö£¬ÏÖÔÚÒ²Ðí»¹Òª¸ü±ãÒË¡£
Õâµ¹ÊÇ,²Ù×÷ϵͳ±ä»¯Í¦¿ìµÄ,µ«NTÌ«±¿ÖØÁË,¸ú²»ÉϰÉ,NT2000ÅÂÒªÄѲú
--
¡ù À´Ô´:¡¤BBS ˮľÇ廪վ bbs.net.tsinghua.edu.cn¡¤[FROM: 162.105.138.50]
BBSˮľÇ廪վ¡Ã¾«»ªÇø