ã¯ããã«
ãååã¯ãè¤æ°ã®ãã¡ã¤ã«ãã£ã¹ã¯ãªãã¿ãä¸å 管çãããå¤éI/Oãæ©è½ã«ã¤ãã¦ç´¹ä»ãã¾ãããä»åã¯ãå¤éI/Oã®æ§è½ã¨åé¡ç¹ã«ã¤ãã¦æ¤è¨¼ãã¦ããã¾ãã
é£è¼æ¦è¦
- 第1åï¼ãã£ã¹ã¯ãªãã¿ã®æ¦è¦
- 第2åï¼ã¤ãã³ãç¨ãã£ã¹ã¯ãªãã¿ãeventfdãã®ç¹å¾´
- 第3åï¼ã¿ã¤ãã¼ç¨ãã£ã¹ã¯ãªãã¿ãtimerfdãã®ç¹å¾´
- 第4åï¼ã·ã°ãã«ç¨ãã£ã¹ã¯ãªãã¿ãsignalfdãã®ç¹å¾´
- 第5åï¼å¤éI/OãMultiplex I/Oãã®ç¨®é¡ã®ç¹å¾´ã使ãæ¹
- 第6åï¼å¤éI/Oã®æ§è½ã¨C10Kåé¡
- 第7åï¼ã·ã°ãã«é§åI/Oã®ç¹å¾´ã使ãæ¹
- 第8åï¼éåæI/OãAsynchronous I/Oãã®ä½¿ãæ¹ã¨æ§è½å·®
- 第9åï¼ãã¡ã¤ã«ãã£ã¹ã¯ãªãã¿ããã·ã³ã°ã®ç¹å¾´ã使ãæ¹
ããµã³ãã«ããã°ã©ã ã¯100è¡åå¾ç¨åº¦ã¾ã§ã¯ç»é¢ã«è¨è¼ãã¾ããå
¨ããã°ã©ã ã¯å§ç¸®ãã¦ãã¼ã¸ä¸é¨ãããã¦ã³ãã¼ãå¯è½ã«ãã¦ãã¾ããmake
ã³ãã³ãã§ã³ã³ãã¤ã«ã§ãã¾ããi386/x86_64ç°å¢ã§åä½ç¢ºèªæ¸ã¿ã§ãã
ãããã°ã©ã ã®ããªã¥ã¼ã ä¸ãã¨ã©ã¼å¦çãå¼æ°ãã§ãã¯ãªã©ãçãã¦ããã®ã§ãããããããäºè§£ãã ãããã¾ã使ç¨æ³ã誤ãã¨ã·ã¹ãã ã«é大ãªå½±é¿ãä¸ããå¯è½æ§ãããã¾ããå©ç¨ããå ´åã¯è²¬ä»»ã®ã¨ããç°å¢ã«ããã¦å®è¡ããããããé¡ããã¾ãã
ãå½ãããã¯ã§ã¯ãå®éã«ããã°ã©ã ãéãã¦åä½ç¢ºèªãæ§è½æ¸¬å®ãè¡ããã¨ã§ãå人çãªè¦è§£ãè¿°ã¹ããã¦ããã ãã¾ããããã¾ã§å人çãªææ³ã«åºã¥ãã¦ããã®ã§ãåè«ãææãªã©ãããã¨æãã¾ããææã質åãªã©ã¯å¤§æè¿ãªã®ã§ããã®éã¯ãã²ãé£çµ¡ãã ãããå¯è½ãªéãã®å¯¾å¿ã«åªãã¾ãã
æ§è½æ¸¬å®ã«ã¤ãã¦
ã第4åã§è§¦ãã¾ããããselect(2), poll(2)
ã¯ã管çãããã£ã¹ã¯ãªãã¿ã大éã«ãªãã¨æ§è½ä¸ã®åé¡ãçºçããã¨è¨ããã¦ãã¾ããããããC10Kåé¡ã§ãç®å®ã¨ãã¦ã¯ã©ã¤ã¢ã³ã10,000å°ãããã§æ§è½å£åãçºçããã¨ã®ãã¨ã§ããepoll(7)
ã¯ãã®ç¹ã解æ¶ãã¦ããã¨è¨ããã¦ãã¾ãããã§ã¯ã©ãã ãã®éããããã®ãã
ãæ確ãªæ§è½å¤ãæ示ããã¦ããè³æã¯ãè¦èã®å°ãªãç§ã¯è¦ããã¨ããªãã®ã§ãä»åã¯ãããããªããã°ã©ã ã使ã£ã¦å®æ¸¬ãã¦ã¿ã¾ããã
ããã®éã«åªããæ¹ã«å½ã¬ãã¼ããåç §ãã¦ããã ãããæè¦ãææ³ãå±è²¬ããã ãããã¨ãæå¾ ãã¦ããã¾ãã
ããªããä»å使ç¨ãã¾ãããã·ã³ã®CPUã»ã¡ã¢ãªã»OSã»ã¢ã¼ããã¯ãã£ã¯ä¸è¨ã®éãã§ãã
# cat /proc/cpuinfo | grep "model name" model name : Intel(R) Core(TM)2 Duo CPU E6850 @ 3.00GHz model name : Intel(R) Core(TM)2 Duo CPU E6850 @ 3.00GHz # cat /proc/meminfo | grep MemTotal MemTotal: 2015528 kB # cat /etc/redhat-release CentOS release 5.3 (Final) # uname -a Linux host 2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 EST 2008 x86_64 x86_64 x86_64 GNU/Linux