HTTPãããã³ã«ãã¼ãµã®ãªã¼ãã¼ãããã¯18%以ä¸ã¨ãã話
「テキストプロトコルは遅くないよ」という話 - kazuhoのメモ置き場ã«é¢ããã®å ·ä½çãªè©±ã
Kazuho@Cybozu Labs: 「サーバ書くなら epoll 使うべき」は、今でも正しいのかãæ¸ãéã«èªä½ãããã³ããã¼ã¯ãã¼ã«ãããã®ã§ãããããã使ã£ããã³ããã¼ã¯çµæãid:tokuhiromãhttp://d.hatena.ne.jp/tokuhirom/20091001/1254355956ã«ã¾ã¨ãã¦ããã¦ãã*1ãããã«ã¤ãã¦ãã¡ãã£ã¨è£è¶³ã¨å®æ¸¬å¤ãã
ã¾ããã³ã¡ã³ãã«ãæ¸ãããã ãã©ããµã¼ãã®ã¹ã«ã¼ããããæ¸¬ãéã«ã¯TCPæ¥ç¶ãå¤éåããå¿ è¦ãããã®ã§ã-a 100 -n 100 -f *2ã®ãããªãªãã·ã§ã³ã§ãã³ããã¼ã¯ãã¨ã£ã¦ãã ããããã¨ããã¼ã«ã«ãã¹ãä¸ã§ã®æ¸¬å®ãããã¹ãéã§ã®æ¸¬å®ããã«ãã£ã¦ãå½ç¶çµæã¯å¤ããã
èªåã®ç°å¢ (linux 2.6.18-028stab056; Pentium 4 3.2GHz) ã«å¯¾ãã¦ãªã¢ã¼ããã¹ããããã³ããã¼ã¯ãåãã¨ã以ä¸ã®ãããªçµæã«ãªãã
ãããã³ã« | requests / sec. |
echo | 67,388 |
http | 55,002 |
ã¤ã¾ããHTTPãããã³ã«ãã¼ãµã®ãªã¼ãã¼ãããã®ãä¸éãã¯18%*3ãããã¾ã§ããªããå®éã®ãµã¼ãã§ã¯ãããããå¦çãè¡ãããã§ããªã¼ãã¼ãããã¯ãããå°ãããªãã
ã¾ããtokuhirom ã¯ã
ãã® httpd ã¯ããªãå¦çãã¯ããã£ã¦ããå®è£ ãªã®ã§ãã¡ããã¨å¦çãããã°ããã£ã¨é ããªãã
http://d.hatena.ne.jp/tokuhirom/20091001/1254355956
ã¨æ¸ãã¦ãããããã® httpd ããã¼ã¹å¦çã«ã¤ãã¦ä¸è¶³ãã¦ããã®ã¯ãªã¯ã¨ã¹ããè¤æ°ãã±ããã«è·¨ãã£ãå ´åã®ãããã¡ãªã³ã°ã®ã¿ããããã¡ãªã³ã°å¦çã«ã¤ãã¦ã¯ãããã¡ãã¼ã«ã使ããã¨ã§ã大ããªãªã¼ãã¼ããããªãå®è£ ã§ããã®ã§ãã¾ãç¡è¦ãã¦ããã¨èªåã¯èãã¦ãããã¾ããechod / httpd ã©ã¡ãã«ãæ¬ ãã¦ããå¦çã¨ãã¦ããã¨ãã°ã¿ã¤ã ã¢ã¦ãã®å¦çãå®è£ ããã°ã両è ã®é度差ã¯ç¸®ã¾ããã¨ã«ãªãã
ãªã®ã§ãä¸ã®18%ã¨ããã®ã¯ããããã£ã±ãªæè¦å¤ã¨ãã¦ééã£ã¦ããªãã¨æã£ã¦ãã
ãªãããã®ãµã¼ãå®è£ ã§ä½¿ã£ã¦ãã http ãã¼ãµã¯ http://coderepos.org/share/browser/lang/c/picohttpparser/ãepoll ã®ã©ããã¼ã¯ http://coderepos.org/share/browser/lang/c/picoev/
*1:ããã« Makefile.PL ãã¤ãã¦ããããtokuhirom++
*2:並å度100,åææ¥ç¶æ°100,ãªã¯ã¨ã¹ããæããæ¥ç¶ããã¼ãªã³ã°ããªã
*3:ãã®æ¯è¼ã¯ãä½ãããã¼ã¹ãå¦çãè¡ããªãechoãããã³ã«ã¨ã®æ¯è¼ããã¤ããªãããã³ã«ã¯ããã¯ããªãããã®ããã¼ã¹ãå¦çãè¡ãã®ã§ãããã¹ãvs.ãã¤ããªéã®å·®ã¯ãããã(ãã)å°ãã