æ¸è©: ISUCONããã´ã¼ã«ãã§çµããããªãããé人ãæããWebããã©ã¼ãã³ã¹ãã¥ã¼ãã³ã° ï½ISUCONããå¦ã¶é«éåã®å®è·µã
èè ã®id:catatsuyãããããæµæããã ãã¾ããããããã¨ããããã¾ããå®ã¯èè ã®æ¹ããæ¬ãé æ´ããã®ã£ã¦ã¯ããã¦ã§ãã
ãã¦ããã®æ¸ç±ã®ã¿ã¤ãã«ãã¯ããã¦è¦ãã¨ãã¯ããªããã¤ãã«ISUCONã®æ»ç¥æ¬ãæ¥ã¾ããããããã§ã¯ã·ãåªåééããªããï¼ï¼ãã¨æã£ããã®ã§ããå®éã«æã«åã£ã¦ã¿ãã¨å¿ ãããããã§ã¯ãªããã¨ã«æ°ä»ãã¾ãããããããISUCONã§åã¤ããã®å°æå ã®ãã¯ããã¯ãã®ãããªè©±é¡ã¯æ¥µåæé¤ããã¦ãããé«éãã¤é«å¯ç¨ãªWebã¢ããªã±ã¼ã·ã§ã³ãã©ã®ããã«æ§ç¯ã»éç¨ãã¦ããããã¨ãããããªå®æ¦çãªå 容ããã®å¤ããå ãã¦ãã¾ãã
ã¾ãæ¸ç±ã®åé ã§ã¯ããWebã¢ããªã±ã¼ã·ã§ã³ã®ããã©ã¼ãã³ã¹ãã®å®ç¾©ãããå§ã¾ããããªãWebã¢ããªã±ã¼ã·ã§ã³ãé«éãã¤å®å®ãã¦åä½ããå¿ è¦ãããã®ããã¨ããç®æãã¹ãæ¹åã«å¯¾ããåæ©ä»ããæããã¦ãã¾ãããããã£ããã¤ããã©ã¼ãã³ã¹Webã¢ããªã±ã¼ã·ã§ã³ã®æ§ç¯ã»éç¨ã模ããã³ã³ãã¹ããISUCONã§ãããããã®ISUCONã«ã©ã®ãããªã¢ããã¼ãã以ã£ã¦æ»ç¥ãã¦ããããã¨ããã¨ããããé説çã«ããã¤ããã©ã¼ãã³ã¹Webã¢ããªã±ã¼ã·ã§ã³ã®æ§ç¯ã»éç¨ããå¦ã¶ã¨ããçæ¸ã«ãªã£ã¦ãã¾ãã
ãããã©ã¼ãã³ã¹ã«åé¡ãããéã¯å¿ ãè¨æ¸¬ãããæ£ãããã¼ã¿ãæ¯è¼ããããã§æãã«ãªã£ãããã«ããã¯ã«ã®ã¿å¯¾å¿ãã¦ãããåãæ¶æ¸¬ã§ç´ãé¨åã決ããã®ã¯ç¡é§ãªã®ã§ãããªããã¨ãã£ãããã©ã¼ãã³ã¹ãã¥ã¼ãã³ã°ã®çéãä¸æ·ãã¨ããããã©ã¼ãã³ã¹ãè¨æ¸¬ããããã®è² è·è©¦é¨ã®ãã©ã³ãã³ã°ã¨å®æ½æ¹æ³ãè² è·ã«å¯¾ããã¢ãã¿ãªã³ã°ã®ææ³ããã®è¨æ¸¬ãããã¼ã¿ããã¡ã¯ãã¨ããããã«ããã¯ã®ç¹å®ãããã¦ãã®ããã«ããã¯ã«å¯¾ããå ·ä½çãªå¯¾å¿ãã¨ãã£ãå 容ãä½ç³»çã«æ¸ããã¦ãã¾ãã
ãã®ä¸ã§ãã¢ãã¿ãªã³ã°ã®é ã象徴çã§ãããã°ã®ã¢ãã¿ãªã³ã°ãããã¨ã¼ã¸ã§ã³ãã使ã£ãã¢ãã¿ãªã³ã°ããªã©ã¨ãã£ãç¶ç¶ãã¦é·æçã«ã¢ãã¿ãªã³ã°ãè¡ãªãããã®å®è·µçãªå 容ããããããã¦ãããã¶ã£ã¡ãããã®ã¸ãã£ã¦ISUCONã§ã¯ãããªãã¨ãããå人çã«ã¯ISUCON競æä¸ã¯ç®è¦ã§dstatã®å 容ã¨ãhtopã®å 容ã¨ãè¦ã¦æ¸ã¾ããã¡ãªãã§ããã©ããããã£ããå®åã§ä½¿ãããã¡ããã¨ãããã¢ãã¿ãªã³ã°ãã«å¤ãã®ç´é¢ãå²ããã¦ããã®ã¯ISUCONã«ä½¿ãããã¯ããã¯ã®ç´¹ä»ã ããç®çã¨ãã¦ããã®ã§ã¯ãªãããã®å ã«ãããå®éã®Webã¢ããªã±ã¼ã·ã§ã³ãè¯ããã¦ãããã¨ããé¨åããããã¨è¦æ®ãã¦ããããã«æãã¾ããã
ã¾ããè² è·è©¦é¨ã®ãã©ã³ãã³ã°ãå®æ½ã«ã¤ãã¦ã¯æ¡å¤ä½ç³»çã»ç¶²ç¾ çãªæ å ±ãå··ã«ç¡ãããã«æãã¦ããã¨ãããæ¬æ¸ç±ã§ã¯ãã®ã¸ããä¸æãè¨èªåããã¦ãã¦é常ã«åèã«ãªãã¾ãããä¸æ¹ã§ããã®æ¸ç±ã§ãããã ã£ããã§ããè² è·è©¦é¨ã®é ç®ã£ã¦ã¢ããªã±ã¼ã·ã§ã³ã®å 容ã¨ã¢ã¯ã»ã¹ç¹æ§ãç¥ã£ãä¸ã§ãã¯ã¤ãããã¯ã¹çã«ä½ãããã¡ã§ãããããã å®éã«ã¢ããªã±ã¼ã·ã§ã³ãéç¨ãã¦ããã¨äºæããªãã¢ã¯ã»ã¹ãã¿ã¼ã³ããã£ããæå³ãã¬ããã©ã¼ãã³ã¹ã®ç§åã¿ãããªãã®ããã£ããããã¨ããã®ãã¾ã¾ããã¨æã£ã¦ãã¦ãããããã®ããããæ¢ç´¢çã«è² è·è©¦é¨ã®ãã©ã³ãã³ã°ããã¦ããæ¹æ³ã¿ãããªã®ã£ã¦ãããã§ããããï¼ãæ¯åº¦é ãæ©ã¾ãã¦ããã¾ãâ¦â¦
ãã¨ç¹çãã¹ãã¯ãã¼ã¿ãã¼ã¹ã®ç« ã§ãèè
ã®id:kazeburoããã®DBã®ããã©ã¼ãã³ã¹åé¡ã«å¯¾ãã試è¡ã»æèãæç« ã¨ãã¦ãã¬ã¼ã¹ããã¦ãã大å¤è²´éãªå
容ã ã¨æãã¾ãã常æ¥é ãã my.conf kazeburo æå¼·
ãªã©ã¨Googleã§æ¤ç´¢ãã¦ã¯kazeburoããã®ç§ä¼ã®ã¿ã¬ããã¯ã£ã¦ãã¦ã«ã¹ã¿ã ãã¦ä½¿ã£ã¦ãã身ã¨ãã¦ã¯é常ã«ããããããã®ã§ãããã¤ããä¸è©±ã«ãªã£ã¦ããã¾ãããã®ç« ã¯å£°ã«åºãã¦èªã¿ã¾ãããã
ããã¯ããã¨ãã¦ãã®ç« ã§ã¯è¨åããã¦ããããã£ãã®ã§ãããISUCONã§ããããã«ããã¯çå¼¾ã¨ãã¦è¨ç½®ããã¦ãããã¾ããå¤éJOINã ã¨ããæãã¹ãéã®ãµãã¯ã¨ãªã¨ãã£ã¦ã©ããã£ã¦ã»ã©ã㦠(解決ãã¦) ãã¾ããï¼ãããããã®ãè¦ãã¨æ¬è½çã«è³ãç解ãæãã§ãã¾ãã®ã§ããããã¯ãæ°åã¨æ ¹æ§ã§ãããããªãã®ã§ããããâ¦â¦ãã¨ãã®æã®ãã¤ã£ã¦DBã¬ãã«ã§ãªãã¨ã解決ããã¹ããªã®ãããããã¯å¥ã®æ¹æ³ (ä¾ãã°Redisã¨ã) ã§ããã¹ããªã®ããã¨ãã£ãè¦åããä»ããã®ããªããªãé£ããã¨ããã§ãããã
ãã£ãã·ã¥ã®ç« ã«ã¤ãã¦ã¯æã¹ã©ã¤ããå¤ãå¼ç¨ã»åç §ãã¦ããã ãã¦ãããã¨ããããã¾ããããããã£ãæ¸ç±ã«èªåãæ¸ããå 容ãè¼ã£ã¦ããã¨ããã®ã¯ãããããã¨ããããé¢æ ããã¨ãããããªãã ãä¸æè°ãªææ ã«ãªãã¾ãããã¹ã©ã¤ãã¯ã³ã¬ã§ãããã5å¹´åã«ãªãã®ãããâ¦â¦:
ã¾ããCDNãæ´»ç¨ãããã¿ã¼ã³ã®è©±ããã£ãã (ãããISUCONã¨ããããã¯å®æ¦å¯ãã®å 容ã¨ããå°è±¡)ãLinux Kernelã»Kernel Parameterã®åºç¤çãªå 容ããã£ããã¨å 容ãå¤å²ã«æ¸¡ã£ã¦ããé¢ç½ãã£ãã§ããISUCONã®ãã³ããã¼ã¯ã®ä½ãæ¹ã«ã¤ãã¦ã¯æããããªãå¤§å ¬éããã¦ããããæè¡çã«ãã³ããã¼ã«ã¼ã¯ä½ããããªä¸æ¹ã§ãå®éã®åé¡ãä½ãã«ããã£ã¦ã¯ã©ãããã°ï¼ (ããã©ã¼ãã³ã¹ãçµãã£ã¦ããããããçéç«ã¦ã解決æ¹æ³ãããã¢ããªã±ã¼ã·ã§ã³ãæ æã«ä½ã£ãã«ã¯ï¼)ãã¨ããé¨åã«ã¯è§¦ãããã¦ããªãã£ãã®ã§ãããã¯ç¶ç·¨ã®æ¸ç±ã«æå¾ ãããã¨æãã¾ãï¼
ã¨ããããã§ãISUCONã¯ã´ã¼ã«ã§ã¯ãªããISUCONã§å¾ãç¥èã»çµé¨ãå®éã®ã¢ããªã±ã¼ã·ã§ã³ã«éå
ããã¯ã³ã©ã³ã¯ä¸ãè¡ããã¨ãããçã®GOALâ¦â¦
ãé人ãæããWebããã©ã¼ãã³ã¹ãã¥ã¼ãã³ã° ï½ISUCONããå¦ã¶é«éåã®å®è·µãã¯ISUCONãé¡æã¨ããªãããå®éã®Webã¢ããªã±ã¼ã·ã§ã³ãã©ã®ããã«é«å¯ç¨ãªãã¤ããã©ã¼ãã³ã¹Webã¢ããªã±ã¼ã·ã§ã³ã¨ãã¦æ§ç¯ã»éç¨ãã¦ããããä½ç³»çã«è§£èª¬ãã¦ãã大å¤è¯ãæ¸ç±ã§ãããããªãã¡ããã¯ISUCONã§åã¤ããã®åãªãTipséã§ã¯ãªããæ¬ãã£ã³ã®Webã¢ããªã±ã¼ã·ã§ã³ãå°éã«è¯ããã¦ããããã®ç¥èã®éåã§ãããã¤ã¾ãæ¬ãã£ã³ã®Webã¢ããªã±ã¼ã·ã§ã³ã常æ¥é ãããã¤ããã©ã¼ãã³ã¹ã«ãã¦ããã°ISUCONã«ãåã¦ãã¯ãâ¦â¦ãã®æ¬ãè²·ã£ã¦ãæ¯æ¥å®è·µãã¦ãISUCONåã¡ã¾ãããï¼ï¼ï¼
ããããããªä½ç³»çãã¤ç¶²ç¾ çãªISUCONã®æ¬ããããªãã¦æ¬å½ã«è¯ãæ代ã§ãããåãISUCON 3ã¨ãã®æ代ã«ãããèªãã§ãµã¯ã»ã¹ãããã£ãâ¦â¦ããããã¯ããã©ã¼ãã³ã¹ãã¥ã¼ãã³ã°ã«æ©ãã§ãã人ããããæµæ¯é é¡ã§ãã®æ¬ããããããããã¨æãã¾ãããã¨ããããç¥ããªãã£ãå 容ãæ®éã«ãããããã£ããã§åå¼·ã«ãªãã¾ããããããã©ãããå 容ããããããå ã¯åã®ç®ã§ç¢ºããã¦ããï¼