第4åISUCONæ¬æ¦ã§ãã£ããã¨èãããã¨
ããæãã«ããã©ã¼ãã³ã¹ãã¥ã¼ãã³ã°ããã³ã³ãã¹ã第4回ISUCONã®æ¬æ¦ã«ãã注æã¯PHPã§ããï¼ãã¨ãã¦åå ãã¾ãããæçµã¹ã³ã¢ã¯26ä½ã®6598ã§ããéä¸ã®æé«ã¹ã³ã¢(remote)ã¯8000å¼·ãããã
âãã³ã¯ã®ç·ã§ãã
ã¡ã³ãã¼
ã¢ã¤ã³ã³ | |||
---|---|---|---|
@do_aki | @matsuu | @netmarkjp | |
è·æ¥ | ã¤ã³ãã©ã¨ã³ã¸ã㢠| ã¤ã³ãã©ã¨ã³ã¸ã㢠| ã¤ã³ãã©ã¨ã³ã¸ã㢠|
å¾æè¨èª | PHP | Perl | Python |
å½æ¥ã®å½¹å² | å³è | å·¦è | ãã¡ã·ãªãã¼ã¿ |
äºé¸ã®blog | こちら | こちら | こちら |
æ¬æ¦ã®blog | ãã¡ã | こちら | こちら |
äºé¸ã¯Goè¨èªã§å®è£ ãã¾ããããæ¬æ¦ãGoè¨èªã§è¨ã¿ã¾ããã
äºåæºåï¼ãããã¡ã¤ã©ç·¨ï¼
ã¢ã¯ã»ã¹ãã°ã解æããããã°ã©ã ãnetmarkjpãããããPythonã§å®è£ ãããã®ãGoè¨èªã§åå®è£ ãã¾ãããååã¯ãã¨ã¥ãã§ããkataribe(èªãé¨)ã§ããä¸äºç ã£ã½ãï¼
ã¾ããISUCON4äºé¸ã§è¾ãã£ãGoç°å¢ã®ãããã¡ã¤ã©å¨ãã§ãããwall timeãã¼ã¹ã®ãæ製ãããã¡ã¤ã©ãnetmarkjpããããã«ä½æãã¦ããã ãã¾ããããã¡ããååã¯ãã¨ã¥ãã§ããkagenui(影縫ã)ã§ããä¸äºç ã£ã½ãï¼
äºåæºåï¼Redisç·¨ï¼
äºé¸ããæ¬æ¦ã¾ã§ã®éã§ããã³ãã³ã«ãã«ã¯ç¥ãã®æéä¸ã«è³¼å ¥ããRediså ¥éãçæã«Redisã®ãåå¼·ã
Rediså ¥éãã¤ã³ã¡ã¢ãªKVSã«ããé«éãã¼ã¿ç®¡ç (ã¢ã¹ãã¼æ¸ç±)
- ä½è : Jï½ï½ï½ï½ï½ãLï¼ãï¼£ï½ï½ï½ï½ï½ï½,é·å°¾é«å¼
- åºç社/ã¡ã¼ã«ã¼: KADOKAWA / ã¢ã¹ãã¼ã»ã¡ãã£ã¢ã¯ã¼ã¯ã¹
- çºå£²æ¥: 2014/01/16
- ã¡ãã£ã¢: Kindleç
- ãã®ååãå«ãããã°ãè¦ã
ãã®æ¬ããã£ã¨èªãã ãã¨ã«ISUCON3æ¬æ¦ã®åé¡ãRedisã§åå®è£ ãã¦ã¾ããã
ISUCON4æ¬æ¦ãRediså®è£ ã ã£ãã®ã§ï½·ï¾ï½¯!ã£ã¦æã£ã¦ããã§ãããRedisã©ã¤ãã©ãªã¨ãã¦redigoã§ç·´ç¿ãã¦ãããã®ã®ãISUCON4æ¬æ¦ã§ã¯go-redisã使ããã¦ã¦ããããããã£ã¦ãªã£ã件ã
Goã§Redisãæ±ããªããã£ã±ãgo-redisãªãã§ããããã
ãã£ããã¨ï¼èãããã¨
ãã£ã¨åæããã¨ãããªæã
ãããã¡ã¤ã©ã§åç»ã®ã¬ã¹ãã³ã¹ã«æéãããã£ã¦ãããã¨ã確èª
Redisããåãåºãã³ã¹ããæ¸ããããã«nginxã§ãã£ãã·ã¥ãã¦è¿ããâå®è£ ããã
ã¬ãã¼ãçæã«å¿ è¦ãªãã°ããã¡ã¤ã«ã«åããã¦ãã
ã¹ã±ã¼ã«ã¢ã¦ãããããã«nginxã®ã¢ã¯ã»ã¹ãã°ã§åãå
容ãåºåãã¦syslogã§ããéããã°ããããããï¼
ãã調ã¹ããã¢ã¯ã»ã¹ãã°ã ãã§ã¯çæãé£ããããã°ã¯Redisã«æµãè¾¼ããâå®è£
ãã
åç»ã¯Redisã«çªã£è¾¼ã¿ã¤ã¤ããã¡ã¤ã«ãçæããããã«ããã
çªã£è¾¼ã¾ãããã®ãéåæã«ãã¡ã¤ã«çæãèããããèªåãã¡ã§æéå
ã«å®è£
ã§ããèªä¿¡ããªãã£ãâæªå®è£
ç´ ç´ã«ãã¡ã¤ã«åºåããããã«ããã°ããã£ããã
Chunkedã§è¿ããããªå®è£ ããã£ãï¼ã使ããã¦ãªãããã«è¦ããï¼
ç¡çç¢çã«ã§ãChunkedã§è¿ãã°ã¹ã³ã¢ããããã®ã§ã¯ï¼âæªå®è£
MD5ã§ã¬ã¹ãã³ã¹ãæ£ããã確èªãã¦ãã模æ§
MD5ã³ãªã¸ã§ã³ãªãã£ã¨çãã¬ã¹ãã³ã¹ãè¿ãã°ããããããï¼âæªå®è£
ã¾ã¨ã
æå¾ã®MD5ã³ãªã¸ã§ã³ãçãã®ã¯æãªããåæ¡ã ã¨æã£ãã®ã§ããã¨ã§å¾©ç¿ãããã¨æãã¾ãã