Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Recipes of Recipe Search

Recipes of Recipe Search

"Recipes of Recipe Search" (レシピ検索開発のレシピ)
13 Jan, 2013 at Tokyo Ruby Kaigi #10 (#tkrk10)

Shimpei Makimoto

January 13, 2013
Tweet

More Decks by Shimpei Makimoto

Other Decks in Technology

Transcript

  1. Recipes of Recipe Search
    Ϩγϐݕࡧ։ൃͷϨγϐ
    Shimpei Makimoto, COOKPAD Inc.
    https://github.com/makimoto
    https://twitter.com/makimoto
    13 Jan, 2013 | Tokyo Ruby Kaigi #10
    ࢖༻ॻମখ௩ΰγοΫ130/Yanone Kaffeesatz

    View Slide

  2. whoami

    View Slide

  3. Shimpei Makimoto / ຀ຊ৻ฏ
    Software Engineer at Search Team,
    Service Infrastructures Group, Technology Div.,
    COOKPAD Inc.
    ΫοΫύουגࣜձࣾ
    ٕज़෦αʔϏεΠϯϑϥετϥΫνϟʔάϧʔϓ
    ݕࡧνʔϜ
    https://{github,twitter}.com/makimoto

    View Slide

  4. View Slide

  5. ۙگ
    ࡱӨઍ༿ࢢඒ඿จԽϗʔϧ

    View Slide

  6. ۃΊͯॏཁͳ͜ͱ఺

    View Slide

  7. We’re hiring
    http://info.cookpad.com/jobs/
    http://info.cookpad.com/graduates/

    View Slide

  8. ϓϨϛΞϜαʔϏε
    ԁ݄

    View Slide

  9. ຊ୊
    ඃࣸମউؒ͞Μ

    View Slide

  10. ࠓ೔࿩͢͜ͱ

    View Slide

  11. ࠓ೔࿩͢͜ͱ
    ΫοΫύουͷݕࡧνʔϜͷ
    ͍ͭ΋ͷ࢓ࣄʹ͍ͭͯ࿩͠·͢ɻ

    View Slide

  12. View Slide

  13. wϨγϐ\౤ߘ ݕࡧ^αʔϏε
    w݄ؒ66ສਓ
    wϨγϐ਺ສ
    w3VCZPO3BJMT

    wΤϯδχΞਓ͘Β͍
    ΫοΫύου

    View Slide

  14. ؘ໺༞Ұ ྉཧΛࢧ͑Δٕज़ ࡳຈ3VCZձٞ
    IUUQTTQFBLFSEFDLDPNIPUDIQPUDIMJBPMJXP[IJFSVKJTIV
    ࢀߟࢿྉ

    View Slide

  15. ݉ࢁݩଠ 4PMSΛ࢖ͬͨϨγϐݕࡧͷϓϩτλΠϐϯά Ϟʔγϣϊϩδʔ
    IUUQXXXTMJEFTIBSFOFUQFOHVJOBOBTPMS
    ࢀߟࢿྉ

    View Slide

  16. Ϩγϐݕࡧ
    wΫοΫύουͷओཁػೳ ͷҰͭ

    wਓؾॱݕࡧɺΧςΰϦɺؔ࿈Ωʔ
    ϫʔυFUD
    wϨγϐΛͷͤΔਓͱ͕͢͞ਓΛܨ͙

    View Slide

  17. ݕࡧνʔϜ
    wϝϯό໊
    wݕࡧʹ͔͔ΘΔ͢΂ͯʹ੹೚Λෛ͏
    w ΄΅
    ਓͰϢʔβສਓͷ
    ʮԿͨ΂Α͏ʯΛࢧ͑Δ
    @PENGUINANA_ @makimoto
    ࡱӨനۚ୆ͲΜ͙Γࣇಐ༡Ԃ

    View Slide

  18. ։ൃ͢Δ
    ӡ༻͢Δ
    ࡱӨΦϑΟε

    View Slide

  19. Puppet
    ͔Β
    CSS
    ·Ͱ

    View Slide

  20. master
    repeater repeater
    slave slave slave slave
    cache cache
    apps
    batch
    ˞αʔόͷ਺͸ద౰Ͱ͢
    write
    replication
    read
    page cache

    View Slide

  21. View Slide

  22. View Slide

  23. View Slide

  24. Ϩγϐݕࡧ͸
    ओཁػೳ ͷҰͭ

    ࠶ܝ

    View Slide

  25. ˺
    ݹ͍ϩδοΫ͕
    ଟ͍
    ࡱӨ+3۝भࡾ֯ઢॅ٢Ӻ

    View Slide

  26. ˺
    ݹ͍ϩδοΫ͕
    ଟ͍
    ࡱӨ+3۝भࡾ֯ઢॅ٢Ӻ

    View Slide

  27. ࡱӨ෬ݟҴՙେࣾ
    ݹ͍΋ͷΛ
    ৽͍͠΋ͷʹ
    ஔ͖׵͑Δ

    View Slide

  28. - Senna/Tritonn
    + Solr

    View Slide

  29. - MySQL based logging
    + Fluentd/TreasureData

    View Slide

  30. - (Tritonn/)MySQL 5.0
    + MySQL 5.5

    View Slide

  31. Refactoring
    ࡱӨ೔ൺ୩ઢ޿ඌӺલ

    View Slide

  32. -
    +

    View Slide

  33. - # => 140.hours
    + # => 4.hours
    a_batch.process_time
    ࣮࿩

    View Slide

  34. ࡱӨͱΜ͔ͭͱΜ͖໨ࠇళ
    ޱ͸ग़͢͠
    ख΋ಈ͔͢

    View Slide

  35. View Slide

  36. View Slide

  37. ྫ͑͹
    ύϑΥʔϚϯενϡʔχϯά

    View Slide

  38. ݕࡧ͸ ൺֱత
    ॏ͍
    ࡱӨ࣮Ոͷۙॴ

    View Slide

  39. master
    repeater repeater
    slave slave slave slave
    cache cache
    apps
    batch
    ˞αʔόͷ਺͸ద౰Ͱ͢
    write
    replication
    read
    page cache

    View Slide

  40. ϖʔδΩϟογϡΛ؏௨ͨ͠
    ϨεϙϯελΠϜΛ؂ࢹ

    View Slide

  41. View Slide

  42. ύϑΥʔϚϯε͕ѱԽͨ͠Β
    ࣮૷ऀͱҰॹʹ௚͢

    View Slide

  43. caches_action Ͱݕࡧ݁Ռ
    ΛΩϟογϡ

    View Slide

  44. ΩϟογϡΛద༻

    View Slide

  45. wrapping up
    ࡱӨΦϑΟε

    View Slide

  46. ࠓ೔࿩͢͜ͱ
    ΫοΫύουͷݕࡧνʔϜͷ
    ͍ͭ΋ͷ࢓ࣄʹ͍ͭͯ࿩͠·͢ɻ

    View Slide

  47. ։ൃ͢Δ
    ӡ༻͢Δ
    ࡱӨΦϑΟε

    View Slide

  48. ࡱӨ෬ݟҴՙେࣾ
    ݹ͍΋ͷΛ
    ৽͍͠΋ͷʹ
    ஔ͖׵͑Δ

    View Slide

  49. ࡱӨͱΜ͔ͭͱΜ͖໨ࠇళ
    ޱ͸ग़͢͠
    ख΋ಈ͔͢

    View Slide

  50. Recipes of Recipe Search
    Ϩγϐݕࡧ։ൃͷϨγϐ
    Shimpei Makimoto, COOKPAD Inc.
    https://github.com/makimoto
    https://twitter.com/makimoto
    13 Jan, 2013 | Tokyo Ruby Kaigi #10
    ࢖༻ॻମখ௩ΰγοΫ130/Yanone Kaffeesatz

    View Slide